diff --git a/cdt/02_installation/index.md b/cdt/02_installation/index.md deleted file mode 100644 index 181808906..000000000 --- a/cdt/02_installation/index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -content_title: Installation ---- - -See README of https://github.com/AntelopeIO/cdt for instructions on how to build and install CDT. diff --git a/cdt/03_command-reference/cdt-abidiff.md b/cdt/03_command-reference/cdt-abidiff.md deleted file mode 100644 index 3fff56ba7..000000000 --- a/cdt/03_command-reference/cdt-abidiff.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -content_title: cdt-abidiff tool ---- - -The cdt-abidiff tool is used to diff two ABI files to flag and output differences. -To report differences with ```cdt-abidiff```, you only need to pass the two ABI file names as command line arguments. - -Example: -```bash -$ cdt-abidiff hello.abi old_hello.abi -``` - -This will generate dump the report output to the console. -``` -OVERVIEW: cdt-abidiff -USAGE: cdt-abidiff [options] ... ... - -OPTIONS: - -Generic Options: - - -help - Display available options (-help-hidden for more) - -help-list - Display list of available options (-help-list-hidden for more) - -version - Display the version of this program -``` diff --git a/cdt/03_command-reference/cdt-cc.md b/cdt/03_command-reference/cdt-cc.md deleted file mode 100644 index 913e94006..000000000 --- a/cdt/03_command-reference/cdt-cc.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -content_title: cdt-cc tool ---- - -To manually compile the source code, use `cdt-cc` and `cdt-ld` as if it were __clang__ and __lld__. All the includes and options specific to Antelope and CDT are baked in. - -``` -USAGE: cdt-cc [options] ... - -OPTIONS: - -Generic Options: - - -help - Display available options (-help-hidden for more) - -help-list - Display list of available options (-help-list-hidden for more) - -version - Display the version of this program - -compiler options: - - -C - Include comments in preprocessed output - -CC - Include comments from within macros in preprocessed output - -D= - Define to (or 1 if omitted) - -E - Only run the preprocessor - -I= - Add directory to include search path - -L= - Add directory to library search path - -MD - Write depfile containing user and system headers - -MF= - Write depfile output - -MMD - Write depfile containing user - -MT= - Specify name of main file output in depfile - -O= - Optimization level s, 0-3 - -R= - Add a resource path for inclusion - -S - Only run preprocess and compilation steps - -U= - Undefine macro - -W= - Enable the specified warning - -abigen - Generate ABI - -abigen_output= - ABIGEN output - -c - Only run preprocess, compile, and assemble steps - -contract= - Contract name - -dD - Print macro definitions in -E mode in addition to normal output - -dI - Print include directives in -E mode in addition to normal output - -dM - Print macro definitions in -E mode instead to normal output - -emit-ast - Emit Clang AST files for source inputs - -emit-llvm - Use the LLVM representation for assembler and object files - -fasm - Assemble file for x86-64 - -fcolor-diagnostics - Use colors in diagnostics - -finline-functions - Inline suitable functions - -finline-hint-functions - Inline functions which are (explicitly or implicitly) marked inline - -fmerge-all-constants - Allow merging of constants - -fnative - Compile and link for x86-64 - -fno-cfl-aa - Disable CFL Alias Analysis - -fno-elide-constructors - Disable C++ copy constructor elision - -fno-lto - Disable LTO - -fno-post-pass - Don't run post processing pass - -fno-stack-first - Don't set the stack first in memory - -fquery - Produce binaries for wasmql - -fquery-client - Produce binaries for wasmql - -fquery-server - Produce binaries for wasmql - -fstack-protector - Enable stack protectors for functions potentially vulnerable to stack smashing - -fstack-protector-all - Force the usage of stack protectors for all functions - -fstack-protector-strong - Use a strong heuristic to apply stack protectors to functions - -fstrict-enums - Enable optimizations based on the strict definition of an enum's value range - -fstrict-return - Always treat control flow paths that fall off the end of a non-void function as unreachable - -fstrict-vtable-pointers - Enable optimizations based on the strict rules for overwriting polymorphic C++ objects - -fuse-main - Use main as entry - -include= - Include file before parsing - -isystem= - Add directory to SYSTEM include search path - -l= - Root name of library to link - -lto-opt= - LTO Optimization level (O0-O3) - -o= - Write output to - -stack-size= - Specifies the maximum stack size for the contract. Defaults to 8192 bytes. - -sysroot= - Set the system root directory - -v - Show commands to run and use verbose output - -w - Suppress all warnings - --warn-action-read-only - Issue a warning if a read-only action uses a write API and continue compilation -``` diff --git a/cdt/03_command-reference/cdt-cpp.md b/cdt/03_command-reference/cdt-cpp.md deleted file mode 100644 index 382f4f485..000000000 --- a/cdt/03_command-reference/cdt-cpp.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -content_title: cdt-cpp tool ---- - -To manually compile the source code, use `cdt-cpp` and `cdt-ld` as if it were __clang__ and __lld__. All the includes and options specific to Antelope and CDT are baked in. - -``` -USAGE: cdt-cpp [options] ... - -OPTIONS: - -Generic Options: - - -help - Display available options (-help-hidden for more) - -help-list - Display list of available options (-help-list-hidden for more) - -version - Display the version of this program - -compiler options: - - -C - Include comments in preprocessed output - -CC - Include comments from within macros in preprocessed output - -D= - Define to (or 1 if omitted) - -E - Only run the preprocessor - -I= - Add directory to include search path - -L= - Add directory to library search path - -MD - Write depfile containing user and system headers - -MF= - Write depfile output - -MMD - Write depfile containing user - -MT= - Specify name of main file output in depfile - -O= - Optimization level s, 0-3 - -R= - Add a resource path for inclusion - -S - Only run preprocess and compilation steps - -U= - Undefine macro - -W= - Enable the specified warning - -abigen - Generate ABI - -abigen_output= - ABIGEN output - -c - Only run preprocess, compile, and assemble steps - -contract= - Contract name - -dD - Print macro definitions in -E mode in addition to normal output - -dI - Print include directives in -E mode in addition to normal output - -dM - Print macro definitions in -E mode instead to normal output - -emit-ast - Emit Clang AST files for source inputs - -emit-llvm - Use the LLVM representation for assembler and object files - -faligned-allocation - Enable C++17 aligned allocation functions - -fasm - Assemble file for x86-64 - -fcolor-diagnostics - Use colors in diagnostics - -fcoroutine-ts - Enable support for the C++ Coroutines TS - -finline-functions - Inline suitable functions - -finline-hint-functions - Inline functions which are (explicitly or implicitly) marked inline - -fmerge-all-constants - Allow merging of constants - -fnative - Compile and link for x86-64 - -fno-cfl-aa - Disable CFL Alias Analysis - -fno-elide-constructors - Disable C++ copy constructor elision - -fno-lto - Disable LTO - -fno-post-pass - Don't run post processing pass - -fno-stack-first - Don't set the stack first in memory - -stack-size - Specifies the maximum stack size for the contract - -fstack-protector - Enable stack protectors for functions potentially vulnerable to stack smashing - -fstack-protector-all - Force the usage of stack protectors for all functions - -fstack-protector-strong - Use a strong heuristic to apply stack protectors to functions - -fstrict-enums - Enable optimizations based on the strict definition of an enum's value range - -fstrict-return - Always treat control flow paths that fall off the end of a non-void function as unreachable - -fstrict-vtable-pointers - Enable optimizations based on the strict rules for overwriting polymorphic C++ objects - -fuse-main - Use main as entry - -include= - Include file before parsing - -isystem= - Add directory to SYSTEM include search path - -l= - Root name of library to link - -lto-opt= - LTO Optimization level (O0-O3) - -o= - Write output to - -std= - Language standard to compile for - -sysroot= - Set the system root directory - -v - Show commands to run and use verbose output - -w - Suppress all warnings - -no-missing-ricardian-clause - Defaults to false, disables warnings for missing Ricardian clauses - --warn-action-read-only - Issue a warning if a read-only action uses a write API and continue compilation -``` - -## Notes - -* `-no-missing-ricardian-clause`: Defaults to false, if enabled, it suppresses warnings for missing Ricardian clauses on contracts and contract actions. That includes the warnings generated when there is no independent Ricardian clause file. diff --git a/cdt/03_command-reference/cdt-init.md b/cdt/03_command-reference/cdt-init.md deleted file mode 100644 index 24d274030..000000000 --- a/cdt/03_command-reference/cdt-init.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -content_title: cdt-init tool ---- - -This tool is used to generate a skeleton smart contract and directory structure. -To generate a new smart contract project you can either generate a "bare" project (no CMake) or the default is to generate a CMake project. - -Example: -```bash -$ cdt-init --path=\destination\path\where\to\generate\project\ --project=hello_contract_folder -``` - -This will generate a project folder `hello_contract_folder` in the path `\destination\path\where\to\generate\project\` containing the skeleton smart contract and directory structure. - -``` -USAGE: cdt-init [options] - -OPTIONS: - -Generic Options: - - -help - Display available options (-help-hidden for more) - -help-list - Display list of available options (-help-list-hidden for more) - -version - Display the version of this program - -cdt-init: -generates a smart contract project - - -bare - produces only a skeleton smart contract without CMake support - -path= - directory to place the project - -project= - output project name -``` diff --git a/cdt/03_command-reference/cdt-ld.md b/cdt/03_command-reference/cdt-ld.md deleted file mode 100644 index f4339e91d..000000000 --- a/cdt/03_command-reference/cdt-ld.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -content_title: cdt-ld tool ---- - -The cdt-ld tool is a the custom web assembly linker for Antelope framework smart contracts. - - -``` -USAGE: cdt-ld [options] ... - -OPTIONS: - -Generic Options: - - -help - Display available options (-help-hidden for more) - -help-list - Display list of available options (-help-list-hidden for more) - -version - Display the version of this program - -ld options: - - -L= - Add directory to library search path - -fasm - Assemble file for x86-64 - -fnative - Compile and link for x86-64 - -fno-cfl-aa - Disable CFL Alias Analysis - -fno-lto - Disable LTO - -fno-post-pass - Don't run post processing pass - -fno-stack-first - Don't set the stack first in memory - -stack-size - Specifies the maximum stack size for the contract - -fuse-main - Use main as entry - -l= - Root name of library to link - -lto-opt= - LTO Optimization level (O0-O3) - -o= - Write output to -``` diff --git a/cdt/04_upgrading/eosio.cdt-to-cdt.md b/cdt/04_upgrading/eosio.cdt-to-cdt.md deleted file mode 100644 index d2e1de573..000000000 --- a/cdt/04_upgrading/eosio.cdt-to-cdt.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -content_title: EOSIO.CDT To CDT ---- - -For this release all of the naming of namespaces and file paths will remain as `eosio`, so there is no need to migrate away from that with this release. - -But there are a few differences. - -1. The tool names have change prefix. I.e. tools like `eosio-cpp` are now `cdt-cpp`. -2. The CMake toolchain file has changed its name from `EosioWasmToolchain.cmake` to `CDTWasmToolchain.cmake`. -3. The library path for the CMake package has changed from `/usr/local/lib/cmake/eosio.cdt` to `/usr/local/lib/cmake/cdt` (or alternatively from `/usr/lib/cmake/eosio.cdt` to `/usr/lib/cmake/cdt` if installing from the Debian package). Additionally, the name to use with CMake `find_package` has similarly changed: use `find_package(cdt)` now instead of `find_package(eosio.cdt)`. diff --git a/cdt/05_features/10_return_values_from_actions.md b/cdt/05_features/10_return_values_from_actions.md deleted file mode 100644 index 2d3e0faf8..000000000 --- a/cdt/05_features/10_return_values_from_actions.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -content_title: Return Values From Actions ---- - -## Overview - -An Antelope blockchain with the `ACTION_RETURN_VALUE` protocol feature activated enables you to return any value from any action. This new feature facilitates easier smart contract implementation debugging, and better messaging between a smart contract and its clients. From now on the clients of a smart contract are able to use the value returned by an action, no more string parsing on the client side and no more print statements in the smart contract implementation. - -## Concept - -When you implement an action within a smart contract use the `return` statement and pass any value to the action sender. The returned value can be of any C++ primitive type, any C++ standard library type, or any user defined type. The `Antelope` framework does all the work necessary to serialize the value returned and send it back to the client. On the client side you deserialize the received value and access it the same way you access any other function’s return value. - -## Details - -The following list provides important details for when you return a value from an action: - -* As mentioned above, the `Antelope` framework does all the heavy lifting for the return value to convey it to the client. The `Antelope` framework defines and uses a new intrinsic, namely `set_action_return_value`. To learn more about `Antelope` returned values functionality, refer to its documentation and [implementation](https://github.com/AntelopeIO/cdt/blob/develop/libraries/native/intrinsics.cpp#L295). -* The CPU time and memory limit of your contract (maximum size of wasm), not RAM or NET, defines the limits of the returned value.. -* The action receipt includes a hash of the serialized returned value. -* The action trace includes the serialized returned value. -* If the trace log is enabled, the state history trace logs also store the serialized returned value. -* If the trace api plugin is enabled, the trace api trace logs also store the serialized returned value. -* The returned value is available in the action trace. If the sender is another action, the action trace is not available to the sender action `code`. Therefore the returned value from an inline action can not be read by the action that sent the inline action. -* Also inline actions do not execute synchronously. Inline actions execute at a later time. No return value is available to the sender at the time the inline action is sent. - -## Examples - -For a full working example of a smart contract action which returns a value, refer to the following resources: - -* The [`hello`](https://github.com/AntelopeIO/cdt/blob/develop/examples/hello/src/hello.cpp#L14) smart contract example, see action `hello::checkwithrv`. -* The [How-to return values from actions](../06_how-to-guides/60_how-to-return-values-from-actions.md). diff --git a/cdt/05_features/30_binary-extension.md b/cdt/05_features/30_binary-extension.md deleted file mode 100644 index 612a22a10..000000000 --- a/cdt/05_features/30_binary-extension.md +++ /dev/null @@ -1,720 +0,0 @@ ---- -content_title: The eosio::binary_extension Type ---- - -Let's fully explain what the `eosio::binary_extension` type is, what it does, and why we need it for contract upgrades in certain situations. - -You can find the implementation of `eosio::binary_extension` within the CDT repository in the file: `libraries/eosiolib/core/eosio/binary_extension.hpp`. - -Our primary concern when using this type is when we are adding a new field to a smart contract's data structure that is currently utilized in an `eosio::multi_index` type (AKA a _table_), or when adding a new parameter to an action declaration. - -By wrapping the new field in an `eosio::binary_extension`, you are enabling your contract to be backwards compatible for future use. Note that this new field/parameter **MUST** be appended at the end of a data structure (this is due to implementation details in `eosio::multi_index`, which relies on the `boost::multi_index` type), or at the end of the parameter list in an action declaration. - -If you don't wrap the new field in an `eosio::binary_extension`, the `eosio::multi_index` table will be reformatted in such a way that disallows reads to the former datum; or in an action's case, the function will be uncallable. - -
- -But let's see how the `eosio::binary_extension` type works with a good example. - -Take a moment to study this smart contract and its corresponding `.abi`. - -This contract not only serves as a good example to the `eosio::binary_extension` type, but can also be used as a gateway for developing smart contracts on the eosio protocol. - -**binary_extension_contract.hpp** - -```c++ -#include // eosio::contract -#include // eosio::binary_extension -#include // eosio::datastream -#include // eosio::name -#include // eosio::indexed_by, eosio::multi_index -#include // eosio::print_f - -class [[eosio::contract]] binary_extension_contract : public eosio::contract { -public: - using contract::contract; - binary_extension_contract(eosio::name receiver, eosio::name code, eosio::datastream ds) - : contract{receiver, code, ds}, _table{receiver, receiver.value} - { } - - [[eosio::action]] void regpkey (eosio::name primary_key); ///< Register primary key. - [[eosio::action]] void printbyp(eosio::name primary_key); ///< Print by primary key. - [[eosio::action]] void printbys(eosio::name secondary_key); ///< Print by secondary key. - [[eosio::action]] void modifyp (eosio::name primary_key, eosio::name n); ///< Modify primary key by primary key. - [[eosio::action]] void modifys (eosio::name primary_key, eosio::name n); ///< Modify secondary key by primary key. - - struct [[eosio::table]] structure { - eosio::name _primary_key; - eosio::name _secondary_key; - - uint64_t primary_key() const { return _primary_key.value; } - uint64_t secondary_key() const { return _secondary_key.value; } - }; - - using index1 = eosio::indexed_by<"index1"_n, eosio::const_mem_fun>; - using index2 = eosio::indexed_by<"index2"_n, eosio::const_mem_fun>; - using table = eosio::multi_index<"table"_n, structure, index1, index2>; - -private: - table _table; -}; - -``` - -**binary_extension_contract.cpp** - -```c++ -#include "binary_extension_contract.hpp" - -using eosio::name; - -[[eosio::action]] void binary_extension_contract::regpkey(name primary_key) { - eosio::print_f("`regpkey` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; ///< `index` represents `_table` organized by `index1`. - auto iter {index.find(primary_key.value) }; ///< Note: the type returned by `index.find` is different than the type returned by `_table.find`. - - if (iter == _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % not found; registering.\n", primary_key.to_string()); - _table.emplace(_self, [&](auto& row) { - row._primary_key = primary_key; - row._secondary_key = "nothin"_n; - }); - } - else { - eosio::print_f("`_primary_key`: % found; not registering.\n", primary_key.to_string()); - } - - eosio::print_f("`regpkey` finished executing.\n"); -} - -[[eosio::action]] void binary_extension_contract::printbyp(eosio::name primary_key) { - eosio::print_f("`printbyp` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; - auto iter {index.find(primary_key.value) }; - - if (iter != _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % found; printing.\n", primary_key.to_string()); - eosio::print_f("{%, %}\n", iter->_primary_key, iter->_secondary_key); - } - else { - eosio::print_f("`_primary_key`: % not found; not printing.\n", primary_key.to_string()); - } - - eosio::print_f("`printbyp` finished executing.\n"); -} - -[[eosio::action]] void binary_extension_contract::printbys(eosio::name secondary_key) { - eosio::print_f("`printbys` executing.\n"); - - auto index{_table.get_index<"index2"_n>()}; - auto iter {index.find(secondary_key.value)}; - - if (iter != _table.get_index<"index2"_n>().end()) { - eosio::print_f("`_secondary_key`: % found; printing.\n", secondary_key.to_string()); - printbyp(iter->_primary_key); - } - else { - eosio::print_f("`_secondary_key`: % not found; not printing.\n", secondary_key.to_string()); - } - - eosio::print_f("`printbys` finished executing.\n"); -} - -[[eosio::action]] void binary_extension_contract::modifyp(eosio::name primary_key, name n) { - eosio::print_f("`modifyp` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; - auto iter {index.find(primary_key.value)}; - - if (iter != _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % found; modifying `_primary_key`.\n", primary_key.to_string()); - index.modify(iter, _self, [&](auto& row) { - row._primary_key = n; - }); - } - else { - eosio::print_f("`_primary_key`: % not found; not modifying `_primary_key`.\n", primary_key.to_string()); - } - - eosio::print_f("`modifyp` finished executing.\n"); -} - -[[eosio::action]] void binary_extension_contract::modifys(eosio::name primary_key, name n) { - eosio::print_f("`modifys` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; - auto iter {index.find(primary_key.value)}; - - if (iter != _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % found; modifying `_secondary_key`.\n", primary_key.to_string()); - index.modify(iter, _self, [&](auto& row) { - row._secondary_key = n; - }); - } - else { - eosio::print_f("`_primary_key`: % not found; not modifying `_secondary_key`.\n", primary_key.to_string()); - } - - eosio::print_f("`modifys` finished executing.\n"); -} -``` - -**binary_extension_contract.abi** - -```javascript -{ - "____comment": "This file was generated with eosio-abigen. DO NOT EDIT ", - "version": "eosio::abi/1.1", - "types": [], - "structs": [ - { - "name": "modifyp", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - }, - { - "name": "n", - "type": "name" - } - ] - }, - { - "name": "modifys", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - }, - { - "name": "n", - "type": "name" - } - ] - }, - { - "name": "printbyp", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - } - ] - }, - { - "name": "printbys", - "base": "", - "fields": [ - { - "name": "secondary_key", - "type": "name" - } - ] - }, - { - "name": "regpkey", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - } - ] - }, - { - "name": "structure", - "base": "", - "fields": [ - { - "name": "_primary_key", - "type": "name" - }, - { - "name": "_secondary_key", - "type": "name" - } - ] - } - ], - "actions": [ - { - "name": "modifyp", - "type": "modifyp", - "ricardian_contract": "" - }, - { - "name": "modifys", - "type": "modifys", - "ricardian_contract": "" - }, - { - "name": "printbyp", - "type": "printbyp", - "ricardian_contract": "" - }, - { - "name": "printbys", - "type": "printbys", - "ricardian_contract": "" - }, - { - "name": "regpkey", - "type": "regpkey", - "ricardian_contract": "" - } - ], - "tables": [ - { - "name": "table", - "type": "structure", - "index_type": "i64", - "key_names": [], - "key_types": [] - } - ], - "ricardian_clauses": [], - "variants": [] -} -``` - -
- -Take note of the action `regpkey`, and the struct `structure` in `con.hpp` and `con.cpp`; the parts of the contract we will be upgrading. - -**binary_extension_contract.hpp** - -```c++ -[[eosio::action]] void regpkey (eosio::name primary_key); -``` - -```c++ -struct [[eosio::table]] structure { - eosio::name _primary_key; - eosio::name _secondary_key; - - uint64_t primary_key() const { return _primary_key.value; } - uint64_t secondary_key() const { return _secondary_key.value; } -}; -``` - -**binary_extension_contract.cpp** - -```c++ -[[eosio::action]] void binary_extension_contract::regpkey(name primary_key) { - eosio::print_f("`regpkey` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; ///< `index` represents `_table` organized by `index1`. - auto iter {index.find(primary_key.value) }; ///< Note: the type returned by `index.find` is different than the type returned by `_table.find`. - - if (iter == _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % not found; registering.\n", primary_key.to_string()); - _table.emplace(_self, [&](auto& row) { - row._primary_key = primary_key; - row._secondary_key = "nothin"_n; - }); - } - else { - eosio::print_f("`_primary_key`: % found; not registering.\n", primary_key.to_string()); - } - - eosio::print_f("`regpkey` finished executing.\n"); -} -``` - -Find below their corresponding sections in the `.abi` files: - -**binary_extension_contract.abi** - -```javascript -{ - "name": "regpkey", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - } - ] -} -``` - -```javascript -{ - "name": "structure", - "base": "", - "fields": [ - { - "name": "_primary_key", - "type": "name" - }, - { - "name": "_secondary_key", - "type": "name" - } - ] -} -``` - -
- -Now, let's start up a blockchain instance, compile this smart contract, and test it out. - -``` -~/binary_extension_contract $ cdt-cpp binary_extension_contract.cpp -o binary_extension_contract.wasm -``` - -``` -~/binary_extension_contract $ cleos set contract eosio ./ -``` - -``` -Reading WASM from /Users/john.debord/binary_extension_contract/binary_extension_contract.wasm... -Publishing contract... -executed transaction: 6c5c7d869a5be67611869b5f300bc452bc57d258d11755f12ced99c7d7fe154c 4160 bytes 729 us -# eosio <= eosio::setcode "0000000000ea30550000d7600061736d01000000018f011760000060017f0060027f7f0060037f7f7f017f6000017e60067... -# eosio <= eosio::setabi "0000000000ea3055d1020e656f73696f3a3a6162692f312e310006076d6f646966797000020b7072696d6172795f6b65790... -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -Next, let's push some data to our contract. - -``` -~/binary_extension_contract $ cleos push action eosio regpkey '{"primary_key":"eosio.name"}' -p eosio -``` - -``` -executed transaction: 3c708f10dcbf4412801d901eb82687e82287c2249a29a2f4e746d0116d6795f0 104 bytes 248 us -# eosio <= eosio::regpkey {"primary_key":"eosio.name"} -[(eosio,regpkey)->eosio]: CONSOLE OUTPUT BEGIN ===================== -`regpkey` executing. -`_primary_key`: eosio.name not found; registering. -`regpkey` finished executing. -[(eosio,regpkey)->eosio]: CONSOLE OUTPUT END ===================== -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -Finally, let's read back the data we have just written. - -``` -~/binary_extension_contract $ cleos push action eosio printbyp '{"primary_key":"eosio.name"}' -p eosio -``` - -``` -executed transaction: e9b77d3cfba322a7a3a93970c0c883cb8b67e2072a26d714d46eef9d79b2f55e 104 bytes 227 us -# eosio <= eosio::printbyp {"primary_key":"eosio.name"} -[(eosio,printbyp)->eosio]: CONSOLE OUTPUT BEGIN ===================== -`printbyp` executing. -`_primary_key`: eosio.name found; printing. -{eosio.name, nothin} -`printbyp` finished executing. -[(eosio,printbyp)->eosio]: CONSOLE OUTPUT END ===================== -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -
- -Now, let's upgrade the smart contract by adding a new field to the table and a new parameter to an action while **NOT** wrapping the new field/parameter in an `eosio::binary_extension` type and see what happens: - -**binary_extension_contract.hpp** - -```diff -+[[eosio::action]] void regpkey (eosio::name primary_key, eosio::name secondary_key); --[[eosio::action]] void regpkey (eosio::name primary_key); -``` - -```diff -struct [[eosio::table]] structure { - eosio::name _primary_key; - eosio::name _secondary_key; -+ eosio::name _non_binary_extension_key; - - uint64_t primary_key() const { return _primary_key.value; } - uint64_t secondary_key() const { return _secondary_key.value; } -}; -``` - -**binary_extension_contract.cpp** - -```diff -+[[eosio::action]] void binary_extension_contract::regpkey(name primary_key, name secondary_key) { --[[eosio::action]] void binary_extension_contract::regpkey(name primary_key) { - eosio::print_f("`regpkey` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; ///< `index` represents `_table` organized by `index1`. - auto iter {index.find(primary_key.value) }; ///< Note: the type returned by `index.find` is different than the type returned by `_table.find`. - - if (iter == _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % not found; registering.\n", primary_key.to_string()); - _table.emplace(_self, [&](auto& row) { - row._primary_key = primary_key; -+ if (secondary_key) { -+ row._secondary_key = secondary_key; -+ } -+ else { - row._secondary_key = "nothin"_n; -+ } - }); - } - else { - eosio::print_f("`_primary_key`: % found; not registering.\n", primary_key.to_string()); - } - - eosio::print_f("`regpkey` finished executing.\n"); -} -``` - -**binary_extension_contract.abi** -```diff -{ - "name": "regpkey", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" -+ }, -+ { -+ "name": "secondary_key", -+ "type": "name" - } - ] -} -``` - -```diff -{ - "name": "structure", - "base": "", - "fields": [ - { - "name": "_primary_key", - "type": "name" - }, - { - "name": "_secondary_key", - "type": "name" -+ }, -+ { -+ "name": "_non_binary_extension_key", -+ "type": "name" - } - ] -} -``` - -Next, let's upgrade the contract and try to read from our table and write to our table the original way: - -``` -~/binary_extension_contract $ cdt-cpp binary_extension_contract.cpp -o binary_extension_contract.wasm -``` - -``` -~/binary_extension_contract $ cleos set contract eosio ./ -``` - -``` -Reading WASM from /Users/john.debord/binary_extension_contract/binary_extension_contract.wasm... -Publishing contract... -executed transaction: b8ea485842fa5645e61d35edd97e78858e062409efcd0a4099d69385d9bc6b3e 4408 bytes 664 us -# eosio <= eosio::setcode "0000000000ea30550000a2660061736d01000000018f011760000060017f0060027f7f0060037f7f7f017f6000017e60067... -# eosio <= eosio::setabi "0000000000ea305583030e656f73696f3a3a6162692f312e310006076d6f646966797000020b7072696d6172795f6b65790... -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -``` -~/binary_extension_contract $ cleos push action eosio printbyp '{"primary_key":"eosio.name"}' -p eosio -``` - -``` -Error 3050003: eosio_assert_message assertion failure -Error Details: -assertion failure with message: read -``` - -Whoops! We aren't able to read the data we've previously written to our table! - -``` -~/binary_extension_contract $ cleos push action eosio regpkey '{"primary_key":"eosio.name2"}' -p eosio -``` - -``` -Error 3015014: Pack data exception -Error Details: -Missing field 'secondary_key' in input object while processing struct 'regpkey' -``` - -Whoops! We aren't able to write to our table the original way with the upgraded action either! - -
- -Ok, let's back up and wrap the new field and the new action parameter in an `eosio::binary_extension` type: - -**binary_extension_contract.hpp** - -```diff -+[[eosio::action]] void regpkey (eosio::name primary_key. eosio::binary_extension secondary_key); --[[eosio::action]] void regpkey (eosio::name primary_key, eosio::name secondary_key); -``` - -```diff -struct [[eosio::table]] structure { - eosio::name _primary_key; - eosio::name _secondary_key; -+ eosio::binary_extension _binary_extension_key; -- eosio::name _non_binary_extension_key; - - uint64_t primary_key() const { return _primary_key.value; } - uint64_t secondary_key() const { return _secondary_key.value; } -}; -``` - -**binary_extension_contract.cpp** - -```diff -+[[eosio::action]] void binary_extension_contract::regpkey(name primary_key, binary_extension secondary_key) { --[[eosio::action]] void binary_extension_contract::regpkey(name primary_key, name secondary_key) { - eosio::print_f("`regpkey` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; ///< `index` represents `_table` organized by `index1`. - auto iter {index.find(primary_key.value) }; ///< Note: the type returned by `index.find` is different than the type returned by `_table.find`. - - if (iter == _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % not found; registering.\n", primary_key.to_string()); - _table.emplace(_self, [&](auto& row) { - row._primary_key = primary_key; - if (secondary_key) { -+ row._secondary_key = secondary_key.value(); -- row._secondary_key = secondary_key; - } - else { - row._secondary_key = "nothin"_n; - } - }); - } - else { - eosio::print_f("`_primary_key`: % found; not registering.\n", primary_key.to_string()); - } - - eosio::print_f("`regpkey` finished executing.\n"); -} -``` - -**binary_extension_contract.abi** -```diff -{ - "name": "regpkey", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - }, - { - "name": "secondary_key", -+ "type": "name$" -- "type": "name" - } - ] -} -``` - -```diff -{ - "name": "structure", - "base": "", - "fields": [ - { - "name": "_primary_key", - "type": "name" - }, - { - "name": "_secondary_key", - "type": "name" - }, - { -+ "name": "_binary_extension_key", -+ "type": "name$" -- "name": "_non_binary_extension_key", -- "type": "name" - } - ] -} -``` - -Note the `$` after the types now; this indicates that this type is an `eosio::binary_extension` type field. -```diff -{ - "name": "secondary_key", -+ "type": "name$" -- "type": "name" -} -``` - -```diff -{ - "name": "_binary_extension_key", -+ "type": "name$" -- "type": "name" -} -``` - -Now, let's upgrade the contract again and try to read/write from/to our table: - -``` -~/binary_extension_contract $ cleos set contract eosio ./ -``` - -``` -Reading WASM from /Users/john.debord/binary_extension_contract/binary_extension_contract.wasm... -Publishing contract... -executed transaction: 497584d4e43ec114dbef83c134570492893f49eacb555d0cd47d08ea4a3a72f7 4696 bytes 648 us -# eosio <= eosio::setcode "0000000000ea30550000cb6a0061736d01000000018f011760000060017f0060027f7f0060037f7f7f017f6000017e60017... -# eosio <= eosio::setabi "0000000000ea305581030e656f73696f3a3a6162692f312e310006076d6f646966797000020b7072696d6172795f6b65790... -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -``` -~/binary_extension_contract $ cleos push action eosio printbyp '{"primary_key":"eosio.name"}' -p eosio -``` - -``` -executed transaction: 6108f3206e1824fe3a1fdcbc2fe733f38dc07ae3d411a1ccf777ecef56ddec97 104 bytes 224 us -# eosio <= eosio::printbyp {"primary_key":"eosio.name"} -[(eosio,printbyp)->eosio]: CONSOLE OUTPUT BEGIN ===================== -`printbyp` executing. -`_primary_key`: eosio.name found; printing. -{eosio.name, nothin} -`printbyp` finished executing. -[(eosio,printbyp)->eosio]: CONSOLE OUTPUT END ===================== -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -``` -~/binary_extension_contract $ cleos push action eosio regpkey '{"primary_key":"eosio.name2"}' -p eosio -``` - -``` -executed transaction: 75a135d1279a9c967078b0ebe337dc0cd58e1ccd07e370a899d9769391509afc 104 bytes 227 us -# eosio <= eosio::regpkey {"primary_key":"eosio.name2"} -[(eosio,regpkey)->eosio]: CONSOLE OUTPUT BEGIN ===================== -`regpkey` executing. -`_primary_key`: eosio.name2 not found; registering. -`regpkey` finished executing. -[(eosio,regpkey)->eosio]: CONSOLE OUTPUT END ===================== -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -Nice! The smart contract is now backwards compatible for the future use of its tables and/or actions. - -
- -Just keep these simple rules in mind when upgrading a smart contract. -If you are adding a new field to a struct currently in use by a `eosio::multi_index` be **SURE** to: -- add the field at the end of the struct. -- wrap the type using an `eosio::binary_extension` type. diff --git a/cdt/05_features/40_native-tester-compilation.md b/cdt/05_features/40_native-tester-compilation.md deleted file mode 100644 index 216b8e2e5..000000000 --- a/cdt/05_features/40_native-tester-compilation.md +++ /dev/null @@ -1,122 +0,0 @@ ---- -content_title: Native Tester And Compilation ---- - -As of v1.5.0 native compilation can be performed and a new set of libraries to facilitate native testing and native "scratch pad" compilation. [`cdt-cc`](../03_command-reference/cdt-cc.md), [`cdt-cpp`](../03_command-reference/cdt-cpp.md) and [`cdt-ld`](../03_command-reference/cdt-ld.md) now support building "smart contracts" and unit tests natively for quick tests to help facilitate faster development (note the default implementations of a lot of the Antelope intrinsics (aka host functions) are currently asserts that state they are unavailable, these are user definable.) - -## Getting Started -Once you have your smart contract written then a test source file can be written. - -`hello.hpp` -```c++ -#include - -using namespace eosio; - -class [[eosio::contract]] hello : public eosio::contract { - public: - using contract::contract; - - [[eosio::action]] void hi( name user ); - - // accessor for external contracts to easily send inline actions to your contract - using hi_action = action_wrapper<"hi"_n, &hello::hi>; -}; -``` - -and then a quick test -`hello_test.cpp` -```c++ -#include -#include - -#include - -using namespace eosio; -using namespace eosio::native; - -EOSIO_TEST_BEGIN(hello_test) - // These can be redefined by the user to suit there needs per unit test - // the idea is that in a future release there will be a base library that - // initializes these to "useable" default implementations and probably - // helpers to more easily define read_action_data and action_data_size intrinsics - // like these" - intrinsics::set_intrinsic( - [](void* m, uint32_t len) { - check(len <= sizeof(eosio::name), "failed from read_action_data"); - *((eosio::name*)m) = "hello"_n; - return len; - }); - - intrinsics::set_intrinsic( - []() { - return (uint32_t)sizeof(eosio::name); - }); - - intrinsics::set_intrinsic( - [](capi_name nm) { - }); - - - // "Name : hello" should be in the print buffer - CHECK_PRINT("Name : hello", - []() { - apply("test"_n.value, "test"_n.value, "hi"_n.value); - }); - - // should not assert - apply("test"_n.value, "test"_n.value, "check"_n.value); - - name nm = "null"_n; - intrinsics::set_intrinsic( - [&](void* m, uint32_t len) { - check(len <= sizeof(eosio::name), "failed from read_action_data"); - *((eosio::name*)m) = nm; - return len; - }); - - REQUIRE_ASSERT( "check name not equal to `hello`", - []() { - // should assert - apply("test"_n.value, "test"_n.value, "check"_n.value); - }); - -EOSIO_TEST_END - -// boilerplate main, this will be generated in a future release -int main(int argc, char** argv) { - silence_output(true); - EOSIO_TEST(hello_test); - return has_failed(); -} -``` - -Every `intrinsic` that is defined for eosio (prints, require_auth, etc.) is re-definable given the `intrinsics::set_intrinsics()` functions. These take a lambda whose arguments and return type should match that of the intrinsic you are trying to define. This gives the contract writer the flexibility to modify behavior to suit the unit test being written. A sister function `intrinsics::get_intrinsics()` will return the function object that currently defines the behavior for said intrinsic. This pattern can be used to mock functionality and allow for easier testing of smart contracts. For more information see, either the [tests](https://github.com/AntelopeIO/cdt/tree/main/examples/hello/tests/) directory or [hello_test.cpp](https://github.com/AntelopeIO/cdt/blob/main/examples/hello/tests/hello_test.cpp) for working examples. - -## Compiling Native Code -- Raw `cdt-cpp` to compile the test or program the only addition needed to the command line is to add the flag `-fnative` this will then generate native code instead of `wasm` code. -- Via CMake - - `add_native_library` and `add_native_executable` CMake macros have been added (these are a drop in replacement for add_library and add_executable). - -## CDT Native Tester API -- CHECK_ASSERT(...) : This macro will check whether a particular assert has occured and flag the tests as failed but allow the rest of the tests to run. - - This is called either by - - `CHECK_ASSERT("", [](){ whatever_function(); })` - - `CHECK_ASSERT([](std::string msg){ user defined comparison function }, [](){ whatever_function(); })` -- CHECK_PRINT(...) : This macro will check whether the print buffer holds the string that is expected and flag the tests as failed but allow the rest of the test to run. - - This is called either by - - `CHECK_PRINT("", [](){ whatever_function(); })` - - `CHECK_PRINT([](std::string print_buffer){ user defined comparison function }, [](){ whatever_function(); })` -- CHECK_EQUAL(X, Y) : This macro will check whether two inputs equal eachother and fail the test but allow the rest of the test to continue. -- REQUIRE_ASSERT(...) : This macro will check whether a particular assert has occured and flag the tests as failed and halt the test on failure. - - This is called either by - - `REQUIRE_ASSERT("", [](){ whatever_function(); })` - - `REQUIRE_ASSERT([](std::string msg){ user defined comparison function }, [](){ whatever_function(); })` -- REQUIRE_PRINT(...) : This macro will check whether the print buffer holds the string that is expected and flag the tests as failed and halt the test on failure. - - This is called either by - - `REQUIRE_PRINT("", [](){ whatever_function(); })` - - `REQUIRE_PRINT([](std::string print_buffer){ user defined comparison function }, [](){ whatever_function(); })` -- REQUIRE_EQUAL(X, Y) : This macro will check whether two inputs `X` and `Y` equal eachother and fail the test and halt the test on failure. -- EOSIO_TEST_BEGIN(X) : This macro defines the beginning of a unit test and assigns `X` as the symbolic name of that test. -- EOSIO_TEST_END : This macro defines the end of a unit test. -- EOSIO_TEST(X) : This is used to run a particular named unit test `X` in the main function. diff --git a/cdt/05_features/50_crypto-extensions.md b/cdt/05_features/50_crypto-extensions.md deleted file mode 100644 index 414517be8..000000000 --- a/cdt/05_features/50_crypto-extensions.md +++ /dev/null @@ -1,241 +0,0 @@ ---- -content_title: Crypto Extensions ---- - -As of `v3.0` crypto host functions were extended to include -- `mod_exp`: Big integer modular exponentiation -- `alt_bn128_add`, `alt_bn128_mul`, `alt_bn128_pair`: Add, multiply, and pairing check functions for the `alt_bn128` elliptic curve -- `blake2_f`: `BLAKE2b F` compression function -- `sha3`: sha3` hash function using `SHA3 NIST` -- `Keccak256`: `sha3` hash function using `SHA3 Keccak` -- `k1_recover`: Safe `ECDSA` uncompressed pubkey recover for the `secp256k1` curve - -In `v3.0`, `C` format was supported; in `v3.1`, `C++` format was added for better data abstraction. - -## Prerequisites - -- In `nodeos`, activate protocol feature `CRYPTO_PRIMITIVES` (`68d6405cb8df3de95bd834ebb408196578500a9f818ff62ccc68f60b932f7d82`) -- In smart contract code, include `crypto_ext.hpp` - -## C Format - -- `int32_t alt_bn128_add( const char* op1, uint32_t op1_len, const char* op2, uint32_t op2_len, char* result, uint32_t result_len )` -Perform addition operation on the elliptic curve `alt_bn128`, store the result in `result`, and return `0` if success otherwise `-1` -- `int32_t alt_bn128_mul( const char* g1, uint32_t g1_len, const char* scalar, uint32_t scalar_len, char* result, uint32_t result_len )` -Perform scalar multiplication operation on the elliptic curve `alt_bn128` -- `int32_t alt_bn128_pair( const char* pairs, uint32_t pairs_len )` -Perform Optimal-Ate pairing check elliptic curve `alt_bn128`, and return `0` if `true` and successful, `1` if `false`, otherwise `-1` -- `int32_t mod_exp( const char* base, uint32_t base_len, const char* exp, uint32_t exp_len, const char* mod, uint32_t mod_len, char* result, uint32_t result_len )` -Calculate `( BASE^EXP ) % MOD`, store in `result`, and return `0` if successful, otherwise `-1` -- `int32_t blake2_f( uint32_t rounds, const char* state, uint32_t state_len, const char* msg, uint32_t msg_len, const char* t0_offset, uint32_t t0_len, const char* t1_offset, uint32_t t1_len, int32_t final, char* result, uint32_t result_len)` -Implement BLAKE2 compression function `F`. Return `0` if success otherwise `-1` -- `eosio::checksum256 sha3(const char* data, uint32_t length)` -Return hash of `data` using `SHA3 NIST` -- `void assert_sha3(const char* data, uint32_t length, const eosio::checksum256& hash)` -Test if the SHA3 hash generated from data matches the provided digest -- `eosio::checksum256 keccak(const char* data, uint32_t length)` -Return hash of `data` using `SHA3 Keccak` -- `void assert_keccak(const char* data, uint32_t length, const eosio::checksum256& hash) -Test if the SHA3 keccak hash generated from data matches the provided digest -- `int32_t k1_recover( const char* sig, uint32_t sig_len, const char* dig, uint32_t dig_len, char* pub, uint32_t pub_len )` -Calculates the uncompressed public key used for a given signature on a given digest. Return `0` if success otherwise `-1` - -## C++ Format - -C++ types were added to represent `G1` and `G2` points (read and write) and views (read-only), and represent big integers. Their definitions are - -### Types - -```c++ - /** - * Abstracts mutable G1 and G2 points - * - */ - template - struct ec_point { - /** - * Bytes of the x coordinate - */ - std::vector x; - - /** - * Bytes of the y coordinate - */ - std::vector y; - - /** - * Construct a point given x and y - * - * @param x_ - The x coordinate, a vector of chars - * @param y_ - The y coordinate, a vector of chars - */ - ec_point(std::vector& x_, std::vector& y_); - - /** - * Construct a point given a serialized point - * - * @param p - The serialized point - */ - ec_point(std::vector& p); - - /** - * Return serialzed point containing only x and y - */ - std::vector serialized() const; - }; - - /** - * Abstracts read-only G1 and G2 points - */ - template - struct ec_point_view { - /** - * Pointer to the x coordinate - */ - const char* x; - - /** - * Pointer to the y coordinate - */ - const char* y; - - /** - * Number of bytes in each of x and y - */ - uint32_t size; - - /** - * Construct a point view from x and y - * - * @param x_ - The x coordinate, poiter to chars - * @param x_size - x's size - * @param y_ - The y coordinate, poiter to chars - * @param y_size - y's size - */ - ec_point_view(const char* x_, uint32_t x_size, const char* y_, uint32_t y_size); - - /** - * Construct a point view from a serialized point - * - * @param p - The serialized point - */ - ec_point_view(const std::vector& p); - - /** - * Construct a point view from a point - * - * @param p - The point - */ - ec_point_view(const ec_point& p); - - /** - * Return serialzed point containing only x and y - */ - std::vector serialized() const; - }; - - static constexpr size_t g1_coordinate_size = 32; - static constexpr size_t g2_coordinate_size = 64; - - using g1_point = ec_point; - using g2_point = ec_point; - using g1_point_view = ec_point_view; - using g2_point_view = ec_point_view; - - /** - * Big integer. - * - * @ingroup crypto - */ - using bigint = std::vector; -``` - -### Methods - -- `alt_bn128_add` -```c++ - template - g1_point alt_bn128_add( const T& op1, const T& op2 ) -``` -Take two G1 points or G1 views as input and return a G1 point. -- `alt_bn128_mul` -```c++ - template - g1_point alt_bn128_mul( const T& g1, const bigint& scalar) -``` -Take a G1 point or view and a bigint as input and return a G1 point -- `alt_bn128_pair` -```c++ - template - int32_t alt_bn128_pair( const std::vector>& pairs ) -``` -Take a pair of G1 and G2 as input. -- `mod_exp` -```c++ - int32_t mod_exp( const bigint& base, const bigint& exp, const bigint& mod, bigint& result ) -``` -Take bigints as input - -### Examples - -- `alt_bn128_add` -```c++ - std::vector x1, y1, x2, y2; - - // point - eosio::g1_point point1 {x1, y1}; - eosio::g1_point point2 {x2, y2}; - auto result = eosio::alt_bn128_add(point1, point2); - - // view - eosio::g1_point_view point_view1 {x1.data(), x1.size(), y1.data(), y1.size()}; - eosio::g1_point_view point_view2 {x2.data(), x2.size(), y2.data(), y2.size()}; - result = eosio::alt_bn128_add(point_view1, point_view2); -``` - -- `alt_bn128_mul` -```c++ - std::vector x, y, scaler; - eosio::bigint s {scalar}; - - // point - eosio::g1_point g1_point {x, y}; - auto result = eosio::alt_bn128_mul(g1_point, s); - - // view - eosio::g1_point_view g1_view {x.data(), x.size(), y.data(), y.size()}; - result = eosio::alt_bn128_mul(g1_view, s); -``` - -- `alt_bn128_pair` -```c++ - std::vector g1_a_x, g1_a_y, g2_a_x, g2_a_y, g1_b_x, g1_b_y, g2_b_x, g2_b_y; - - - // point - eosio::g1_point g1_a {g1_a_x, g1_a_y}; - eosio::g2_point g2_a {g2_a_x, g2_a_y}; - eosio::g1_point g1_b {g1_b_x, g1_b_y}; - eosio::g2_point g2_b {g2_b_x, g2_b_y}; - std::vector> pairs { {g1_a, g2_a}, {g1_b, g2_b} }; - auto result = eosio::alt_bn128_pair(pairs); - - // view - eosio::g1_point_view g1_view_a {g1_a_x.data(), g1_a_x.size(), g1_a_y.data(), g1_a_y.size()}; - eosio::g2_point_view g2_view_a {g2_a_x.data(), g2_a_x.size(), g2_a_y.data(), g2_a_y.size()}; - eosio::g1_point_view g1_view_b {g1_b_x.data(), g1_b_x.size(), g1_b_y.data(), g1_b_y.size()}; - eosio::g2_point_view g2_view_b {g2_b_x.data(), g2_b_x.size(), g2_b_y.data(), g2_b_y.size()}; - std::vector> view_pairs { {g1_a, g2_a}, {g1_b, g2_b} }; - result = eosio::alt_bn128_pair(view_pairs); -``` - -- `mod_exp` -```c++ - std::vector base, exp, modulo; - eosio::bigint base_val {base}; - eosio::bigint exp_val {exp}; - eosio::bigint modulo_val {modulo}; - eosio::bigint result( modulo.size(), '\0' ); - - auto rc = eosio::mod_exp(base_val, exp_val, modulo_val, result); -``` diff --git a/cdt/05_features/99_deferred_transactions.md b/cdt/05_features/99_deferred_transactions.md deleted file mode 100644 index 12e5d82c5..000000000 --- a/cdt/05_features/99_deferred_transactions.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -content_title: Deferred Transactions ---- - -Deferred communication conceptually takes the form of action notifications sent to a peer transaction. Deferred actions get scheduled to run, at best, at a later time, at the producer's discretion. There is no guarantee that a deferred action will be executed. - -As already mentioned, deferred communication will get scheduled later at the producer's discretion. From the perspective of the originating transaction, i.e., the transaction that creates the deferred transaction, it can only determine whether the create request was submitted successfully or whether it failed (if it fails, it will fail immediately). Deferred transactions carry the authority of the contract that sends them. A transaction can cancel a deferred transaction. - -[[warning | Deferred Transactions Are Deprecated]] -| As of [EOSIO 2.0 RC1](https://github.com/EOSIO/eos/releases/tag/v2.0.0-rc1) deferred transactions are deprecated. - -Due to the above described behaviors it is not recommended to use `deferred transactions`. - -[[warning | Duplicate deferred transaction IDs]] -| In earlier versions, prior to `v1.8.0`, it is possible to observe rare deferred transaction ID collisions because technically the protocol's validation rules allow any number of duplicate deferred transaction IDs. However, the block producing code prior to `v1.8.0` limited this to exactly one duplicate ID in the same block followed by at-most one duplicate ID in the following block. This behavior was mitigated starting with version `v1.8.0` making it functionally impossible to be achieved at the block producing code level. On top of that, the same version `v1.8.0` introduced the optional `NO_DUPLICATE_DEFERRED_ID` protocol feature which, if deployed, it makes this behavior impossible at the protocol layer as well. diff --git a/cdt/06_how-to-guides/10_compile/01_compile-a-contract-via-cli.md b/cdt/06_how-to-guides/10_compile/01_compile-a-contract-via-cli.md deleted file mode 100644 index 7cc8c1c80..000000000 --- a/cdt/06_how-to-guides/10_compile/01_compile-a-contract-via-cli.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -content_title: How to compile a smart contract via CLI ---- - -## Overview - -This guide provides instructions how to compile a smart contract using the command line interface (CLI). - -## Before you begin - -* You have the source of the contract saved in a local folder, e.g. `./examples/hello/` -## Procedure - -Follow the following steps to compile your contract. - -1. Navigate to the hello folder in examples `./examples/hello`. You should see the `./src/hello.cpp` file. - -2. Run the following commands: - - ```sh - mkdir build - cd build - cdt-cpp ../src/hello.cpp -o hello.wasm -I ../include/ - ``` - - Where: - - `../src/hello.cpp` = Is the input cpp source file to be compiled. - - `-o hello.wasm` = It instructs the `cdt--cpp` tool who to name the output wasm file. - - `-I ../include/` = It tells `cdt-cpp` tool what the include folder path is, in this particular case it is a relative path. - -3. Verify the following two files were generated: - -* the compiled binary wasm: `hello.wasm`, -* and the generated ABI file: `hello.abi`. - -## Summary - -In conclusion, the above instructions show how to compile a smart contract using the command line interface (CLI). diff --git a/cdt/06_how-to-guides/10_compile/02_how-to-configure-cmake.md b/cdt/06_how-to-guides/10_compile/02_how-to-configure-cmake.md deleted file mode 100644 index c62cd2a05..000000000 --- a/cdt/06_how-to-guides/10_compile/02_how-to-configure-cmake.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -content_title: How to configure CMake ---- - -## Overview - -This guide provides instructions how to configure CMake. - -## Before you begin - -* You have installed CMake, for detailed instructions consult the official [CMake installation page](https://CMake.org/install/). - -## Procedure - -The following steps show: - -* [Automatic generation of CMake configuration](#automatic-generation-of-CMake-configuration) -* [Manual generation of CMake configuration](#manual-generation-of-CMake-configuration) - -### Automatic generation of CMake configuration - -To compile a smart contract project with CMake, you'll need a CMake file. To use the new `cdt-init` tool to generate the directory structure stub `.hpp/.cpp` files and the CMake configuration files follow these steps: - - ```sh - cd ~ - cdt-init --path=. --project=test_contract - cd test_contract - cd build - cmake .. - make - ls -al test_contract - ``` - -At this point, you'll have the `test_contract.abi` and `test_contract.wasm` files in `~/test_contract/test_contract`. These files are ready to be deployed. - -### Manual generation of CMake configuration - -To create manually the CMake configuration, the template `CMakeLists.txt` in the examples folder is a good boilerplate for manual usage. - -1. In `CMakeLists.txt`: - - ```sh - cmake_minimum_required(VERSION 3.5) - project(test_example VERSION 1.0.0) - - find_package(cdt) - - add_contract( test test test.cpp ) - ``` - -2. In `test.cpp`: - - ```c++ - #include - using namespace eosio; - - class [[eosio::contract]] test : public eosio::contract { - public: - using contract::contract; - - [[eosio::action]] void testact( name test ) { - } - }; - ``` - -3. The following CMake macros are provided: - -* `add_contract` is used to build your smart contract and generate an ABI. The first parameter is the contract name, the second is the CMake target name, and the rest are the CPP files needed to build the contract. - -* `target_ricardian_directory` can be used to add the directory where your ricardian contracts live to a specific CMake target. - -* `add_native_library` and `add_native_executable` are CMake macros for the native tester. They are drop in replacements for `add_library` and `add_executable`. - -## Summary - -In conclusion, the above instructions show how to configure CMake . diff --git a/cdt/06_how-to-guides/10_compile/03_compiling-contracts-with-cmake.md b/cdt/06_how-to-guides/10_compile/03_compiling-contracts-with-cmake.md deleted file mode 100644 index 9cb6ffe95..000000000 --- a/cdt/06_how-to-guides/10_compile/03_compiling-contracts-with-cmake.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -content_title: How to compile a smart contract with CMake ---- - -## Overview - -This guide provides instructions to compile a smart contract with CMake. - -## Before you begin - -* You have the source of the contract saved in a local folder, e.g. `./examples/hello/` - -## Procedure - -Follow the following steps to compile your contract. - -1. Navigate to the hello folder in examples (./examples/hello), you should then see the ./src/hello.cpp file -2. Run following commands: - - ```sh - mkdir build - cd build - cmake .. - make - ``` - -3. Verify the following two files were generated: - -* the compiled binary wasm: `hello.wasm`, -* and the generated ABI file: `hello.abi`. - -## Summary - -In conclusion, the above instructions show how to compile a smart contract with CMake. diff --git a/cdt/06_how-to-guides/20_authorization/how_to_restrict_access_to_an_action_by_user.md b/cdt/06_how-to-guides/20_authorization/how_to_restrict_access_to_an_action_by_user.md deleted file mode 100644 index 04269f4b4..000000000 --- a/cdt/06_how-to-guides/20_authorization/how_to_restrict_access_to_an_action_by_user.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -content_title: How To Perform Authorization Checks -link_text: How To Perform Authorization Checks ---- - -## Overview - -This guide provides instructions how to perform authorization checks in a smart contract. - -## Before you begin - -1. You have the sources of a contract with a `hi` action defined and implemented. -2. The `hi` action has defined one input parameter `user` of type `name`. - -## Code Reference - -See the following code reference guides for functions which can be used to implement authorization checks in a smart contract: - -* function [has_auth(name n)](../../reference/Namespaces/namespaceeosio#function-has_auth) -* function [require_auth(name n)](../../reference/Namespaces/namespaceeosio#function-require_auth) -* function [require_auth2(capi_name name, capi_name permission)](../../reference/Files/action_8h) -* function [check(bool pred, ...)](../../reference/Namespaces/namespaceeosio#function-check) - -## Procedure - -The following steps show how to check authorization for `user` account for the `hi` action. There are three ways to accomplish an authorization check in a smart contract action implementation. You can use any of the methods provided below depending on your needs: - -* [Use check(...) in combination with has_auth(...)](#1-use-checkhas_auth) -* [Use require_auth(...)](#2-use-require_auth) -* [Use require_auth2(...)](#3-use-require_auth2) - -### 1. Use check(has_auth(...)...) - -The following code example enforces the action `hi` to be executed only by the account that is sent as parameter to the action, no matter what permission the account uses to sign the transaction (e.g. owner, active, code). - -[[info | Error message is custom]] -| Observe that in this case the yielded error message is a custom one and thus it can be used to provide a better experience for the user. - -```cpp -#include - -void hi( name user ) { - check(has_auth(user), "User is not authorized to perform this action."); - print( "Hello, ", name{user} ); -} -``` - -Another example can be found in the [Tic Tac Toe Tutorial](https://docs.eosnetwork.com/docs/latest/smart-contracts/tutorials/tic-tac-toe-game-contract#create-tictactoecpp-file). - -### 2. Use require_auth - -The below code enforces the action `hi` to be executed only by the account that is sent as parameter to the action, no matter what permission the account uses to sign the transaction (e.g. owner, active, code). - -```cpp -void hi( name user ) { - require_auth( user ); - print( "Hello, ", name{user} ); -} -``` - -[[info | Error message is not custom]] -| Note that this time you can not customize the yielded error message, it will be a generic authorization error message. - -### 3. Use require_auth2 - -The below code is enforces the action `hi` to be executed only by the account that is sent as parameter to the action and only if the permission used to sign the transaction is the 'active' one. In other words, if the same user uses the transaction with a different permission (e.g. code, owner) the execution of the action is halted. - -```cpp -#include - -void hi( name user ) { - require_auth2(user.value, "active"_n.value); - print( "Hello, ", name{user} ); -} -``` - -[[info | Error message is not custom]] -| Note that this time, as well as previous method, you can not customize the yielded error message, it will be a generic authorization error message. - -## Summary - -In conclusion, the above instructions show how to perform authorization checks in a smart contract. diff --git a/cdt/06_how-to-guides/40_multi-index/how-to-define-a-primary-index.md b/cdt/06_how-to-guides/40_multi-index/how-to-define-a-primary-index.md deleted file mode 100644 index a8497d052..000000000 --- a/cdt/06_how-to-guides/40_multi-index/how-to-define-a-primary-index.md +++ /dev/null @@ -1,128 +0,0 @@ ---- -content_title: How to define a primary index ---- - -## Overview - -This guide provides instructions to define a primary index for a multi-index table. - -## Reference - -See the following code reference: - -* The [`multi-index`](../../reference/Classes/classeosio_1_1multi__index) class. - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). - -## Procedure - -Complete the following steps to define a primary index for the multi-index table `testtab`. - -### 1. Preparation And Initialization - -Include the `eosio.hpp` header and use the `using` directive to access the `eosio` namespace. - - ```cpp - #include - using namespace eosio; - ``` - -### 2. Define The Table Data Structure - -Define the data structure for the multi-index table. - - ```cpp - struct [[eosio::table]] test_table { - }; - ``` - -Add the data structure data members. Each data member corresponds to a field of the multi-index table. A primary key is required when defining a multi-index table structure, therefore you need to know which is the multi-index table field that is the primary key for your multi-index table. The corresponding data member for the primary key field must store unique values. In this case it is the `test_primary` data member of type `eosio::name`. - - ```diff - // the data structure which defines each row of the table - struct [[eosio::table]] test_table { - + // this data member stores a name for each row of the multi-index table - + name test_primary; - + // additional data stored in table row, e.g. an uint64_t type data - + uint64_t datum; - }; - ``` - -### 3. Define The Primary Index - -Add the definition of the primary index for the multi-index table. The primary index type must be uint64_t, it must be unique and must be named `primary_key()`, otherwise the compiler (cdt-cpp) will generate an error saying it can not find the field to use as the primary key: - - ```diff - // the data structure which defines each row of the table - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - // additional data stored in table row - uint64_t datum; - + // mandatory definition for primary key getter - + uint64_t primary_key( ) const { return test_primary.value; } - }; - ``` - -[[info | Secondary indexes information]] -| Secondary indexes may be defined which are not unique. There can be up to 16 secondary indexes. Secondary indices support the following types: -* uint64_t -* uint128_t -* uint256_t -* double -* long double - -### 4. Define A Multi-Index Type Alias - -For ease of use, define a type alias `test_table_t` based on the `eosio::multi_index` template type, parametarized with a random name `"testtaba"` and the `test_table` data structure. The names must adhere to `Antelope` account name restrictions. - - ```diff - // the data structure which defines each row of the table - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - // additional data stored in table row - uint64_t datum; - // mandatory definition for primary key getter - uint64_t primary_key( ) const { return test_primary.value; } - }; - - + typedef eosio::multi_index<"testtaba"_n, test_table> test_table_t; - ``` - -### 5. Instantiate The Multi-Index Table - -Declare the `testtab` multi-index table as a data member of type `test_table_t`. - - ```diff - // the data structure which defines each row of the table - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - // additional data stored in table row - uint64_t datum; - // mandatory definition for primary key getter - uint64_t primary_key( ) const { return test_primary.value; } - }; - - typedef eosio::multi_index<"testtaba"_n, test_table> test_table_t; - + test_table_t testtab; - ``` - -Now you have instantiated a multi-index table, and assigned to `testtab` variable, which has a primary index defined for its `test_primary` data member. - -[[info | Full example location]] -| A full example project demonstrating the instantiation and usage of multi-index table can be found [here](https://github.com/AntelopeIO/cdt/blob/main/examples/multi_index_example). - -## Summary - -In conclusion, the above instructions show how to define a primary index for a multi-index table. - -## Next Steps - -* You can [insert data in the multi-index table](./how-to-insert-data-into-a-multi-index-table). -* You can [iterate and retrieve data](./how-to-iterate-and-retrieve-a-multi_index-table) from the multi-index table. diff --git a/cdt/06_how-to-guides/40_multi-index/how-to-define-a-secondary-index.md b/cdt/06_how-to-guides/40_multi-index/how-to-define-a-secondary-index.md deleted file mode 100644 index b689f52a2..000000000 --- a/cdt/06_how-to-guides/40_multi-index/how-to-define-a-secondary-index.md +++ /dev/null @@ -1,131 +0,0 @@ ---- -content_title: How to define a secondary index ---- - -## Overview - -This guide provides instructions to define a secondary index for a multi-index table. - -## Reference - -See the following code reference: - -* The [`multi-index`](../../reference/Classes/classeosio_1_1multi__index) class. - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). -* A multi-index table `testtab` along with its `test_table` data structure, its mandatory primary index, and the type alias definition `test_table_t`. Please see [How To Define A Primary Index](./how-to-define-a-primary-index) to set up these prerequisites. - -## Procedure - -Complete the following steps to define a secondary index for the multi-index table `testtab`. - -### 1. Extend The Multi-Index Data Structure - -Add a second data member `secondary`, of type `eosio::name`, to the `test_table` data structure that defines the `testtab` data. - - ```diff - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - + name secondary; - // additional data stored in table row - uint64_t datum; - // mandatory definition for primary key getter - uint64_t primary_key( ) const { return test_primary.value; } - }; - ``` - -### 2. Add The Secondary Index Accessor Method - -Add `by_secondary()` method, which is the index accessor method to the new data member added. The secondary index, that will be added in the next step, will index this new data structure data member. - - ```diff - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - name secondary; - // additional data stored in table row - uint64_t datum; - // mandatory definition for primary key getter - uint64_t primary_key( ) const { return test_primary.value; } - + uint64_t by_secondary( ) const { return secondary.value; } - }; - ``` - -### 3. Define The Secondary Index - -In the `test_table_t` type definition, add the definition of the secondary index with the use of the `eosio::indexed_by` template. `eosio::index_by` needs two parameters: the name of the index, `"secid"_n`, and a function call operator which extracts the value from the secondary data member as an index key. The function call operator is defined with the use of `eosio::const_mem_fun` template which receives two parameters: the data structure `test_table` and the reference to the getter function member `by_secondary`. - - ```diff - - typedef eosio::multi_index<"testtaba"_n, test_table> test_table_t; - + typedef eosio::multi_index<"testtaba"_n, test_table, eosio::indexed_by<"secid"_n, eosio::const_mem_fun>> test_table_t; - ``` - -For reference see below the full contract definition code with all the changes described above. - -__multi_index_example.hpp__ - - ```cpp - #include - using namespace eosio; - - // multi-index example contract class - class [[eosio::contract]] multi_index_example : public contract { - public: - using contract::contract; - - // contract class constructor - multi_index_example( name receiver, name code, datastream ds ) : - // contract base class contructor - contract(receiver, code, ds), - // instantiate multi-index instance as data member (find it defined below) - testtab(receiver, receiver.value) - { } - - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - name secondary; - // additional data stored in table row - uint64_t datum; - // mandatory definition for primary key getter - uint64_t primary_key( ) const { return test_primary.value; } - uint64_t by_secondary( ) const { return secondary.value; } - }; - - // the multi-index type definition, for ease of use a type alias `test_table_t` is defined, - // based on the multi_index template type, parametarized with a random name, the - // test_table data structure, and the secondary index - typedef eosio::multi_index<"testtaba"_n, test_table, eosio::indexed_by<"secid"_n, eosio::const_mem_fun>> test_table_t; - - // the multi-index table instance declared as a data member of type test_table_t - test_table_t testtab; - - [[eosio::action]] void set( name user ); - [[eosio::action]] void print( name user ); - - using set_action = action_wrapper<"set"_n, &multi_index_example::set>; - using print_action = action_wrapper<"print"_n, &multi_index_example::print>; - }; - ``` - -Now you have instantiated the `testtab` as a multi-index table which has a primary index defined for its `test_primary` data member and a secondary index for its `secondary` data member. - -[[info | Full example location]] -| A full example project demonstrating the instantiation and usage of multi-index table can be found [here](https://github.com/AntelopeIO/cdt/blob/main/examples/multi_index_example). - -[[warning | Do not add a secondary index to an existing table]] -| Adding a secondary index to an existing multi-index table it will have unpredictable outcome. Consult the [Data design and migration](../best-practices/data-design-and-migration) documentation for more details. - - -## Summary - -In conclusion, the above instructions show how to define a secondary index for a multi-index table. - -## Next Steps - -* You can [iterate and retrieve data using the secondary index](./how-to-iterate-and-retrieve-a-multi_index-table-based-on-secondary-index) from the multi-index table. diff --git a/cdt/06_how-to-guides/40_multi-index/how-to-define-a-singleton.md b/cdt/06_how-to-guides/40_multi-index/how-to-define-a-singleton.md deleted file mode 100644 index b46d08cfd..000000000 --- a/cdt/06_how-to-guides/40_multi-index/how-to-define-a-singleton.md +++ /dev/null @@ -1,157 +0,0 @@ ---- -content_title: How to define a singleton ---- - -## Overview - -This guide provides instructions to define a singleton. - -## Reference - -See the following code reference: - -* The [`singleton`](../../reference/Classes/classeosio_1_1singleton) class. - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). - -## Procedure - -A singleton uses a single multi-index table to store named objects of various types. To define a simple singleton, which is storing an account `name` as primary value and a `uint64_t` as secondary value in structure `testtable`, follow the steps below: - -### 1. Preparation And Initialization - -Include the `eosio.hpp` and `singleton.hpp` headers and declare the `eosio` namespace usage - - ```cpp - #include - #include - using namespace eosio; - ``` - -### 2. Define The Table Data Structure - -Define the data structure for the multi-index table: - - ```cpp - struct [[eosio::table]] testtable { - name primary_value; - uint64_t secondary_value; - }; - ``` - -### 3. Define A Singleton Type Alias - -For ease of use, define a type alias `singleton_type` based on the `eosio::singleton` template type, parametarized with a random name `"testtable"` and the `testtable` data structure. The names must adhere to `Antelope` account name restrictions. - - ```diff - struct [[eosio::table]] testtable { - name primary_value; - uint64_t secondary_value; - }; - +using singleton_type = eosio::singleton<"testtable"_n, testtable>; - ``` - -### 4. Define The Singleton Instance - -Define the singleton table instance as a data member of type `singleton_type`. - - ```diff - struct [[eosio::table]] testtable { - name primary_value; - uint64_t secondary_value; - }; - - using singleton_type = eosio::singleton<"testtable"_n, testtable>; - +singleton_type singleton_instance; - ``` - -### 5. Initialize And Use The Singleton Instance - -Initialize the `singleton_instance` using the constructor with the parameters `receiver` and `code` (the last one in in this case is `receiver.value`). These parameters, combined with `testtable`, provide access to the partition of the RAM cache used by this singleton. In our example you initialize the `singleton_instance` data member in the smart contract constructor, see below: - - ```diff - // singleton contract constructor - singleton_example( name receiver, name code, datastream ds ) : - contract(receiver, code, ds), - + singleton_instance(receiver, receiver.value) - { } - } - ``` - -Now you have defined and initialized a singleton as a data member for the smart contract class. You can access it from any of the smart contract methods via `singleton_instance` data member. Below you can find a possible implementation for the full class singleton example contract. - -__singleton_example.hpp__ - -```cpp -#include -#include -using namespace eosio; - -class [[eosio::contract]] singleton_example : public contract { - public: - using contract::contract; - singleton_example( name receiver, name code, datastream ds ) : - contract(receiver, code, ds), - singleton_instance(receiver, receiver.value) - {} - - [[eosio::action]] - void set( name user, uint64_t value ); - [[eosio::action]] - void get( ); - - struct [[eosio::table]] testtable { - name primary_value; - uint64_t secondary_value; - uint64_t primary_key() const { return primary_value.value; } - } testtablerow; - - using singleton_type = eosio::singleton<"testtable"_n, testtable>; - singleton_type singleton_instance; - - using set_action = action_wrapper<"set"_n, &singleton_example::set>; - using get_action = action_wrapper<"get"_n, &singleton_example::get>; -}; -``` - -Below is an example for the `get` and `set` actions. It also demonstrates the usage of the `get` and `set` singleton methods. Note that the `set` action makes use of the singleton's `set` method, for which the second parameter is the payer account for the RAM needed to store the new value. - -__singleton_example.cpp__ - -```cpp -#include - -[[eosio::action]] void singleton_example::set( name user, uint64_t value ) { - auto entry_stored = singleton_instance.get_or_create(user, testtablerow); - entry_stored.primary_value = user; - entry_stored.secondary_value = value; - singleton_instance.set(entry_stored, user); -} - -[[eosio::action]] void singleton_example::get( ) { - if (singleton_instance.exists()) - eosio::print( - "Value stored for: ", - name{singleton_instance.get().primary_value.value}, - " is ", - singleton_instance.get().secondary_value, - "\n"); - else - eosio::print("Singleton is empty\n"); -} -``` - -[[info | Full example location]] -| A full example project demonstrating the instantiation and usage of singleton can be found [here](https://github.com/AntelopeIO/cdt/blob/main/examples/multi_index_example). - -## Summary - -In conclusion, the above instructions show how to define a singleton. - -## Next Steps - -* Singleton uses as underlying structure a multi-index table therefore you can [iterate and retrieve data](./how-to-iterate-and-retrieve-a-multi_index-table) from the singleton the same way you would with a multi-index table. diff --git a/cdt/06_how-to-guides/40_multi-index/how-to-delete-data-from-a-multi-index-table.md b/cdt/06_how-to-guides/40_multi-index/how-to-delete-data-from-a-multi-index-table.md deleted file mode 100644 index 5e8d0ab64..000000000 --- a/cdt/06_how-to-guides/40_multi-index/how-to-delete-data-from-a-multi-index-table.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -content_title: How to delete data from a multi-index table ---- - -## Overview - -This guide provides instructions to to delete data from a multi-index table. - -## Reference - -See the following code reference: - -* The [`multi-index`](../../reference/Classes/classeosio_1_1multi__index) class. -* The [`multi-index::find(...)`](../../reference/Modules/group__multiindex#function-find) method. -* The [`multi-index::erase(...)`](../../reference/Modules/group__multiindex#function-erase) method. - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). -* A multi-index `testab` table instance which stores `user` objects indexed by the primary key which is of type `eosio::name`. Consult the section [How to instantiate a multi-index table](./how-to-instantiate-a-multi-index-table.md) to learn how to set it up. - -## Procedure - -Complete the following steps to implement a `del` action which deletes an user object, identified by its account name, from the multi-index table. - -### 1. Find The User You Want To Delete - -Use the multi-index [`find(...)`](../../reference/Modules/group__multiindex#function-find) method to locate the user object you want to delete. The targeted user is searched based on its account name. - -```cpp -[[eosio::action]] void multi_index_example::del( name user ) { - // check if the user already exists - auto itr = testtab.find(user.value); -} -``` - -### 2. Delete The User If Found - -Check to see if the user exists and use [`erase`(...)](../../reference/Modules/group__multiindex#function-erase) method to delete the row from table. Otherwise print an informational message and return. - -```diff -[[eosio::action]] void multi_index_example::del( name user ) { - // check if the user already exists - auto itr = testtab.find(user.value); -+ if ( itr == testtab.end() ) { -+ printf("User does not exist in table, nothing to delete"); -+ return; -+ } - -+ testtab.erase( itr ); -} -``` - -[[info | Full example location]] -| A full example project demonstrating the instantiation and usage of multi-index table can be found [here](https://github.com/AntelopeIO/cdt/blob/main/examples/multi_index_example). - -## Summary - -In conclusion, the above instructions show how to delete data from a multi-index table. - -## Next Steps - -* You can verify if the user object was deleted from the multi-index table. - -```cpp - // check if the user was deleted - auto itr = testtab.find(user.value); - if ( itr == testtab.end() ) { - printf("User was deleted successfully."); - } - else { - printf("User was NOT deleted!"); - } -``` diff --git a/cdt/06_how-to-guides/40_multi-index/how-to-insert-data-into-a-multi-index-table.md b/cdt/06_how-to-guides/40_multi-index/how-to-insert-data-into-a-multi-index-table.md deleted file mode 100644 index 75427f56c..000000000 --- a/cdt/06_how-to-guides/40_multi-index/how-to-insert-data-into-a-multi-index-table.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -content_title: How to insert data into a multi-index table ---- - -## Overview - -This guide provides instructions to insert data into a multi-index table. - -## Reference - -See the following code reference: - -* The [`multi-index`](../../reference/Classes/classeosio_1_1multi__index) class. -* The [`multi-index::find(...)`](../../reference/Modules/group__multiindex#function-find) method. -* The [`multi-index::emplace(...)`](../../reference/Modules/group__multiindex#function-emplace) method. - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). -* A multi-index `testab` table instance which stores `user` objects indexed by the primary key which is of type `eosio::name`. Consult the section [How to instantiate a multi-index table](./how-to-instantiate-a-multi-index-table.md) to learn how to set it up. - -## Procedure - -Complete the following steps to insert an user object in the `testtab` multi-index table: - -### 1. Verify If The User Already Exists - -Use of the multi-index table iterator to find out if the user object already exists. The targeted user is searched based on its account name. - -```cpp -[[eosio::action]] void multi_index_example::set( name user ) { - // check if the user already exists - auto itr = testtab.find(user.value); -} -``` - -### 2. Insert The User If Not Found In Table - -Use the [`emplace`](../../reference/Modules/group__multiindex#function-emplace) method to make the insertion if the user object is not already in the multi-index table. Otherwise print an informational message. - -```diff -[[eosio::action]] void multi_index_example::set( name user ) { - // check if the user already exists - auto itr = testtab.find(user.value); - -+ if ( itr == testtab.end() ) { -+ testtab.emplace( _self, [&]( auto& u ) { -+ u.test_primary = user; -+ u.secondary = "second"_n; -+ u.datum = 0; -+ }); -+ } -+ else { -+ printf("User already exists."); -+ } -} -``` - -[[info | Full example location]] -| A full example project demonstrating the instantiation and usage of multi-index table can be found [here](https://github.com/AntelopeIO/cdt/blob/main/examples/multi_index_example). - -## Summary - -In conclusion, the above instructions show how to insert data in a multi-index table. - -## Next Steps - -* You can [iterate and retrieve newly inserted data](./how-to-iterate-and-retrieve-a-multi_index-table) from the multi-index table. diff --git a/cdt/06_how-to-guides/40_multi-index/how-to-instantiate-a-multi-index-table.md b/cdt/06_how-to-guides/40_multi-index/how-to-instantiate-a-multi-index-table.md deleted file mode 100644 index 0a15ad44e..000000000 --- a/cdt/06_how-to-guides/40_multi-index/how-to-instantiate-a-multi-index-table.md +++ /dev/null @@ -1,185 +0,0 @@ ---- -content_title: How to instantiate a multi-index table ---- - -## Overview - -This guide provides instructions to instantiate a multi-index table. - -## Reference - -See the following code reference: - -* The [`multi-index`](../../reference/Classes/classeosio_1_1multi__index) class. - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). - -## Procedure - -Complete the following steps to instantiate a multi-index table `testtab`. - -### 1. Preparation And Initialization - -Include the `eosio.hpp` header and use the `using` directive to access the `eosio` namespace. - -```cpp -#include -using namespace eosio; -``` - -### 2. Define The Table Data Structure - -Define the data structure for the multi-index table. - -```cpp - struct [[eosio::table]] test_table { - }; -``` - -Add the data structure data members. Each data member corresponds to a field of the multi-index table. A primary key is required when defining a multi-index table structure, therefore you need to know which is the multi-index table field that is the primary key for your multi-index table. The corresponding data member for the primary key field must store unique values. In this case it is the `test_primary` data member of type `eosio::name`. - - ```diff - // the data structure which defines each row of the table - struct [[eosio::table]] test_table { - + // this data member stores a name for each row of the multi-index table - + name test_primary; - + // additional data stored in table row, e.g. an uint64_t type data - + uint64_t datum; - }; - ``` - -### 3. Define The Primary Index - -Add the definition of the primary index for the multi-index table. The primary index type must be uint64_t, it must be unique and must be named `primary_key()`, otherwise the compiler (cdt-cpp) will generate an error saying it can not find the field to use as the primary key: - -```diff - // the data structure which defines each row of the table - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - // additional data stored in table row - uint64_t datum; -+ // mandatory definition for primary key getter -+ uint64_t primary_key( ) const { return test_primary.value; } - }; -``` - -[[info | Additional indexes information]] -| Other, secondary, indexes if they will be defined can have duplicates. You can have up to 16 additional indexes and the field types can be uint64_t, uint128_t, uint256_t, double or long double. - -### 4. Define A Multi-Index Type Alias - -For ease of use, define a type alias `test_table_t` based on the `eosio::multi_index` template type, parametarized with a random name `"testtaba"` and the `test_table` data structure. The names must adhere to `Antelope` account name restrictions. - -```diff - // the data structure which defines each row of the table - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - // additional data stored in table row - uint64_t datum; - // mandatory definition for primary key getter - uint64_t primary_key( ) const { return test_primary.value; } - }; - -+ typedef eosio::multi_index<"testtaba"_n, test_table> test_table_t; -``` - -### 5. Instantiate The Multi-Index Table - -Declare the `testtab` multi-index table as a data member of type `test_table_t`. - -```diff - // the data structure which defines each row of the table - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - // additional data stored in table row - uint64_t datum; - // mandatory definition for primary key getter - uint64_t primary_key( ) const { return test_primary.value; } - }; - - typedef eosio::multi_index<"testtaba"_n, test_table> test_table_t; -+ test_table_t testtab; -``` - -# 6. Initialize The Multi-Index Table Instance - -Initialize the data member `testtab` by passing to its constructor these two values: `receiver` for the `code` parameter and `receiver.value` for the `scope` parameter. These two parameters combined with table name `"testtaba"` provide access to the partition of the RAM cache used by this multi-index table, in this example you will initialize the `testtab` data member in the smart contract constructor - -```diff -// contract class constructor -multi_index_example( name receiver, name code, datastream ds ) : - // contract base class contructor - contract(receiver, code, ds), - // instantiate multi-index instance as data member (find it defined below) -+ testtab(receiver, receiver.value) - { } -``` - -Now you have instantiated a multi-index table, and assigned to `testtab` variable, which has a primary index defined for its `test_primary` data member. - -Here is how the definition of a `multi_index_example` contract containing a multi-index table could look like after following all the steps above. - -__multi_index_example.hpp__ - -```cpp -#include -using namespace eosio; - -// multi-index example contract class -class [[eosio::contract]] multi_index_example : public contract { - public: - using contract::contract; - - // contract class constructor - multi_index_example( name receiver, name code, datastream ds ) : - // contract base class contructor - contract(receiver, code, ds), - // instantiate multi-index instance as data member (find it defined below) - testtab(receiver, receiver.value) - { } - - // the row structure of the multi-index table, that is, each row of the table - // will contain an instance of this type of structure - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - // additional data stored in table row - uint64_t datum; - // mandatory definition for primary key getter - uint64_t primary_key( ) const { return test_primary.value; } - }; - - // the multi-index type definition, for ease of use define a type alias `test_table_t`, - // based on the multi_index template type, parametarized with a random name and - // the test_table data structure - typedef eosio::multi_index<"testtaba"_n, test_table> test_table_t; - - // the multi-index table instance declared as a data member of type test_table_t - test_table_t testtab; - - [[eosio::action]] void set( name user ); - [[eosio::action]] void print( name user ); - - using set_action = action_wrapper<"set"_n, &multi_index_example::set>; - using print_action = action_wrapper<"print"_n, &multi_index_example::print>; -}; -``` - -[[info | Full example location]] -| A full example project demonstrating the instantiation and usage of multi-index table can be found [here](https://github.com/AntelopeIO/cdt/blob/main/examples/multi_index_example). - -## Summary - -In conclusion, the above instructions show how to define and instantiate a multi-index table instance. - -## Next Steps - -* You can [insert data in the multi-index table](./how-to-insert-data-into-a-multi-index-table). -* You can [iterate and retrieve data](./how-to-iterate-and-retrieve-a-multi_index-table) from the multi-index table. diff --git a/cdt/06_how-to-guides/40_multi-index/how-to-iterate-and-retrieve-a-multi_index-table-based-on-secondary-index.md b/cdt/06_how-to-guides/40_multi-index/how-to-iterate-and-retrieve-a-multi_index-table-based-on-secondary-index.md deleted file mode 100644 index 9d0025896..000000000 --- a/cdt/06_how-to-guides/40_multi-index/how-to-iterate-and-retrieve-a-multi_index-table-based-on-secondary-index.md +++ /dev/null @@ -1,167 +0,0 @@ ---- -content_title: How to iterate and retrieve from multi-index table based on secondary index ---- - -## Overview - -This guide provides instructions on how iterate and retrieve data from a multi-index table based on a secondary index defined in the multi-index table. - -## Reference - -See the following code reference: - -* The [`multi-index`](../../reference/Classes/classeosio_1_1multi__index) class. -* The [`multi-index::find(...)`](../../reference/Modules/group__multiindex#function-find) method. - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). -* A multi-index `testab` table instance which stores `user` objects indexed by the primary key which is of type `eosio::name` and a secondary index for data member `secondary` of type `eosio::name` accessible through `by_secondary()` method. Consult the section [How to define a secondary index](./how-to-define-a-secondary-index) to learn how to set it up. - -## Procedure - -Complete the following steps to iterate, retrieve and print data from the `testtab` multi-index table using the secondary index. - -### 1. Define The bysec(...) Action - -Add an action to the definition of the multi-index table which takes as parameter an account name. This action will retrieve the user object stored in the multi-index based on the passed in account name parameter. The action will use the secondary index. - -```cpp - [[eosio::action]] void bysec( name secid ); -``` - -Optionally, for ease of use add the action wrapper definition as well. - -```diff - [[eosio::action]] void bysec( name secid ); - - +using bysec_action = action_wrapper<"bysec"_n, &multi_index_example::bysec>; -``` - -### 2. Implement The `bysec(...)` Action - -Search for the `user` name in the multi-index table using the secondary index. If found, print out the value of field `datum`. Otherwise raise and error with a custom message. In the contract definition add the following implementation for `print` action: - -```cpp -// iterates the multi-index table rows using the secondary index and prints the row's values -[[eosio::action]] void multi_index_example::bysec( name secid ) { - // access the secondary index - auto idx = testtab.get_index<"secid"_n>(); - // iterate through secondary index - for ( auto itr = idx.begin(); itr != idx.end(); itr++ ) { - // print each row's values - eosio::print_f("Test Table : {%, %, %}\n", itr->test_primary, itr->secondary, itr->datum); - } -} -``` - -### 3. Put It All Together - -The full definition and implementation files for the contract should look like this: - -__multi_index_example.hpp__ - -```cpp -#include -using namespace eosio; - -// multi-index example contract class -class [[eosio::contract]] multi_index_example : public contract { - public: - using contract::contract; - - // contract class constructor - multi_index_example( name receiver, name code, datastream ds ) : - // contract base class contructor - contract(receiver, code, ds), - // instantiate multi-index instance as data member (find it defined below) - testtab(receiver, receiver.value) - { } - - // the row structure of the multi-index table, that is, each row of the table - // will contain an instance of this type of structure - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - name secondary; - // additional data stored in table row - uint64_t datum; - // mandatory definition for primary key getter - uint64_t primary_key( ) const { return test_primary.value; } - uint64_t by_secondary( ) const { return secondary.value; } - }; - - // the multi-index type definition, for ease of use define a type alias `test_table_t`, - // based on the multi_index template type, parametarized with a random name, the - // test_table data structure, and the secondary index - typedef eosio::multi_index<"testtaba"_n, test_table, eosio::indexed_by<"secid"_n, eosio::const_mem_fun>> test_table_t; - - // the multi-index table instance declared as a data member of type test_table_t - test_table_t testtab; - - [[eosio::action]] void set( name user ); - [[eosio::action]] void print( name user ); - [[eosio::action]] void bysec( name secid ); - - using set_action = action_wrapper<"set"_n, &multi_index_example::set>; - using print_action = action_wrapper<"print"_n, &multi_index_example::print>; - using bysec_action = action_wrapper<"bysec"_n, &multi_index_example::bysec>; -}; -``` - -__multi_index_example.cpp__ - -```cpp -#include - -[[eosio::action]] void multi_index_example::set( name user ) { - // check if the user already exists - auto itr = testtab.find(user.value); - - if ( itr == testtab.end() ) { - // user is not found in table, use emplace to insert a new row data structure in table - testtab.emplace( _self, [&]( auto& u ) { - u.test_primary = user; - u.secondary = "second"_n; - u.datum = 0; - }); - } -} - -[[eosio::action]] void multi_index_example::print( name user ) { - // searches for the row that corresponds to the user parameter - auto itr = testtab.find(user.value); - - // asserts if the row was found for user parameter, if fails use the given message - check( itr != testtab.end(), "user does not exist in table" ); - - // prints the test_primary and datum fields stored for user parameter - eosio::print_f("Test Table : {%, %}\n", itr->test_primary, itr->datum); -} - -// iterates the multi-index table rows using the secondary index and prints the row's values -[[eosio::action]] void multi_index_example::bysec( name secid ) { - // access the secondary index - auto idx = testtab.get_index<"secid"_n>(); - - // iterate through secondary index - for ( auto itr = idx.begin(); itr != idx.end(); itr++ ) { - // print each row's values - eosio::print_f("Test Table : {%, %, %}\n", itr->test_primary, itr->secondary, itr->datum); - } -} -``` - -[[info | Full example location]] -| A full example project demonstrating the instantiation and usage of multi-index table can be found [here](https://github.com/AntelopeIO/cdt/blob/main/examples/multi_index_example). - -## Summary - -In conclusion, the above instructions show how to iterate and retrieve a multi-index table based on secondary index. - -## Next Steps - -* You can [insert data](./how-to-insert-data-into-a-multi-index-table) into the multi-index table. -* You can [delete data](./how-to-delete-data-from-a-multi-index-table) from the multi-index table. diff --git a/cdt/06_how-to-guides/40_multi-index/how-to-iterate-and-retrieve-a-multi_index-table.md b/cdt/06_how-to-guides/40_multi-index/how-to-iterate-and-retrieve-a-multi_index-table.md deleted file mode 100644 index 7451c0f64..000000000 --- a/cdt/06_how-to-guides/40_multi-index/how-to-iterate-and-retrieve-a-multi_index-table.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -content_title: How to iterate and retrieve from multi-index table ---- - -## Overview - -This guide provides instructions to iterate and retrieve data from a multi-index table. - -## Reference - -See the following code reference: - -* The [`multi-index`](../../reference/Classes/classeosio_1_1multi__index) class. -* The [`multi-index::find(...)`](../../reference/Modules/group__multiindex#function-find) method. - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). -* A multi-index `testab` table instance which stores `user` objects indexed by the primary key which is of type `eosio::name`. Consult the section [How to instantiate a multi-index table](./how-to-instantiate-a-multi-index-table) to learn how to set it up. - -## Procedure - -Complete the following steps to iterate, retrieve and print data from the `testtab` multi-index table. - -### 1. Define The print(...) Action - -Add a `print` action to the `testtab` multi-index table. The `print` action takes an account name as a parameter. - -```cpp -[[eosio::action]] void print( name user ); -``` - -Optionally, for ease of use add the action wrapper definition as well. - -```diff -[[eosio::action]] void print( name user ); - -+using print_action = action_wrapper<"print"_n, &multi_index_example::print>; -``` - -### 2. Implement The `print(...)` Action - -Search for the `user` name in the multi-index table using the primary index. If found, print out the value of field `datum`. Otherwise raise an error with a custom message. In the contract definition add the following implementation for `print` action: - -```cpp - [[eosio::action]] void multi_index_example::print( name user ) { - // searches for the row that corresponds to the user parameter - auto itr = testtab.find(user.value); - - // asserts if the row was found for user parameter, if fails use the given message - check( itr != testtab.end(), "user does not exist in table" ); - - // prints the test_primary and datum fields stored for user parameter - eosio::print_f("Test Table : {%, %}\n", itr->test_primary, itr->datum); -} -``` - -### 3. Put It All Together - -The full definition and implementation files for the contract should look like this: - -__multi_index_example.hpp__ - -```cpp -#include -using namespace eosio; - -// multi-index example contract class -class [[eosio::contract]] multi_index_example : public contract { - public: - using contract::contract; - - // contract class constructor - multi_index_example( name receiver, name code, datastream ds ) : - // contract base class contructor - contract(receiver, code, ds), - // instantiate multi-index instance as data member (find it defined below) - testtab(receiver, receiver.value) - { } - - // the row structure of the multi-index table, that is, each row of the table - // will contain an instance of this type of structure - struct [[eosio::table]] test_table { - // this data member stores a name for each row of the multi-index table - name test_primary; - // additional data stored in table row - uint64_t datum; - // mandatory definition for primary key getter - uint64_t primary_key( ) const { return test_primary.value; } - }; - - // the multi-index type definition, for ease of use define a type alias `test_table_t`, - // based on the multi_index template type, parametarized with a random name and - // the test_table data structure - typedef eosio::multi_index<"testtaba"_n, test_table> test_table_t; - - // the multi-index table instance declared as a data member of type test_table_t - test_table_t testtab; - - [[eosio::action]] void set( name user ); - [[eosio::action]] void print( name user ); - - using set_action = action_wrapper<"set"_n, &multi_index_example::set>; - using print_action = action_wrapper<"print"_n, &multi_index_example::print>; -}; -``` - -__multi_index_example.cpp__ - -```cpp -#include - -[[eosio::action]] void multi_index_example::set( name user ) { - // check if the user already exists - auto itr = testtab.find(user.value); - - if ( itr == testtab.end() ) { - // user is not found in table, use emplace to insert a new row data structure in table - testtab.emplace( _self, [&]( auto& u ) { - u.test_primary = user; - u.secondary = "second"_n; - u.datum = 0; - }); - } -} - -[[eosio::action]] void multi_index_example::print( name user ) { - // searches for the row that corresponds to the user parameter - auto itr = testtab.find(user.value); - - // asserts if the row was found for user parameter, if fails use the given message - check( itr != testtab.end(), "user does not exist in table" ); - - // prints the test_primary and datum fields stored for user parameter - eosio::print_f("Test Table : {%, %}\n", itr->test_primary, itr->datum); -} -``` - -[[info | Full example location]] -| A full example project demonstrating the instantiation and usage of multi-index table can be found [here](https://github.com/AntelopeIO/cdt/blob/main/examples/multi_index_example). - -## Summary - -In conclusion, the above instructions show how to iterate and retrieve a multi-index table. - -## Next Steps - -* You can [insert data](./how-to-insert-data-into-a-multi-index-table) into the multi-index table. -* You can [delete data](./how-to-delete-data-from-a-multi-index-table) from the multi-index table. diff --git a/cdt/06_how-to-guides/40_multi-index/how-to-modify-data-in-a-multi-index-table.md b/cdt/06_how-to-guides/40_multi-index/how-to-modify-data-in-a-multi-index-table.md deleted file mode 100644 index eee7e8604..000000000 --- a/cdt/06_how-to-guides/40_multi-index/how-to-modify-data-in-a-multi-index-table.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -content_title: How to modify data in a multi-index table ---- - -## Overview - -This guide provides instructions to modify data in a multi-index table. - -## Reference - -See the following code reference: - -* The [`multi-index`](../../reference/Classes/classeosio_1_1multi__index) class. -* The [`multi-index::modify(...)`](../../reference/Modules/group__multiindex#function-modify) method. - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). -* A multi-index `testab` table instance which stores `user` objects indexed by the primary key which is of type `eosio::name`. Consult the section [How to instantiate a multi-index table](./how-to-instantiate-a-multi-index-table) to learn how to set it up. - -## Procedure - -Complete the following steps to modify data in the `testtab` multi-index table. - -### 1. Define The mod(...) Action - -Add a `mod` action to the `testtab` multi-index table. The `mod` action takes as input parameters a `user` of type `eosio::name` and a `value` of type `uint32_t`. The `mod` action updates the `user` object `datum` data member with the `uint32_t` value. - -```cpp -[[eosio::action]] void mod( name user, uint32_t value ); -``` - -Optionally, for ease of use add the action wrapper definition as well. - -```diff -[[eosio::action]] void mod( name user, uint32_t value ); - -+using mod_action = action_wrapper<"mod"_n, &multi_index_example::mod>; -``` - -### 2. Find The User You Want To Modify - -Use the multi-index [`find(...)`](../../reference/Modules/group__multiindex#function-find) method to locate the user object you want to modify. The targeted user is searched based on its account name. - -```cpp -[[eosio::action]] void multi_index_example::mod( name user, uint32_t value ) { - auto itr = testtab.find(user.value); -} -``` - -### 3. Yield Error If User Not Found - -If the `user` object you want to update is not found then raise an error message by using the [`eosio::check`](../../reference/Namespaces/namespaceeosio#function-check) method. - -```diff -[[eosio::action]] void multi_index_example::mod( name user, uint32_t value ) { - auto itr = testtab.find(user.value); -+ check( itr != testtab.end(), "user does not exist in table" ); -} -``` - -### 4. Update The User If Found - -If the `user` object you want to update is found, the [`eosio::check`](../../reference/Namespaces/namespaceeosio#function-check) method will do nothing and the iterator `itr` will be pointing at the object which you want to update. Use the [`multi-index::modify(...)`](../../reference/Modules/group__multiindex#function-modify) method to update the user object `datum` data member with the `value` parameter. - -```diff -[[eosio::action]] void multi_index_example::mod( name user, uint32_t value ) { - // check if the user already exists - auto itr = testtab.find(user.value); - check( itr != testtab.end(), "user does not exist in table" ); - -+ testtab.modify( itr, _self, [&]( auto& row ) { -+ row.datum = value; -+ }); -} -``` - -Now you have implemented a new action `mod`. Call `mod` to update the `datum` data member for the user object identified by the `user` name parameter. - -[[info | Full example location]] -| A full example project demonstrating the instantiation and usage of multi-index table can be found [here](https://github.com/AntelopeIO/cdt/blob/main/examples/multi_index_example). - -## Summary - -In conclusion, the above instructions show how to modify data in a multi-index table. - -## Next Steps - -* You can [insert data](./how-to-insert-data-into-a-multi-index-table) into the multi-index table. -* You can [delete data](./how-to-delete-data-from-a-multi-index-table) from the multi-index table. diff --git a/cdt/06_how-to-guides/50_how-to-create-and-use-action-wrappers.md b/cdt/06_how-to-guides/50_how-to-create-and-use-action-wrappers.md deleted file mode 100644 index 9ecac19b0..000000000 --- a/cdt/06_how-to-guides/50_how-to-create-and-use-action-wrappers.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -content_title: How to create and use action wrappers -link_text: "How to create and use action wrappers" ---- - -## Overview - -This guide provides instructions to create and use an action wrapper in a smart contract. - -## Code Reference - -See the following code reference guide for action wrapper: - -* [eosio::action_wrapper](../reference/Classes/structeosio_1_1action__wrapper). - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). -* A smart contract named `multi_index_example`, defined in file `multi_index_example.hpp`. -* An action `mod` which modifies the integer value `n` stored for row with key `user`. - -Refer to the following reference implementation for your starting point: - -```cpp -class [[eosio::contract]] multi_index_example : public contract { - // ... - [[eosio::action]] void mod( name user, uint32_t n ); - // ... -} -``` - -## Procedure - -Complete the following steps to create and use `mod_action` action wrapper for the existing `mod` action in the smart contract: - -1. [Define the action wrapper](#1-define-the-action-wrapper) -2. [Use the action wrapper](#2-use-the-action-wrapper) - * [2.1. Include Header File](#21-include-header-file) - * [2.2. Instantiate The Action Wrapper](#22-instantiate-the-action-wrapper) - * [2.3. Send The Action Using The Action Wrapper](#23-send-the-action-using-the-action-wrapper) - -### 1. Define The Action Wrapper - -To define an action wrapper for the `mod` action, use the `eosio::action_wrapper` template, with the first parameter the action name as a `eosio::name` and second parameter as the reference to the action method: - -```diff -class [[eosio::contract]] multi_index_example : public contract { - // ... - [[eosio::action]] void mod(name user); - // ... -+ using mod_action = action_wrapper<"mod"_n, &multi_index_example::mod>; - // ... -} -``` - -### 2. Use The Action Wrapper - -#### 2.1. Include Header File - -To use the action wrapper, you have to include the header file where the action wrapper is defined: - -```cpp -#include -``` - -#### 2.2. Instantiate The Action Wrapper - -Instantiate the `mod_action`. Specify the contract to send the action to as the first argument. In this case, it is assumed the contract is deployed to `multiindexex` account. Specify a structure with two parameters: the self account, obtained by `get_self()` call, and the `active` permission (you can modify these two parameters based on your requirements). - -```diff -#include - -+multi_index_example::mod_action modaction("multiindexex"_n, {get_self(), "active"_n}); -``` - -#### 2.3. Send The Action Using The Action Wrapper - -Call the `send` method of the action wrapper and pass in the `mod` action's parameters as positional arguments: - -```diff -#include - -multi_index_example::mod_action modaction("multiindexex"_n, {get_self(), 1}); - -+modaction.send("eostutorial"_n, 1); -``` - -For a full example see the [multi_index example contract](https://github.com/AntelopeIO/cdt/blob/main/examples/multi_index_example). - -## Summary - -In conclusion, the above instructions show how to create and use action wrapper in a smart contract. diff --git a/cdt/06_how-to-guides/60_how-to-return-values-from-actions.md b/cdt/06_how-to-guides/60_how-to-return-values-from-actions.md deleted file mode 100644 index 3f1266a88..000000000 --- a/cdt/06_how-to-guides/60_how-to-return-values-from-actions.md +++ /dev/null @@ -1,80 +0,0 @@ ---- -content_title: How-To Return Values From Action ---- - -## Overview - -This how-to demonstrates how a smart contract developer implements return values from an action. - -In order to accomplish this, use the `return` statement and pass the desired returned value, which can be of any C++ primitive type, a standard library type, or a user defined type. - -## Before you begin - -Make sure you have the following prerequisites in place: - -* An Antelope development environment, for details consult the [Documentation Portal](https://docs.eosnetwork.com/docs/latest/). -* A smart contract, let’s call it `smrtcontract`, which builds without error. -* An action, let’s call it `checkwithrv`, from which you want to return a value of a user defined type `action_response`. - -Refer to the following reference implementation for your starting point: - -```cpp -struct action_response -{ - uint16_t id; - std::pair status; -}; - -class [[eosio::contract]] smrtcontract : public contract { - public: - using contract::contract; - - [[eosio::action]] - action_response checkwithrv( name nm ); -}; -``` - -## Procedure - -Complete the following steps to return an instance of `action_response` from the `checkwithrv` action: - -1. Create an instance of the `action_response` C++ user defined structure. -2. Initialize its data members based on the action’s business logic. -3. Use `return` statement and pass as a parameter the instance created and initialized in previous steps. - -```cpp -[[eosio::action]] -action_response smrtcontract::checkwithrv( name nm ) { - print_f("Name : %\n", nm); - - // create instance of the action response structure - action_response results; - - // initialize its data members - results.id = 1; - if (nm == "hello"_n) { - results.status = {0, "Validation has passed."}; - } - else { - results.status = {1, "Input param `name` not equal to `hello`."}; - } - - // use return statement - return results; // the `set_action_return_value` intrinsic is invoked automatically here -} -``` - -For a complete example of a smart contract that implements an action which returns a value see the [hello example contract](https://github.com/AntelopeIO/cdt/blob/main/examples/hello). - -## Next Steps - -* Compile the smart contract and deploy it to the Antelope testnet or any Antelope based blockchain. -* Use the `cleos` command to send the `checkwithrv` action to the smart contract and observe the returned value in the `cleos` output. -* Use other means (e.g. programmatically) to send the `checkwithrv` action to the smart contract and observe the returned value in the action trace. - -[[info | Returned values from actions availability]] -The action return values are only available to clients sending the action via the RPC API. Currently, there is no support for an inline action to be able to use the return value, because inline actions don't execute synchronously. - -## Summary - -In conclusion, the above instructions show how to return values from actions. diff --git a/cdt/07_best-practices/02_naming-conventions.md b/cdt/07_best-practices/02_naming-conventions.md deleted file mode 100644 index 3cc91fc08..000000000 --- a/cdt/07_best-practices/02_naming-conventions.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -content_title: Naming conventions ---- - -When implementing Antelope smart contracts and when storing data in an Antelope blockchain, it is important to follow the established Antelope conventions for naming accounts, actions, tables, etc. - -## Antelope names - -* Applies to all Antelope encoded names (accounts, actions, tables, etc.) -* Encoded as a 64-bit unsigned integer (`uint64_t`) on the blockchain. -* First 12 characters, if any, encoded in `base32` using characters: `.`, `1-5`, `a-z` -* 13th character, if applicable, encoded in `base16` using characters: `.`, `1-5`, `a-j` - -### Standard account names - -* Must contain exactly 12 characters from the `base32` set: `.`, `1-5`, `a-z` -* 13th character not allowed or lesser than 12 characters -* Must start with a lowercase letter `a-z` -* Must not end in a dot `.` character - -### Non-standard account names - -* May contain between 1 and 12 characters from the `base32` set: `.`, `1-5`, `a-z` -* 13th character not allowed in account name -* Must not end in a dot `.` character - -### Table, struct, class, function (action) names - -* May contain between 1 and 13 characters. -* First 12 characters, if any, from the `base32` set: `.`, `1-5`, `a-z` -* 13th character, if any, from the `base16` set: `.`, `1-5`, `a-j` - -### Format - -The figure below showcases a 12 character string formatted into a 64-bit unsigned integer. Note: the 13th char, if any, contains 24 = 16 cases per 1 digit (char): 1 (`.`) + 5 (`1-5`) + 10 (`a-j`). - -![](naming-conventions-format.png "Antelope name format") - -## Encoding and decoding - -Antelope name objects can be created, encoded, and decoded via the `eosio::name` class. - -1. To encode an `std::string` into an Antelope name object, use the appropriate `eosio::name()` constructor. -2. To encode a `char *` string literal into an Antelope name object, you can also use the `""_n` operator. -3. To decode an Antelope name object into an `std::string`, use the `eosio::to_string()` function. - -### Examples - -```cpp -auto eosio_user = eosio::name{user}; //encodes user string to eosio::name object -auto user_str = user_name_obj.to_string(); //decodes eosio::name obj to string -auto standard_account = "standardname"_n; //encodes literal string to eosio::name -auto non_standard_account = ".standard"_n; //encodes literal string to eosio::name -``` diff --git a/cdt/07_best-practices/03_resource-planning.md b/cdt/07_best-practices/03_resource-planning.md deleted file mode 100644 index 4be5c4278..000000000 --- a/cdt/07_best-practices/03_resource-planning.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -content_title: Resource planning ---- - -How much RAM do I need? This is not an easy question to answer, and there's really no perfect answer for it. You need to find out by measuring your contracts' actions and by planning accordingly based on your predictions on how fast and how much your blockchain application will grow. If your blockchain application growth is requiring more storage capacity you'll need to buy more RAM. If it requires more actions to be executed in the 3 day window (the staking time) you need to stake more tokens for CPU bandwidth. If your blockchain application growth means more actions will be stored on the blockchain then you also will need to expand your NET bandwidth maximum limit by staking more tokens for NET bandwidth. - -*Ok, you say, but how much?* - -You need to test and simulate various business scenarios that apply to your blockchain application and measure their resource usage. Hence, the existence of the public test networks. These allow you to measure how much RAM, CPU, and NET each action consumes, and to measure worst and best case business scenarios. You can then extrapolate and build a fairly good view of your blockchain application's resource needs. - -Once you have a fair idea of how your contract, blockchain application, and user base are consuming blockchain resources on a public test-net you can estimate what you'll need to start with on any Antelope-based networks, public or private. From that point onward, as with any other application, it is advisable to have monitors that tell you statistics and metrics about your application performance. - -Of course some aspects might differ from network to network, because each network might have altered its system contracts. The Antelope code base is open sourced and it can be tailored to each network's requirements. You need to be aware of these differences and take them into account if this is the case with a network you're testing on. - -The Antelope community is also providing tools that can help you in this endeavor. One example is https://www.eosrp.io -Because the RAM price varies and because the CPU and NET bandwidth allocations vary too, as it is explained in the previous section, this tool can help you estimate how much of each resource you can allocate based on a specific amount of tokens and vice-versa. - -Another aspect of resource planning involves making sure your contract is efficient, that is, not consuming resources unnecessarily. Therefore, it is beneficial for you to find answers to the following questions when writing your own smart contracts and blockchain applications: - - * Is your smart contract storing only the information that is necessary to be stored on a blockchain and for the rest is using alternative ways for storing data (e.g. IPFS)? - * If you have multiple smart contracts, are they communicating between them too much via inline actions? Could some of the smart contracts be merged into one and thus eliminate the need to spawn inline actions between them, reducing the overall inline actions count and thus resource consumption? - * Could you change your smart contracts so that your clients pay for some parts of the RAM used? Recall how originally the addressbook contract was making each new account added to the book pay for the RAM needed to store its individual data? - * Or conversely, are you making your clients pay too much RAM or CPU in order to access your contracts' actions, to the point where you are prohibiting their use of your smart contract? Would it be better for your blockchain application's growth and success to take on some of those costs? diff --git a/cdt/07_best-practices/04_data-design-and-migration.md b/cdt/07_best-practices/04_data-design-and-migration.md deleted file mode 100644 index 87c040d9f..000000000 --- a/cdt/07_best-practices/04_data-design-and-migration.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -content_title: Data design and migration ---- - -Antelope based blockchains allow developers to easily update their smart contract code. However, a few things need to be considered when it comes to data updates and/or migration. The multi-index table API is one of the mechanisms (Key-Value API being the other) for storing and updating blockchain state. The multi-index table API creates and uses data structures in RAM. Once created and deployed on the blockchain there are limitations if you want to update these structures. Below you will find a few approaches to your smart contract data design, updates to this design, and for data migration. - -# How to modify a data structure defined using multi-index table API - -Modifying a deployed multi-index table structure may be done by selecting one of the different strategies outlined below: - -## 1. If you don't mind losing the existing data - -If you don't mind losing the data from the initial table you can follow these two steps: - -1. Erase all records from first table -2. Deploy a new contract with modified table structure - -## 2. If you want to keep the existing data - -If you want to keep the existing data there are two ways to do it: - -### 2.1. Using binary extensions - -To learn how to modify the structure using binary extensions read this [tutorial](../09_tutorials/01_binary-extension.md). - -### 2.2. Using ABI variants - -To learn how to modify the structure using ABI variants read this [tutorial](../09_tutorials/02_abi-variants.md). - -### 2.3. Migrate the existing data to a second table - -#### 2.3.1. Migration without downtime, but slower - -1. Create the new version of your multi-index table alongside the old one. -2. Transfer data from the old table to the new one. You may do so as part of your normal access pattern, first checking the new table to see if the entry you seek is present and if not, check the original table, and if it's present, migrate it while adding the data for the new field, then remove it from the original table to save RAM costs. -3. You must retain both versions of your multi-index table until you have completed this migration, at which point you may update your contract to remove the original version of your multi-index table. - -#### 2.3.2. Migration with downtime, but faster - -If you prefer less code complexity and can accept downtime for your application: - -1. Deploy a version of your contract solely for migration purposes, and run migration transactions on every row of your table until complete. If the first table is big, e.g. has a large number of rows, the transaction time limit could be reached while running the migration transactions. To mitigate this implement the migrate function to move a limited number of rows each time it runs. -2. Deploy a new contract using only the new version of the table, at which point, your migration and downtime is complete. - -[[caution]] -| Both of the above migration methods require some pre-planning (like the ability to put your contract into a maintenance mode for user feedback) diff --git a/cdt/07_best-practices/05_securing_your_contract.md b/cdt/07_best-practices/05_securing_your_contract.md deleted file mode 100644 index fca6c9769..000000000 --- a/cdt/07_best-practices/05_securing_your_contract.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -content_title: Securing your contract ---- - -## Basic Recommendations - -The following are basic recommendations which can be the foundation for securing your smart contract. - -### 1. Authorization Checks - -The following methods are available in the `Antelope` library and they can be used to implemented authorization checks in your smart contracts: - -- [`has_auth`](../group__action/#function-has_auth) -- [`require_auth`](../group__action/#function-require_auth) -- [`require_auth2`](../how-to-guides/authorization/how_to_restrict_access_to_an_action_by_user/#3-using-require_auth2) -- [`require_recipient`](../group__action/#function-require_recipient) - -### 2. Resource Management - -Understand how each of your contracts' actions is impacting the RAM, CPU, and NET consumption, and which account ends up paying for these resources. - -### 3. Secure by Default - -Have a solid and comprehensive development process that includes security considerations from day one of the product planning and development. - -### 4. Continuous Integration And Continuous Delivery - -Test your smart contracts with every update announced for the blockchain you have deployed to. To ease your work, automate the testing as much as possible so you can run them often, and improve them periodically. - -### 5. Security Audits - -Conduct independent smart contract audits, at least two from different organizations. - -### 6. Bug Bounties - -Host periodic bug bounties on your smart contracts and keep a continuous commitment to reward real security problems reported at any time. diff --git a/cdt/07_best-practices/07_error_handling.md b/cdt/07_best-practices/07_error_handling.md deleted file mode 100644 index 645b7b5a3..000000000 --- a/cdt/07_best-practices/07_error_handling.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -content_title: Error handling ---- - -Contracts can use `uint64_t` error codes as an alternative (and shorter) means of signaling error conditions, as opposed to string error messages. However, Antelope and CDT reserve certain ranges of the `uint64_t` value space for their own purposes. Contract developers must be aware of the following ranges and restrictions: - -1. $0 - 4,999,999,999,999,999,999$: -Available for contract developers to assign error codes specific to their contracts. - -2. $5,000,000,000,000,000,000 - 7,999,999,999,999,999,999$: -Reserved for the CDT compiler to allocate as appropriate. Although the WASM code generated by the CDT compiler may use error code values that were automatically generated from within this range, the error codes in this range are meant to have meaning specific to the particular compiled contract (the meaning would typically be conveyed through the mapping between the error code value and strings in the associated generated ABI file). - -3. $8,000,000,000,000,000,000 - 9,999,999,999,999,999,999$: -Reserved for the CDT compiler to allocate as appropriate. The error codes in this range are not specific to any contract but rather are used to convey general runtime error conditions associated with the generated code by CDT. - -4. $10,000,000,000,000,000,000 - 18,446,744,073,709,551,615$: -Reserved by the Antelope protocol to represent protocol-level error conditions. Antelope will actually enforce this by restricting the ability for `eosio_assert_code` to be used to fail with error code values used within this range. - -Therefore, contract developers should only reserve error codes from the first range above to use in their contracts. diff --git a/cdt/07_best-practices/08_abi/00_understanding-abi-files.md b/cdt/07_best-practices/08_abi/00_understanding-abi-files.md deleted file mode 100644 index a5b33165a..000000000 --- a/cdt/07_best-practices/08_abi/00_understanding-abi-files.md +++ /dev/null @@ -1,546 +0,0 @@ ---- -content_title: "Understanding ABI Files" -link_text: "Understanding ABI Files" ---- -## Introduction - -ABI files can be generated using the `cdt-cpp` utility provided by CDT. However, there are several situations that may cause ABI's generation to malfunction or fail altogether. Advanced C++ patterns can trip it up and custom types can sometimes cause issues for ABI generation. For this reason, it's **imperative** you understand how ABI files work, so you can debug and fix if and when necessary. - -## What is an ABI - -The Application Binary Interface (ABI) is a JSON-based description on how to convert user actions between their JSON and Binary representations. The ABI also describes how to convert the database state to/from JSON. Once you have described your contract via an ABI then developers and users will be able to interact with your contract seamlessly via JSON. - -[[warning | Security Note]] -| ABI can be bypassed when executing transactions. Messages and actions passed to a contract do not have to conform to the ABI. The ABI is a guide, not a gatekeeper. - -## Create an ABI File - -Start with an empty ABI, for exemplification we will work based on the `eosio.token` therefore name it `eosio.token.abi`: - -```text -{ - "version": "eosio::abi/1.0", - "types": [], - "structs": [], - "actions": [], - "tables": [], - "ricardian_clauses": [], - "abi_extensions": [], - "___comment" : "" -} -``` - -## Types - -An ABI enables any client or interface to interpret and even generate a GUI for your contract. For this to work consistently, describe the custom types that are used as a parameter in any public action or struct that needs to be described in the ABI. - -[[info | Built-in Types]] -| Antelope implements a number of custom built-ins. Built-in types don't need to be described in an ABI file. If you would like to familiarize yourself with Antelope's built-ins, they are defined [here](https://github.com/AntelopeIO/leap/blob/6817911900a088c60f91563995cf482d6b380b2d/libraries/chain/abi_serializer.cpp#L88-L129) - - -```json -{ - "new_type_name": "name", - "type": "name" -} -``` -The ABI now looks like this: - -```json -{ - "version": "eosio::abi/1.1", - "types": [{ - "new_type_name": "name", - "type": "name" - }], - "structs": [], - "actions": [], - "tables": [], - "ricardian_clauses": [], - "abi_extensions": [] -} -``` - -## Structs - -Structs that are exposed to the ABI also need to be described. By looking at eosio.token.hpp, it can be quickly determined which structs are utilized by public actions. This is particularly important for the next step. - -A struct's object definition in JSON looks like the following: - -```json -{ - "name": "issue", //The name - "base": "", //Inheritance, parent struct - "fields": [] //Array of field objects describing the struct's fields. -} -``` -## Fields - -```json -{ - "name":"", // The field's name - "type":"" // The field's type -} -``` -In the `eosio.token` contract, there's a number of structs that require definition. Please note, not all of the structs are explicitly defined, some correspond to an actions' parameters. Here's a list of structs that require an ABI description for the `eosio.token` contract: - -## Implicit Structs - -The following structs are implicit in that a struct was never explicitly defined in the contract. Looking at the [create](http://docs.eosnetwork.com/system-contracts/latest/reference/Classes/classeosio_1_1token#function-create) action, you'll find two parameters, `issuer` of type `name ` and `maximum_supply` of type `asset`. For brevity this tutorial won't break down every struct, but applying the same logic, you will end up with the following: - -### [create](http://docs.eosnetwork.com/system-contracts/latest/reference/Classes/classeosio_1_1token#function-create) - -```json -{ - "name": "create", - "base": "", - "fields": [ - { - "name":"issuer", - "type":"name" - }, - { - "name":"maximum_supply", - "type":"asset" - } - ] -} -``` -### [issue](http://docs.eosnetwork.com/system-contracts/latest/reference/Classes/classeosio_1_1token#function-issue) - -```json -{ - "name": "issue", - "base": "", - "fields": [ - { - "name":"to", - "type":"name" - }, - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] -} -``` -### [retire](http://docs.eosnetwork.com/system-contracts/latest/reference/Classes/classeosio_1_1token#function-retire) - -```json -{ - "name": "retire", - "base": "", - "fields": [ - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] -} -``` - -### [transfer](http://docs.eosnetwork.com/system-contracts/latest/reference/Classes/classeosio_1_1token#function-transfer) - -```json -{ - "name": "transfer", - "base": "", - "fields": [ - { - "name":"from", - "type":"name" - }, - { - "name":"to", - "type":"name" - }, - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] -} -``` - -### [close](http://docs.eosnetwork.com/system-contracts/latest/reference/Classes/classeosio_1_1token#function-close) - -```json -{ - "name": "close", - "base": "", - "fields": [ - { - "name":"owner", - "type":"name" - }, - { - "name":"symbol", - "type":"symbol" - } - ] - } -``` - -## Explicit Structs - -These structs are explicitly defined, as they are a requirement to instantiate a multi-index table. Describing them is no different than defining the implicit structs as demonstrated above. - -### [account](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L120) - -```json -{ - "name": "account", - "base": "", - "fields": [ - { - "name":"balance", - "type":"asset" - } - ] -} -``` - -## Actions - -An action's JSON object definition looks like the following: - -```json -{ - "name": "transfer", //The name of the action as defined in the contract - "type": "transfer", //The name of the implicit struct as described in the ABI - "ricardian_contract": "" //An optional ricardian clause to associate to this action describing its intended functionality. -} -``` -Describe the actions of the `eosio.token` contract by aggregating all the public functions described in the `eosio.token` contract's [header file](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp). - -Then describe each action's *type* according to its previously described struct. In most situations, the function name and the struct name will be equal, but are not required to be equal. - -Below is a list of actions that link to their source code with example JSON provided for how each action would be described. - -## [create](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L35-L37) - -```json -{ - "name": "create", - "type": "create", - "ricardian_contract": "" -} -``` - -## [issue](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L45-L46) - -```json -{ - "name": "issue", - "type": "issue", - "ricardian_contract": "" -} -``` - -## [retire](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L55-L56) - -```json -{ - "name": "retire", - "type": "retire", - "ricardian_contract": "" -} -``` - -## [transfer](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L67-L71) - -```json -{ - "name": "transfer", - "type": "transfer", - "ricardian_contract": "" -} -``` - -## [close](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L96-L97) - -```json -{ - "name": "close", - "type": "close", - "ricardian_contract": "" -} -``` - -## Tables - -Describe the tables. Here's a table's JSON object definition: - -```json -{ - "name": "", //The name of the table, determined during instantiation. - "type": "", //The table's corresponding struct - "index_type": "", //The type of primary index of this table - "key_names" : [], //An array of key names, length must equal length of key_types member - "key_types" : [] //An array of key types that correspond to key names array member, length of array must equal length of key names array. -} -``` - -The eosio.token contract instantiates two tables, [accounts](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L134) and [stat](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L135). - -The `accounts` table is an i64 index, based on the [`account` struct](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L120-L124), has a [`uint64` as it's primary key](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L123) - -Here's how the accounts table would be described in the ABI - -```json -{ - "name": "accounts", - "type": "account", // Corresponds to previously defined struct - "index_type": "i64", - "key_names" : ["primary_key"], - "key_types" : ["uint64"] -} -``` - -The `stat` table is an i64 index, based on the [`currency_stats` struct](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L126-L132), has a [`uint64` as it's primary key](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L131) - -Here's how the stat table would be described in the ABI - -```json -{ - "name": "stat", - "type": "currency_stats", - "index_type": "i64", - "key_names" : ["primary_key"], - "key_types" : ["uint64"] -} -``` -You'll notice the above tables have the same "key name." Naming your keys similar names is symbolic in that it can potentially suggest a subjective relationship. As with this implementation, implying that any given value can be used to query different tables. - -## Putting it all Together - -Finally, an ABI file that accurately describes the `eosio.token` contract. - -```json -{ - "version": "eosio::abi/1.1", - "types": [ - { - "new_type_name": "name", - "type": "name" - } - ], - "structs": [ - { - "name": "create", - "base": "", - "fields": [ - { - "name":"issuer", - "type":"name" - }, - { - "name":"maximum_supply", - "type":"asset" - } - ] - }, - { - "name": "issue", - "base": "", - "fields": [ - { - "name":"to", - "type":"name" - }, - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] - }, - { - "name": "retire", - "base": "", - "fields": [ - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] - }, - { - "name": "close", - "base": "", - "fields": [ - { - "name":"owner", - "type":"name" - }, - { - "name":"symbol", - "type":"symbol" - } - ] - }, - { - "name": "transfer", - "base": "", - "fields": [ - { - "name":"from", - "type":"name" - }, - { - "name":"to", - "type":"name" - }, - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] - }, - { - "name": "account", - "base": "", - "fields": [ - { - "name":"balance", - "type":"asset" - } - ] - }, - { - "name": "currency_stats", - "base": "", - "fields": [ - { - "name":"supply", - "type":"asset" - }, - { - "name":"max_supply", - "type":"asset" - }, - { - "name":"issuer", - "type":"name" - } - ] - } - ], - "actions": [ - { - "name": "transfer", - "type": "transfer", - "ricardian_contract": "" - }, - { - "name": "issue", - "type": "issue", - "ricardian_contract": "" - }, - { - "name": "retire", - "type": "retire", - "ricardian_contract": "" - }, - { - "name": "create", - "type": "create", - "ricardian_contract": "" - }, - { - "name": "close", - "type": "close", - "ricardian_contract": "" - } - ], - "tables": [ - { - "name": "accounts", - "type": "account", - "index_type": "i64", - "key_names" : ["currency"], - "key_types" : ["uint64"] - }, - { - "name": "stat", - "type": "currency_stats", - "index_type": "i64", - "key_names" : ["currency"], - "key_types" : ["uint64"] - } - ], - "ricardian_clauses": [], - "abi_extensions": [] -} -``` - -## Cases not Covered by Token Contract - -## Vectors - -When describing a vector in your ABI file, simply append the type with `[]`, so if you need to describe a vector of permission levels, you would describe it like so: `permission_level[]` - -## Struct Base - -It's a rarely used property worth mentioning. You can use **base** ABI struct property to reference another struct for inheritance, as long as that struct is also described in the same ABI file. Base will do nothing or potentially throw an error if your smart contract logic does not support inheritance. - -You can see an example of base in use in the system contract [source code](https://github.com/AntelopeIO/reference-contracts/blob/9d9401e1bd937406b4e2c4f2fd234f22a2d6e3bc/contracts/eosio.system/include/eosio.system/eosio.system.hpp#L141). - -The corresponsing ABI definition would look like this: - -```json -{ - "name": "eosio_global_state", - "base": "blockchain_parameters", - "fields": [ - {"name":"max_ram_size", "type":"uint64"}, - {"name":"total_ram_bytes_reserved", "type":"uint64"}, - {"name":"total_ram_stake", "type":"int64"}, - ] -} -``` - -## Extra ABI Properties Not Covered Here - -A few properties of the ABI specification were skipped here for brevity, however, there is a pending ABI specification that will outline every property of the ABI in its entirety. - -## Ricardian Clauses - -Ricardian clauses describe the intended outcome of a particular actions. It may also be utilized to establish terms between the sender and the contract. - -## ABI Extensions - -A generic "future proofing" layer that allows old clients to skip the parsing of "chunks" of extension data. For now, this property is unused. In the future each extension would have its own "chunk" in that vector so that older clients skip it and newer clients that understand how to interpret it. - -## Maintenance - -Every time you change a struct, add a table, add an action or add parameters to an action, use a new type, you will need to remember to update your ABI file. In many cases failure to update your ABI file will not produce any error. - -## Troubleshooting - -### Table returns no rows - -Check that your table is accurately described in the ABI file. For example, If you use `cleos` to add a table on a contract with a malformed ABI definition and then get rows from that table, you will receive an empty result. `cleos` will not produce an error when adding a row nor reading a row when a contract has failed to properly describe its tables in its ABI. diff --git a/cdt/07_best-practices/08_abi/01_abi-code-generator-attributes-explained.md b/cdt/07_best-practices/08_abi/01_abi-code-generator-attributes-explained.md deleted file mode 100644 index a07729736..000000000 --- a/cdt/07_best-practices/08_abi/01_abi-code-generator-attributes-explained.md +++ /dev/null @@ -1,116 +0,0 @@ ---- -content_title: ABI/Code generator attributes -link_text: ABI/Code generator attributes ---- - -The new ABI generator tool uses C++11 or GNU style attributes to mark `actions` and `tables`. - -## [[eosio::action]] -This attribute marks a method as an action. -Example (four ways to declare an action for ABI generation): -```cpp -// this is the C++11 and greater style attribute -[[eosio::action]] -void testa( name n ) { - // do something -} - -// this is the GNU style attribute, this can be used in C code and prior to C++ 11 -__attribute__((eosio_action)) -void testa( name n ){ - // do something -} - -struct [[eosio::action]] testa { - name n; - EOSLIB_SERIALIZE( testa, (n) ) -}; - -struct __attribute__((eosio_action)) testa { - name n; - EOSLIB_SERIALIZE( testa, (n) ) -}; -``` - -If your action name is not a valid [Antelope name](../02_naming-conventions.md) you can explicitly specify the name in the attribute ```c++ [[eosio::action("")]]``` - -## [[eosio::table]] -Example (two ways to declare a table for ABI generation): -```cpp -struct [[eosio::table]] testtable { - uint64_t owner; - /* all other fields */ -}; - -struct __attribute__((eosio_table)) testtable { - uint64_t owner; - /* all other fields */ -}; - -typedef eosio::multi_index<"tablename"_n, testtable> testtable_t; -``` - -If you don't want to use the multi-index you can explicitly specify the name in the attribute ```c++ [[eosio::table("")]]```. - -## [[eosio::contract("ANY_NAME_YOU_LIKE")]] -```cpp -class [[eosio::contract("ANY_NAME_YOU_LIKE")]] test_contract : public eosio::contract { -}; -``` - -The code above will mark this `class` as being an `Antelope` contract, this allows for namespacing of contracts, i.e. you can include headers like `eosio::token` and not have `eosio::token`'s actions/tables wind up in you ABI or generated dispatcher. - -## [[eosio::on_notify("VALID_EOSIO_ACCOUNT_NAME::VALID_EOSIO_ACTION_NAME")]] -```cpp -[[eosio::on_notify("eosio.token::transfer")]] -void on_token_transfer(name from, name to, assert quantity, std::string memo) { - // do something on eosio.token contract's transfer action from any account to the account where the contract is deployed. -} - -[[eosio::on_notify("*::transfer")]] -void on_any_transfer(name from, name to, assert quantity, std::string memo) { - // do something on any contract's transfer action from any account to the account where the contract is deployed. -} -``` - -## [[eosio::wasm_entry]] -```cpp -[[eosio::wasm_entry]] -void some_function(...) { - // do something -} -``` - -The code above will mark an arbitrary function as an entry point, which will then wrap the function with global constructors (ctors) and global destructors (dtors). This will allow for the CDT toolchain to produce WASM binaries for other ecosystems. - -## [[eosio::wasm_import]] -```cpp -extern "C" { - __attribute__((eosio_wasm_import)) - void some_intrinsic(...); -} -``` - -The code above will mark a function declaration as being a WebAssembly import. This allows for other compilation modes to specify which functions are import only (i.e. do not link) without having to maintain a secondary file with duplicate declarations. - -## [[eosio::action, eosio::read-only]] -The `read-only` attribute marks a method which has been defined as an action as a read-only action. - -Example: - -```cpp -[[eosio::action, eosio::read-only]] -std::vector get() { - std::vector ret; - // retrieve blockchain state and populate the ret vector - return ret; -} -``` - -Contract actions tagged read-only: -* Cannot call insert/update (write) functions on the `Multi-Index API`, nor the `Key Value API`. -* Cannot call `deferred transactions`. -* Cannot call `inline actions`. -* The amount of data returned by read-only queries is limited by the action return value size. By default these are set to 256 bytes by `default_max_action_return_value_size`. - -The `cdt-cpp` and `cdt-cc` tools will generate an error and terminate compilation if an action tagged read-only attempts to call insert/update (write) functions, `deferred transactions` or `inline actions`. However, if the command-line override option `--warn-action-read-only` is used, the `cdt-cpp` and `cdt-cc` tools will issue a warning and continue compilation. diff --git a/cdt/07_best-practices/08_abi/02_manually_write_an_ABI_file_explained.md b/cdt/07_best-practices/08_abi/02_manually_write_an_ABI_file_explained.md deleted file mode 100644 index b67bee83c..000000000 --- a/cdt/07_best-practices/08_abi/02_manually_write_an_ABI_file_explained.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -content_title: Manually write/edit an ABI file -link_text: Manually write/edit an ABI file ---- - -- Advanced features of the newest version of the ABI will require manual construction of the ABI, and odd and advanced C++ patterns could capsize the generator's type deductions. So having a good knowledge of how to write an ABI should be an essential piece of knowledge of a smart contract writer. -- Please refer to [Create an ABI File](00_understanding-abi-files.md#create-an-abi-file) to learn about the different sections of an ABI. - -## Adding Ricardian Contracts and Clauses to ABI -- The ABI generator will try to automatically import contracts and clauses into the generated ABI. There are a few caveats to this, one is a strict naming policy of the files and an HTML tag used to mark each Ricardian contract and each clause. -- The Ricardian contracts should be housed in a file with the name `.contracts.md` and the clauses should be in a file named `.clauses.md`. - - For each Ricardian contract the header `

ActionName

` should be used, as this directs the ABI generator to attach this Ricardian contract to the specified action. - - For each Ricardian clause, the header `

ClauseID

` should be used, as this directs the ABI generator to the clause id and the subsequent body. - - The option `-R` has been added to [`cdt-cpp`](../../03_command-reference/cdt-cpp.md) to add "resource" paths to search from, so you can place these files in any directory structure you like and use `-R` in the same vein as `-I` for include paths. - - For exemplification see [hello.contracts.md](https://github.com/AntelopeIO/cdt/blob/main/examples/hello/ricardian/hello.contracts.md). diff --git a/cdt/07_best-practices/08_abi/index.md b/cdt/07_best-practices/08_abi/index.md deleted file mode 100644 index 1b8648053..000000000 --- a/cdt/07_best-practices/08_abi/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -content_title: ABI -link_text: ABI ---- - -- [Understanding ABI Files](00_understanding-abi-files.md) -- [ABI/Code generator attributes](01_abi-code-generator-attributes-explained.md) -- [Manually write/edit an ABI file](02_manually_write_an_ABI_file_explained.md) diff --git a/cdt/07_best-practices/11_debugging_a_smart_contract.md b/cdt/07_best-practices/11_debugging_a_smart_contract.md deleted file mode 100644 index d32c505ea..000000000 --- a/cdt/07_best-practices/11_debugging_a_smart_contract.md +++ /dev/null @@ -1,120 +0,0 @@ ---- -content_title: Debugging a smart contract ---- - -In order to be able to debug your smart contract, you will need to setup a local nodeos node. This local nodeos node can be run as separate private testnet or as an extension of a public testnet. This local node also needs to be run with the contracts-console option on, either `--contracts-console` via the command line or `contracts-console = true` via the config.ini and/or by setting up logging on your running nodeos node and checking the output logs. See below for details on logging. - -When you are creating your smart contract for the first time, it is recommended to test and debug your smart contract on a private testnet first, since you have full control of the whole blockchain and can easily add suitable logging. This enables you to have unlimited amount of eos needed and you can just reset the state of the blockchain whenever you want. When it is ready for production, debugging on the public testnet (or official testnet) can be done by connecting your local nodeos to the public testnet (or official testnet) so you can see the log of the testnet in your local nodeos. - -The concept is the same, so for the following guide, debugging on the private testnet will be covered. - -If you haven't set up your own local nodeos, follow the [DUNE setup guide](https://github.com/AntelopeIO/DUNE#readme). By default, your local nodeos will just run in a private testnet unless you modify the config.ini file to connect with public testnet (or official testnet) nodes. - -# Method - -The main method used to debug smart contract is **Caveman Debugging**. Printing is utilized to inspect the value of a variable and check the flow of the contract. Printing in smart contracts can be done through the Print API. The C++ API is a wrapper for C API and is the recommended API. - -# Print - -Print C API supports the following data type that you can print: -- prints - a null terminated char array (string) -- prints_l - any char array (string) with given size -- printi - 64-bit signed integer -- printui - 64-bit unsigned integer -- printi128 - 128-bit signed integer -- printui128 - 128-bit unsigned integer -- printsf - single-precision floating point number -- printdf - double encoded as 64-bit unsigned integer -- printqf - quadruple encoded as 64-bit unsigned integer -- printn - 64 bit names as base32 encoded string -- printhex - hex given binary of data and its size - -The Print C++ API wraps some of the above C API by overriding the print() function, so the user doesn't need to determine which specific print function to use. Print C++ API supports: -- a null terminated char array (string) -- integer (128-bit unsigned, 64-bit unsigned, 32-bit unsigned, signed, unsigned) -- base32 string encoded as 64-bit unsigned integer -- struct that has print() method - -# Example -Here's an example contract for debugging - -## debug.hpp - -```cpp -namespace debug { - struct foo { - account_name from; - account_name to; - uint64_t amount; - void print() const { - eosio::print("Foo from ", eosio::name(from), " to ", eosio::name(to), " with amount ", amount, "\n"); - } - }; -} -``` -## debug.cpp - -```cpp -#include - -extern "C" { - - void apply( uint64_t code, uint64_t action ) { - if (code == N(debug)) { - eosio::print("Code is debug\n"); - if (action == N(foo)) { - eosio::print("Action is foo\n"); - debug::foo f = eosio::unpack_action_data(); - if (f.amount >= 100) { - eosio::print("Amount is larger or equal than 100\n"); - } else { - eosio::print("Amount is smaller than 100\n"); - eosio::print("Increase amount by 10\n"); - f.amount += 10; - eosio::print(f); - } - } - } - } -} // extern "C" -``` -## debug.abi - -```json -{ - "structs": [{ - "name": "foo", - "base": "", - "fields": { - "from": "account_name", - "to": "account_name", - "amount": "uint64" - } - } - ], - "actions": [{ - "action_name": "foo", - "type": "foo" - } - ] -} -``` -Deploy it and push an action to it. It is assumed you have a `debug` account created and have its key in your wallet. - -```bash -$ cdt-cpp -abigen debug.cpp -o debug.wasm -$ cleos set contract debug CONTRACT_DIR/debug -p youraccount@active -$ cleos push action debug foo '{"from":"inita", "to":"initb", "amount":10}' --scope debug -``` - -When you check your local `nodeos` node log, you will see the following lines after the above message is sent. - -``` -Code is debug -Action is foo -Amount is smaller than 100 -Increase amount by 10 -Foo from inita to initb with amount 20 -``` - -There, you can confirm that your message is going to the right control flow and the amount is updated correctly. You might see the above message at least 2 times and that's normal because each transaction is being applied during verification, block generation, and block application. \ No newline at end of file diff --git a/cdt/07_best-practices/naming-conventions-format.png b/cdt/07_best-practices/naming-conventions-format.png deleted file mode 100644 index 3db1f378f..000000000 Binary files a/cdt/07_best-practices/naming-conventions-format.png and /dev/null differ diff --git a/cdt/08_troubleshooting/index.md b/cdt/08_troubleshooting/index.md deleted file mode 100644 index ffda655a7..000000000 --- a/cdt/08_troubleshooting/index.md +++ /dev/null @@ -1,203 +0,0 @@ ---- -content_title: Troubleshooting ---- - -## When sending an action to the blockchain you get the error below - -```console -{ - "code":500, - "message":"Internal Service Error", - "error":{ - "code":3090003, - "name":"unsatisfied_authorization", - "what":"Provided keys, permissions, and delays do not satisfy declared authorizations", - "details":[ - { - "message":"transaction declares authority '{"actor":"account_name","permission":"permission_name"}', but does not have signatures for it under a provided delay of 0 ms, provided permissions [], provided keys ["EOS5ZcMvpgtDMdVtvCFewAQYTyfN6Vqhg4kdgauffx3jiaKaeWfY1"], and a delay max limit of 3888000000 ms", - "file":"authorization_manager.cpp", - "line_number":524, - "method":"check_authorization" - } - ] - } -} -``` - -__Possible solution__: Verify if you did not forget to set code for contract, is it possible that you only set the `abi` for the contract but not the code as well? - -## When sending an action to the blockchain an error similar to the one below is encountered - -```console -Error 3015014: Pack data exception -Error Details: -Unexpected input encountered while processing struct 'action_name_here' -``` - -__Possible solution__: You did not specify correctly the parameter when sending the action to the blockchain. When no parameter is needed the command should look like the one below - -```sh -cleos push action eostutorial1 get '[]' -p eostutorial1@active -``` - -The command above is one way of sending correctly `get` action with no parameters to the blockchain. - -## When sending an action to the blockchain an error similar to the one below is encountered - -```console -error 2019-09-25T07:38:14.859 thread-0 main.cpp:3449 main ] Failed with error: Assert Exception (10) -!action_type.empty(): Unknown action action_name in contract eostutorial1 -``` - -__Possible solution__: Verify if the action attribute `[[eosio::action]]` is used when defining and/or declaring the action `action_name` for the contract. - -## When deploying a contract code to the blockchain a similar error with the ones below is encountered - -```console -Error 3160010: No abi file found -or -Error 3160009: No wasm file found -``` - -__Possible solution__: Verify that `abi` and `wasm` files exist in the directory specified in the `cleos set contract` command, and that their names match the directory name. - -## Action triggers a ram charge which cannot be initiated from a notification - -__Possible solution__: This error happens because the notification action has no authorization to buy the needed RAM. In the context of multi-index tables, there is a table payer and a row payer. Only the contract can modify rows. The contract can create rows with a payer that did not authorize the action if the total amount of ram charged does not increase (e.g. delete a row and add another with the same payer). The table payer can not change until the last row is deleted. For the purposes of billing, a table is identified by the tuple `contract, scope, table`. When you create a row for a `contract, scope, table` tuple that doesn’t exist, you create a table with the same payer. This can outlive the original row which created it, if other rows were created with that combination and this prevents the original payer from getting their ram back. Secondary indexes throw in more complexity since they use the lower 4 bits of the table name, producing additional `contract, scope, table` tuples combinations. Key takeaway: payer is about billing, not access control - -## You successfully re-deployed the contract code, but when you query the table you get the custom message that you coded when the table is not initialized (doesn't exist), or the system error message below in case you do not have code that checks first if table exist - -```console -Error 3050003: eosio_assert_message assertion failure -Error Details: -assertion failure with message: singleton does not exist -pending console output: -``` - -__Possible solution__: It is possible that you changed the table name? That is the first, of `eosio::name` type, parameter which you passed to the `eosio::template` type alias definition. Or did you change the table structure definition at all? If you need to change the table structure definition there are some limitations and a couple of ways to do it which are explained in the [Data Design and Migration](./07_best-practices/04_data-design-and-migration.md) section. - -## You successfully re-deployed the contract code, but when you query the table you get the fields of the row values swapped, that is, it appears the values stored in table rows are the same only that they are swapped between fields/columns - -__Possible solution__: It is possible that you changed the order of the fields the table struct definition? If you change the order of the table struct definition, if the swapped fields have the same type you will see the data in the fields correctly, however if the types of the fields are different the results could be of something undefined. If you need to change the table structure definition there are some limitations and a couple of ways to do it which are explained in the [Data Design and Migration](./07_best-practices/04_data-design-and-migration.md) section. - -## You successfully re-deployed the contract code, but when you query the table you get a parse error, like the one below, or the returned data seems to be garbage - -```console -error 2019-09-26T07:05:54.825 thread-0 main.cpp:3449 main ] Failed with error: Parse Error (4) -Couldn't parse type_name -``` - -__Possible solution__: It is possible that you changed the type of the fields for the table struct definition? If you need to change the table structure definition there are some limitations and a couple of ways to do it which are explained in the [Data Design and Migration](./07_best-practices/04_data-design-and-migration.md) section. - -## cdt-cpp process never completes - -__Possible solution__: make sure you have at least 2 cores on the host that executes the cdt-cpp (e.g. docker container, VM, local sub-system) - -## You can not find the `now()` time function, or the result of the `current_time_point` functions are not what you expected them to be - -__Possible solution__: The `now()` function has been replaced by `current_time_point().sec_since_epoch()`, it returns the time in microseconds from 1970 of the `current block` as a time_point. There's also available `current_block_time()` which returns the time in microseconds from 1970 of the `current block` as a `block_timestamp`. Be aware that for time base functions, the assumption is when you call something like `now()` or `current_time()` you will get the exact now/current time, however that is not the case with Antelope, you get __the block time__, and only ever get __the block time__ from the available `sec_since_epoch()` or `current_block_time()` no matter how many times you call it. - -## You successfully re-deployed the contract code, but when you broadcast one of the contracts methods to the blockchain you get below error message - -```console -Error 3050004: eosio_assert_code assertion failure -Error Details: -assertion failure with error code: 8000000000000000000 -``` - -__Possible solution__: If you are referencing a smart contract from another smart contract and each of them have at least one action with the same name you will experience the above error when sending to the blockchain one of those actions, so what you have to do is to make sure the action names between those two contracts are not common. - -## Print statements from smart contract code are not seen in the output - -__Possible solution__: There are a few reasons print statements do not show up in the output. One reason could be because an error occurs, in which case the whole transaction is rolled back and the print statements output is replaced by the error that occurs instead; Another reason is if you are in a loop, iterating through a table's rows for example and for each row you have a print statement that prints also the new line char at the `'\n'` only the chars before the new line char from the first iteration will be printed, nothing else after that, nothing from the second iteration onwards either. - -The below code will print just the first line of the iteration. - -```cpp - auto index=0; - for (auto& item : testtab) - { - eosio::print_f("{item %}={%, %, %} \n", ++index, item.test_primary, item.secondary, item.datum); - } -``` - -The below code will print all lines of the iteration separated by `'|'` char. - -```cpp - auto index=0; - for (auto& item : testtab) - { - eosio::print_f("{item %}={%, %, %} |", ++index, item.test_primary, item.secondary, item.datum); - } -``` - -## Print statements from smart contract code are not shown in the `expected order` - -__Possible solution__: The key point here is the `expected order` and what you think it should be. Although the Antelope is single threaded, when looking at your smart contract action code implementation, which let's say it has a series of `print` (either `print_f` or `printf`) statements, they might not necessarily be outputted in the order the `apparent` code workflow is. One example is when inline transactions are sent from your smart contract action code, and you expect to see the `print` statements from within the inline action code outputted before the `print` statements made after the inline action `send` statement. For better exemplification let's look at the code below: - -```cpp -[[eosio::action]] void multi_index_example::mod( name user, uint64_t n ) { - - // `mod` action implementation code goes here... - - print_f("Output line before the inline send action.") - - singleton_set_action singleton_set("eostutorial1"_n, {get_self(), "active"_n}); - singleton_set.send(get_self(), n, get_self()); - - print_f("Output line after the inline send action.") -} -``` - -The code above has one `print` statement before the `singleton_set.send` and another one after the `singleton_set.send`. If you wrote some more `print` statements in the code that implements the `singleton_set.send` action and expect to see them before the second `print` statement then it is a wrong assumption. The inline actions are broadcasted to the network and they are executed at a different time, asynchronous of the current execution thread of the current `multi_index_example::mod` action, therefor it is impossible to predict when the `print` statements from inline action code will be outputted. - -## Assertion failure while creating an account after eosio.system was installed - -```sh -cleos create account eosio bob EOS5HUanbay86UUnr1d4fuBsQ3ksjfgZYoLUVvrYVLy6pj4i8xqVY -``` - -```console -Error 3050003: eosio_assert_message assertion failure -Error Details: -assertion failure with message: system contract must first be initialized -``` - -The failure is stating that `eosio.system` `init` action was not called yet. The `init` action is implemented by the `void init(uint64_t, symbol)` function. The first parameter is the version, this should always be `0` for now, until a new version of `init` will be created that handles more information. -The second parameter is the system's symbol (i.e. for main net this is `EOS`). If you followed the [BIOS Boot Sequence](https://docs.eosnetwork.com/docs/latest/tutorials/bios-boot-sequence) tutorial and created a system with the default symbol `SYS` then `SYS` shall be used as the system's symbol in the `init` action. It is whatever symbol you as the chain creator want to use in your `Antelope` based blockchain. - -## Backward incompatible change in generating abi for maps - -In CDT version 3.0.1, there has been breaking ABI change in std::map. The change is as follows: - -Old Version (CDT 3.0.0 or earlier): -``` - "fields": [ - { - "name": "key", - "type": "" - }, - { - "name": "value", - "type": "" - } - ] -``` - -New Version (CDT 3.0.1 and above): -``` - "fields": [ - { - "name": "first", - "type": "" - }, - { - "name": "second", - "type": "" - } - ] -``` - -As a result, if you are using code based on CDT 3.0.0 or earlier, you may encounter errors when upgrading to CDT 3.0.1 and above. -An example error message could be: `Error: missing pair_uint64_bytes.first (type=uint64)`. -To resolve this issue, you need to update your code to use `first` and `second` to access the elements of `std::map`, instead of the old `key` and `value` identifiers. \ No newline at end of file diff --git a/cdt/09_tutorials/01_binary-extension.md b/cdt/09_tutorials/01_binary-extension.md deleted file mode 100644 index e02590e31..000000000 --- a/cdt/09_tutorials/01_binary-extension.md +++ /dev/null @@ -1,789 +0,0 @@ ---- -content_title: eosio::binary_extension ---- - -You can find the implementation of `eosio::binary_extension` within the CDT repository in the file [binary_extension.hpp](https://github.com/AntelopeIO/cdt/blob/main/libraries/eosiolib/core/eosio/binary_extension.hpp). - -The primary concern when using this type is when you are adding a new field to a smart contract's data structure that is currently utilized in an `eosio::multi_index` type (AKA a _table_), or when adding a new parameter to an action declaration. - -By wrapping the new field in an `eosio::binary_extension`, you are enabling your contract to be backwards compatible for future use. Note that this new field/parameter **MUST** be appended at the end of a data structure (this is due to implementation details in `eosio::multi_index`, which relies on the `boost::multi_index` type), or at the end of the parameter list in an action declaration. - -If you don't wrap the new field in an `eosio::binary_extension`, the `eosio::multi_index` table will be reformatted in such a way that disallows reads to the former datum; or in an action's case, the function will be un-callable. - -
How the `eosio::binary_extension` type works - -Take a moment to study this smart contract and its corresponding `.abi`. - -This contract not only serves as a good example to the `eosio::binary_extension` type, but can also be used as a gateway for developing smart contracts on the eosio protocol. - -**binary_extension_contract.hpp** - -```c++ -#include // eosio::contract -#include // eosio::binary_extension -#include // eosio::datastream -#include // eosio::name -#include // eosio::indexed_by, eosio::multi_index -#include // eosio::print_f - -class [[eosio::contract]] binary_extension_contract : public eosio::contract { -public: - using contract::contract; - binary_extension_contract(eosio::name receiver, eosio::name code, eosio::datastream ds) - : contract{receiver, code, ds}, _table{receiver, receiver.value} - { } - - [[eosio::action]] void regpkey (eosio::name primary_key); ///< Register primary key. - [[eosio::action]] void printbyp(eosio::name primary_key); ///< Print by primary key. - [[eosio::action]] void printbys(eosio::name secondary_key); ///< Print by secondary key. - [[eosio::action]] void modifyp (eosio::name primary_key, eosio::name n); ///< Modify primary key by primary key. - [[eosio::action]] void modifys (eosio::name primary_key, eosio::name n); ///< Modify secondary key by primary key. - - struct [[eosio::table]] structure { - eosio::name _primary_key; - eosio::name _secondary_key; - - uint64_t primary_key() const { return _primary_key.value; } - uint64_t secondary_key() const { return _secondary_key.value; } - }; - - using index1 = eosio::indexed_by<"index1"_n, eosio::const_mem_fun>; - using index2 = eosio::indexed_by<"index2"_n, eosio::const_mem_fun>; - using table = eosio::multi_index<"table"_n, structure, index1, index2>; - -private: - table _table; -}; - -``` - -**binary_extension_contract.cpp** - -```c++ -#include "binary_extension_contract.hpp" - -using eosio::name; - -[[eosio::action]] void binary_extension_contract::regpkey(name primary_key) { - eosio::print_f("`regpkey` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; ///< `index` represents `_table` organized by `index1`. - auto iter {index.find(primary_key.value) }; ///< Note: the type returned by `index.find` is different than the type returned by `_table.find`. - - if (iter == _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % not found; registering.\n", primary_key.to_string()); - _table.emplace(_self, [&](auto& row) { - row._primary_key = primary_key; - row._secondary_key = "nothin"_n; - }); - } - else { - eosio::print_f("`_primary_key`: % found; not registering.\n", primary_key.to_string()); - } - - eosio::print_f("`regpkey` finished executing.\n"); -} - -[[eosio::action]] void binary_extension_contract::printbyp(eosio::name primary_key) { - eosio::print_f("`printbyp` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; - auto iter {index.find(primary_key.value) }; - - if (iter != _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % found; printing.\n", primary_key.to_string()); - eosio::print_f("{%, %}\n", iter->_primary_key, iter->_secondary_key); - } - else { - eosio::print_f("`_primary_key`: % not found; not printing.\n", primary_key.to_string()); - } - - eosio::print_f("`printbyp` finished executing.\n"); -} - -[[eosio::action]] void binary_extension_contract::printbys(eosio::name secondary_key) { - eosio::print_f("`printbys` executing.\n"); - - auto index{_table.get_index<"index2"_n>()}; - auto iter {index.find(secondary_key.value)}; - - if (iter != _table.get_index<"index2"_n>().end()) { - eosio::print_f("`_secondary_key`: % found; printing.\n", secondary_key.to_string()); - printbyp(iter->_primary_key); - } - else { - eosio::print_f("`_secondary_key`: % not found; not printing.\n", secondary_key.to_string()); - } - - eosio::print_f("`printbys` finished executing.\n"); -} - -[[eosio::action]] void binary_extension_contract::modifyp(eosio::name primary_key, name n) { - eosio::print_f("`modifyp` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; - auto iter {index.find(primary_key.value)}; - - if (iter != _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % found; modifying `_primary_key`.\n", primary_key.to_string()); - index.modify(iter, _self, [&](auto& row) { - row._primary_key = n; - }); - } - else { - eosio::print_f("`_primary_key`: % not found; not modifying `_primary_key`.\n", primary_key.to_string()); - } - - eosio::print_f("`modifyp` finished executing.\n"); -} - -[[eosio::action]] void binary_extension_contract::modifys(eosio::name primary_key, name n) { - eosio::print_f("`modifys` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; - auto iter {index.find(primary_key.value)}; - - if (iter != _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % found; modifying `_secondary_key`.\n", primary_key.to_string()); - index.modify(iter, _self, [&](auto& row) { - row._secondary_key = n; - }); - } - else { - eosio::print_f("`_primary_key`: % not found; not modifying `_secondary_key`.\n", primary_key.to_string()); - } - - eosio::print_f("`modifys` finished executing.\n"); -} -``` - -**binary_extension_contract.abi** - -```javascript -{ - "____comment": "This file was generated with eosio-abigen. DO NOT EDIT ", - "version": "eosio::abi/1.1", - "types": [], - "structs": [ - { - "name": "modifyp", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - }, - { - "name": "n", - "type": "name" - } - ] - }, - { - "name": "modifys", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - }, - { - "name": "n", - "type": "name" - } - ] - }, - { - "name": "printbyp", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - } - ] - }, - { - "name": "printbys", - "base": "", - "fields": [ - { - "name": "secondary_key", - "type": "name" - } - ] - }, - { - "name": "regpkey", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - } - ] - }, - { - "name": "structure", - "base": "", - "fields": [ - { - "name": "_primary_key", - "type": "name" - }, - { - "name": "_secondary_key", - "type": "name" - } - ] - } - ], - "actions": [ - { - "name": "modifyp", - "type": "modifyp", - "ricardian_contract": "" - }, - { - "name": "modifys", - "type": "modifys", - "ricardian_contract": "" - }, - { - "name": "printbyp", - "type": "printbyp", - "ricardian_contract": "" - }, - { - "name": "printbys", - "type": "printbys", - "ricardian_contract": "" - }, - { - "name": "regpkey", - "type": "regpkey", - "ricardian_contract": "" - } - ], - "tables": [ - { - "name": "table", - "type": "structure", - "index_type": "i64", - "key_names": [], - "key_types": [] - } - ], - "ricardian_clauses": [], - "variants": [] -} -``` - -
- -Take note of the action `regpkey`, and the struct `structure` in `con.hpp` and `con.cpp`; the parts of the contract you will be upgrading. - -**binary_extension_contract.hpp** - -```c++ -[[eosio::action]] void regpkey (eosio::name primary_key); -``` - -```c++ -struct [[eosio::table]] structure { - eosio::name _primary_key; - eosio::name _secondary_key; - - uint64_t primary_key() const { return _primary_key.value; } - uint64_t secondary_key() const { return _secondary_key.value; } -}; -``` - -**binary_extension_contract.cpp** - -```c++ -[[eosio::action]] void binary_extension_contract::regpkey(name primary_key) { - eosio::print_f("`regpkey` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; ///< `index` represents `_table` organized by `index1`. - auto iter {index.find(primary_key.value) }; ///< Note: the type returned by `index.find` is different than the type returned by `_table.find`. - - if (iter == _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % not found; registering.\n", primary_key.to_string()); - _table.emplace(_self, [&](auto& row) { - row._primary_key = primary_key; - row._secondary_key = "nothin"_n; - }); - } - else { - eosio::print_f("`_primary_key`: % found; not registering.\n", primary_key.to_string()); - } - - eosio::print_f("`regpkey` finished executing.\n"); -} -``` - -Find below their corresponding sections in the `.abi` files: - -**binary_extension_contract.abi** - -```javascript -{ - "name": "regpkey", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - } - ] -} -``` - -```javascript -{ - "name": "structure", - "base": "", - "fields": [ - { - "name": "_primary_key", - "type": "name" - }, - { - "name": "_secondary_key", - "type": "name" - } - ] -} -``` - -
Start up a blockchain instance, compile this smart contract, and test it out. - -``` -~/binary_extension_contract $ cdt-cpp binary_extension_contract.cpp -o binary_extension_contract.wasm -``` - -``` -~/binary_extension_contract $ cleos set contract eosio ./ -``` - -``` -Reading WASM from /Users/john.debord/binary_extension_contract/binary_extension_contract.wasm... -Publishing contract... -executed transaction: 6c5c7d869a5be67611869b5f300bc452bc57d258d11755f12ced99c7d7fe154c 4160 bytes 729 us -# eosio <= eosio::setcode "0000000000ea30550000d7600061736d01000000018f011760000060017f0060027f7f0060037f7f7f017f6000017e60067... -# eosio <= eosio::setabi "0000000000ea3055d1020e656f73696f3a3a6162692f312e310006076d6f646966797000020b7072696d6172795f6b65790... -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -Next, push some data to the contract defined. - -``` -~/binary_extension_contract $ cleos push action eosio regpkey '{"primary_key":"eosio.name"}' -p eosio -``` - -``` -executed transaction: 3c708f10dcbf4412801d901eb82687e82287c2249a29a2f4e746d0116d6795f0 104 bytes 248 us -# eosio <= eosio::regpkey {"primary_key":"eosio.name"} -[(eosio,regpkey)->eosio]: CONSOLE OUTPUT BEGIN ===================== -`regpkey` executing. -`_primary_key`: eosio.name not found; registering. -`regpkey` finished executing. -[(eosio,regpkey)->eosio]: CONSOLE OUTPUT END ===================== -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -Finally, read back the data you have just written. - -``` -~/binary_extension_contract $ cleos push action eosio printbyp '{"primary_key":"eosio.name"}' -p eosio -``` - -``` -executed transaction: e9b77d3cfba322a7a3a93970c0c883cb8b67e2072a26d714d46eef9d79b2f55e 104 bytes 227 us -# eosio <= eosio::printbyp {"primary_key":"eosio.name"} -[(eosio,printbyp)->eosio]: CONSOLE OUTPUT BEGIN ===================== -`printbyp` executing. -`_primary_key`: eosio.name found; printing. -{eosio.name, nothin} -`printbyp` finished executing. -[(eosio,printbyp)->eosio]: CONSOLE OUTPUT END ===================== -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -
Upgrade the smart contract by adding a new field to the table and a new parameter to an action while **NOT** wrapping the new field/parameter in an `eosio::binary_extension` type and see what happens: - -**binary_extension_contract.hpp** - -```diff -+[[eosio::action]] void regpkey (eosio::name primary_key, eosio::name secondary_key); --[[eosio::action]] void regpkey (eosio::name primary_key); -``` - -```diff -struct [[eosio::table]] structure { - eosio::name _primary_key; - eosio::name _secondary_key; -+ eosio::name _non_binary_extension_key; - - uint64_t primary_key() const { return _primary_key.value; } - uint64_t secondary_key() const { return _secondary_key.value; } -}; -``` - -**binary_extension_contract.cpp** - -```diff -+[[eosio::action]] void binary_extension_contract::regpkey(name primary_key, name secondary_key) { --[[eosio::action]] void binary_extension_contract::regpkey(name primary_key) { - eosio::print_f("`regpkey` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; ///< `index` represents `_table` organized by `index1`. - auto iter {index.find(primary_key.value) }; ///< Note: the type returned by `index.find` is different than the type returned by `_table.find`. - - if (iter == _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % not found; registering.\n", primary_key.to_string()); - _table.emplace(_self, [&](auto& row) { - row._primary_key = primary_key; -+ if (secondary_key) { -+ row._secondary_key = secondary_key; -+ } -+ else { - row._secondary_key = "nothin"_n; -+ } - }); - } - else { - eosio::print_f("`_primary_key`: % found; not registering.\n", primary_key.to_string()); - } - - eosio::print_f("`regpkey` finished executing.\n"); -} -``` - -**binary_extension_contract.abi** -```diff -{ - "name": "regpkey", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" -+ }, -+ { -+ "name": "secondary_key", -+ "type": "name" - } - ] -} -``` - -```diff -{ - "name": "structure", - "base": "", - "fields": [ - { - "name": "_primary_key", - "type": "name" - }, - { - "name": "_secondary_key", - "type": "name" -+ }, -+ { -+ "name": "_non_binary_extension_key", -+ "type": "name" - } - ] -} -``` - -Next, upgrade the contract and try to read from table and write to table the original way: - -``` -~/binary_extension_contract $ cdt-cpp binary_extension_contract.cpp -o binary_extension_contract.wasm -``` - -``` -~/binary_extension_contract $ cleos set contract eosio ./ -``` - -``` -Reading WASM from /Users/john.debord/binary_extension_contract/binary_extension_contract.wasm... -Publishing contract... -executed transaction: b8ea485842fa5645e61d35edd97e78858e062409efcd0a4099d69385d9bc6b3e 4408 bytes 664 us -# eosio <= eosio::setcode "0000000000ea30550000a2660061736d01000000018f011760000060017f0060027f7f0060037f7f7f017f6000017e60067... -# eosio <= eosio::setabi "0000000000ea305583030e656f73696f3a3a6162692f312e310006076d6f646966797000020b7072696d6172795f6b65790... -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -``` -~/binary_extension_contract $ cleos push action eosio printbyp '{"primary_key":"eosio.name"}' -p eosio -``` - -``` -Error 3050003: eosio_assert_message assertion failure -Error Details: -assertion failure with message: read -``` - -Whoops, you aren't able to read the data you've previously written to table. - -``` -~/binary_extension_contract $ cleos push action eosio regpkey '{"primary_key":"eosio.name2"}' -p eosio -``` - -``` -Error 3015014: Pack data exception -Error Details: -Missing field 'secondary_key' in input object while processing struct 'regpkey' -``` - -Whoops, you aren't able to write to table the original way with the upgraded action either. - -
Ok, back up and wrap the new field and the new action parameter in an `eosio::binary_extension` type: - -**binary_extension_contract.hpp** - -```diff -+[[eosio::action]] void regpkey (eosio::name primary_key. eosio::binary_extension secondary_key); --[[eosio::action]] void regpkey (eosio::name primary_key, eosio::name secondary_key); -``` - -```diff -struct [[eosio::table]] structure { - eosio::name _primary_key; - eosio::name _secondary_key; -+ eosio::binary_extension _binary_extension_key; -- eosio::name _non_binary_extension_key; - - uint64_t primary_key() const { return _primary_key.value; } - uint64_t secondary_key() const { return _secondary_key.value; } -}; -``` - -**binary_extension_contract.cpp** - -```diff -+[[eosio::action]] void binary_extension_contract::regpkey(name primary_key, binary_extension secondary_key) { --[[eosio::action]] void binary_extension_contract::regpkey(name primary_key, name secondary_key) { - eosio::print_f("`regpkey` executing.\n"); - - auto index{_table.get_index<"index1"_n>()}; ///< `index` represents `_table` organized by `index1`. - auto iter {index.find(primary_key.value) }; ///< Note: the type returned by `index.find` is different than the type returned by `_table.find`. - - if (iter == _table.get_index<"index1"_n>().end()) { - eosio::print_f("`_primary_key`: % not found; registering.\n", primary_key.to_string()); - _table.emplace(_self, [&](auto& row) { - row._primary_key = primary_key; - if (secondary_key) { -+ row._secondary_key = secondary_key.value(); -- row._secondary_key = secondary_key; - } - else { - row._secondary_key = "nothin"_n; - } - }); - } - else { - eosio::print_f("`_primary_key`: % found; not registering.\n", primary_key.to_string()); - } - - eosio::print_f("`regpkey` finished executing.\n"); -} -``` - -**binary_extension_contract.abi** -```diff -{ - "name": "regpkey", - "base": "", - "fields": [ - { - "name": "primary_key", - "type": "name" - }, - { - "name": "secondary_key", -+ "type": "name$" -- "type": "name" - } - ] -} -``` - -```diff -{ - "name": "structure", - "base": "", - "fields": [ - { - "name": "_primary_key", - "type": "name" - }, - { - "name": "_secondary_key", - "type": "name" - }, - { -+ "name": "_binary_extension_key", -+ "type": "name$" -- "name": "_non_binary_extension_key", -- "type": "name" - } - ] -} -``` - -Note the `$` after the types now; this indicates that this type is an `eosio::binary_extension` type field. -```diff -{ - "name": "secondary_key", -+ "type": "name$" -- "type": "name" -} -``` - -```diff -{ - "name": "_binary_extension_key", -+ "type": "name$" -- "type": "name" -} -``` - -Now, upgrade the contract again and try to read/write from/to table: - -``` -~/binary_extension_contract $ cleos set contract eosio ./ -``` - -``` -Reading WASM from /Users/john.debord/binary_extension_contract/binary_extension_contract.wasm... -Publishing contract... -executed transaction: 497584d4e43ec114dbef83c134570492893f49eacb555d0cd47d08ea4a3a72f7 4696 bytes 648 us -# eosio <= eosio::setcode "0000000000ea30550000cb6a0061736d01000000018f011760000060017f0060027f7f0060037f7f7f017f6000017e60017... -# eosio <= eosio::setabi "0000000000ea305581030e656f73696f3a3a6162692f312e310006076d6f646966797000020b7072696d6172795f6b65790... -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -``` -~/binary_extension_contract $ cleos push action eosio printbyp '{"primary_key":"eosio.name"}' -p eosio -``` - -``` -executed transaction: 6108f3206e1824fe3a1fdcbc2fe733f38dc07ae3d411a1ccf777ecef56ddec97 104 bytes 224 us -# eosio <= eosio::printbyp {"primary_key":"eosio.name"} -[(eosio,printbyp)->eosio]: CONSOLE OUTPUT BEGIN ===================== -`printbyp` executing. -`_primary_key`: eosio.name found; printing. -{eosio.name, nothin} -`printbyp` finished executing. -[(eosio,printbyp)->eosio]: CONSOLE OUTPUT END ===================== -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -``` -~/binary_extension_contract $ cleos push action eosio regpkey '{"primary_key":"eosio.name2"}' -p eosio -``` - -``` -executed transaction: 75a135d1279a9c967078b0ebe337dc0cd58e1ccd07e370a899d9769391509afc 104 bytes 227 us -# eosio <= eosio::regpkey {"primary_key":"eosio.name2"} -[(eosio,regpkey)->eosio]: CONSOLE OUTPUT BEGIN ===================== -`regpkey` executing. -`_primary_key`: eosio.name2 not found; registering. -`regpkey` finished executing. -[(eosio,regpkey)->eosio]: CONSOLE OUTPUT END ===================== -warning: transaction executed locally, but may not be confirmed by the network yet -``` - -Nice! The smart contract is now backwards compatible for the future use of its tables and/or actions. - -
- -Just keep these simple rules in mind when upgrading a smart contract. -If you are adding a new field to a struct currently in use by a `eosio::multi_index` be **SURE** to: -- add the field at the end of the struct, -- and wrap the type using an `eosio::binary_extension` type. - -# There are a few restrictions you have to be aware of, and they are outlined below - -Binary extensions only operate correctly in certain locations. - -* ok: a non-embedded struct stored in a row may have binary extensions at its end -* ok: an action may use binary extensions to add additional arguments to its end -* ok: a struct with binary extensions may be used inside another struct, but only if the inner struct is the last field of the outer struct and the outer struct is allowed to contain binary extensions -* not ok: a struct with binary extensions may not be used inside an array -* not ok: a struct with binary extensions may not be used as a base of another struct -* not ok: fields with types which don't end in `$` following fields with types which do -* not ok: `$` used anywhere except in struct field types - -## ABI version string - -`eosio::abi/1.1` - -## ABI Text format - -Types may have a `$` suffix. During binary-to-json conversion, fields with a `$` type don't error out when end-of-data has been reached; instead they're omitted. During json-to-binary conversion, missing fields don't error out as long as no non-missing fields follow in the ABI. This omits the bytes from the output stream. - -e.g. - -```json - { - "name": "my_table_struct", - "base": "", - "fields": [ - { - "name": "required_field_1", - "type": "string" - }, - { - "name": "required_field_2", - "type": "float32[]" - }, - { - "name": "optional_field_3", - "type": "float32[]$" - }, - { - "name": "optional_field_4", - "type": "string$" - }, - ] - }, -``` - -## JSON representation - -Missing fields aren't included; null isn't used. E.g. all of these are valid JSON representations of `my_table_struct`: - -```json -{ - "required_field_1": "foo", - "required_field_2": [1,2,3,4] -} -``` - -```json -{ - "required_field_1": "foo", - "required_field_2": [1,2,3,4], - "optional_field_3": [5,6,7,8] -} -``` - -```json -{ - "required_field_1": "foo", - "required_field_2": [1,2,3,4], - "optional_field_3": [5,6,7,8], - "optional_field_4": "bar" -} -``` - -## ABI Binary format - -`$` can be included in type strings. No other changes. diff --git a/cdt/09_tutorials/02_abi-variants.md b/cdt/09_tutorials/02_abi-variants.md deleted file mode 100644 index 00b5c703a..000000000 --- a/cdt/09_tutorials/02_abi-variants.md +++ /dev/null @@ -1,158 +0,0 @@ ---- -content_title: ABI variants -link_text: ABI variants ---- - -ABI variants give the flexibility of using more than one type for a defined variable or data member. - -In Antelope, the variants use the standard template library `variant` which was introduced in C++ 17. An instance of `std::variant` at any given time either holds a value of one of its alternative types, or in the case of error - no value. Because of this trait, variants can be used to build the multi-index table structure with flexibility. Used in conjunction with ABI extensions, it allows for modification of the structure of an existing multi-index table, a.k.a. table. - -## Use variant when building the multi-index table the first time - -To define a `variant` for your table structure one example is shown below - -```cpp - std::variant variant_field; -``` - -This defines `variant` which can hold three different types, one at a time though. -So the contract interface could look like this: - -```diff -#include -using namespace eosio; - -class [[eosio::contract]] multi_index_example : public contract { - public: - using contract::contract; - multi_index_example( name receiver, name code, datastream ds ) - : contract(receiver, code, ds), testtab(receiver, receiver.value) - { } - - struct [[eosio::table]] test_table { - name test_primary; - name secondary; - uint64_t datum; -+ std::variant variant_field; - - uint64_t primary_key()const { return test_primary.value; } - uint64_t by_secondary()const { return secondary.value; } -+ std::variant get_variant_field()const { -+ return std::visit( -+ [](auto&& arg) -> std::variant { -+ return arg; -+ }, -+ variant_field); - } - }; - - typedef eosio::multi_index<"testtaba"_n, test_table, eosio::indexed_by<"secid"_n, eosio::const_mem_fun>> test_table_t; - - test_table_t testtab; - - [[eosio::action]] void set(name user); - [[eosio::action]] void print( name user ); - - using set_action = action_wrapper<"set"_n, &multi_index_example::set>; - using print_action = action_wrapper<"print"_n, &multi_index_example::print>; -}; -``` - -Notice above the declaration of the `variant_field` data memember and also the declaration and inline implementation for the `get_variant_field()` accessor for this data member. - -In the future, this allows you the flexibility to store in the `variant_field` three different types of data `int8_t`, `int16_t`, and `int32_t`, and also allows you to add more types in the list of supported types for this field. One important thing to keep in mind is that you can only append at the end of the supported types, you can not modify the existing supported types order nor drop one of them. That means if you want in the next version of your contract to add also type `int32_t` to the supported list types for this field, your contract implementation could look like this: - -```diff -#include -using namespace eosio; - -class [[eosio::contract]] multi_index_example : public contract { - public: - using contract::contract; - multi_index_example( name receiver, name code, datastream ds ) - : contract(receiver, code, ds), testtab(receiver, receiver.value) - { } - - struct [[eosio::table]] test_table { - name test_primary; - name secondary; - uint64_t datum; -+ std::variant variant_field; - - uint64_t primary_key()const { return test_primary.value; } - uint64_t by_secondary()const { return secondary.value; } -+ std::variant get_variant_field()const { -+ return std::visit( -+ [](auto&& arg) -> std::variant { -+ return arg; -+ }, -+ variant_field); - } - }; - - typedef eosio::multi_index<"testtaba"_n, test_table, eosio::indexed_by<"secid"_n, eosio::const_mem_fun>> test_table_t; - - test_table_t testtab; - - [[eosio::action]] void set(name user); - [[eosio::action]] void print( name user ); - - using set_action = action_wrapper<"set"_n, &multi_index_example::set>; - using print_action = action_wrapper<"print"_n, &multi_index_example::print>; -}; -``` - -Now you can deploy the contract and it will be backwards compatible with the previous existing multi-index table. - -## Use variant when changing an already deployed multi-index table - -### Preconditions -- It is assumed you deployed the contract defined in [this section](../06_how-to-guides/40_multi-index/how-to-instantiate-a-multi-index-table.md) and now you are going to change its table structure. - -To change the existing table structure, you will use the `std::variant` in conjunction with ABI extensions; you can read a tutorial on abi extensions [here](./01_binary-extension.md). You will add another field to the table called `variant_field` which can store either of the following data `int8_t`, `int16_t`, and `int32_t`. You can do it by adding below data member to the table structure: - -```cpp - eosio::binary_extension> binary_extension_variant_key; -``` - -Notice, the use of the `eosio::binary_extension` template which wraps the `std::variant` template parameterized with the types you want to support for the new data field. The full contract implementation can look like this: - -```diff -#include -#include -using namespace eosio; - -class [[eosio::contract]] multi_index_example : public contract { - public: - using contract::contract; - multi_index_example( name receiver, name code, datastream ds ) - : contract(receiver, code, ds), testtab(receiver, receiver.value) - { } - - struct [[eosio::table]] test_table { - name test_primary; - name secondary; - uint64_t datum; -+ eosio::binary_extension> binary_extension_variant_key; - - uint64_t primary_key()const { return test_primary.value; } - uint64_t by_secondary()const { return secondary.value; } -+ eosio::binary_extension> get_binary_extension_variant_field()const { -+ return binary_extension_variant_key; -+ } - }; - - typedef eosio::multi_index<"testtaba"_n, test_table, eosio::indexed_by<"secid"_n, eosio::const_mem_fun>> test_table_t; - - test_table_t testtab; - - [[eosio::action]] void set(name user); - [[eosio::action]] void print( name user ); - - using set_action = action_wrapper<"set"_n, &multi_index_example::set>; - using print_action = action_wrapper<"print"_n, &multi_index_example::print>; -}; -``` - -[[warning | Not recommended warning]] -| Be aware, it is not recommend to use `eosio::binary_extension` inside variant definition, this can lead to data corruption unless one is very careful in understanding how these two templates work and how the ABI gets generated! \ No newline at end of file diff --git a/cdt/09_tutorials/03_create-an-abi-file.md b/cdt/09_tutorials/03_create-an-abi-file.md deleted file mode 100644 index d82a57eb3..000000000 --- a/cdt/09_tutorials/03_create-an-abi-file.md +++ /dev/null @@ -1,576 +0,0 @@ ---- -content_title: Create an ABI File ---- - -## Overview - -This tutorial provides instructions to how to hand-write an ABI file. This should normally not be necessary since `cdt-cpp` can automatically generate an ABI file from your source code if it is properly annotated. - -## Introduction - -The Application Binary Interface (ABI) is a JSON-based description to convert user actions between their JSON and Binary representations. The ABI also describes how to convert the database state to/from JSON. Once you have described your contract via an ABI then developers and users will be able to interact with your contract seamlessly via JSON. - -This tutorial will use the [eosio.token](https://github.com/AntelopeIO/reference-contracts/tree/main/contracts/eosio.token) contract as an example. *eosio.token contract does not cover every possible permutation of an ABI definition. - -To make things easy, we will start with an empty ABI. - -```text - -{ - "version": "eosio::abi/1.0", - "types": [], - "structs": [], - "actions": [], - "tables": [], - "ricardian_clauses": [], - "abi_extensions": [], - "___comment" : "" -} -``` - -## Types - -An ABI enables any client or interface to interpret and even generate an GUI for you contract. For this to work in a consistent manner, we'll need to describe the custom types that are used as a parameter in any public action or struct that we would like to describe in the ABI. - -[[info]] -|Built-in Types - -Antelope implements a number of custom built-ins. Built-in types don't need to be described in an ABI file. If you would like to familiarize yourself with Antelope's built-ins, they are defined [here](https://github.com/AntelopeIO/leap/blob/6817911900a088c60f91563995cf482d6b380b2d/libraries/chain/abi_serializer.cpp#L88-L129). - -Using **eosio.token** as an example, the only type that requires a description in the ABI file is `account_name`. The ABI uses "new_type_name" to describe explicit types, in this case `account_name`, and `account_name` is an alias of `name` type. - -So in the ABI file we'll add the following object - -```json -{ - "new_type_name": "account_name", - "type": "name" - } -``` - -Our ABI now looks like this: - -```json -{ - "version": "eosio::abi/1.0", - "types": [{ - "new_type_name": "account_name", - "type": "name" - }], - "structs": [], - "actions": [], - "tables": [], - "ricardian_clauses": [], - "abi_extensions": [] -} -``` - -## Structs - -We now need to describe the structs of the token contract. By looking at eosio.token.hpp, we can quickly determine which structs are utilized by public actions. This is particularly important for when we describe our actions in the the ABI file in the next step. - -A struct's object definition in JSON looks like the following: - -```json -{ - "name": "issue", //The name - "base": "", //Inheritance, parent struct - "fields": [] //Array of field objects describing the struct's fields. - } -``` - -```json -{ - "name":"", // The field's name - "type":"" // The field's type -} -``` - -Looking through the `eosio.token` contract, we see a number of structs that require definition. Please note, not all of the structs are explicitly defined, some correspond to an actions' parameters. Here's a list of structs that require an ABI description for the `eosio.token` contract: - -## Implicit Structs - -The following structs are implicit in that a struct was never explicitly defined in the contract. Looking at the [create](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L24) action, you'll find two parameters, `issuer` of type `account_name ` and `maximum_supply` of type `asset`. For brevity this tutorial won't break down every struct, but applying the same logic, you will end up with the following: - -### [create](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L24) - -```json -{ - "name": "create", - "base": "", - "fields": [ - { - "name":"issuer", - "type":"account_name" - }, - { - "name":"maximum_supply", - "type":"asset" - } - ] -} -``` - -### [issue](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L27) - -```json -{ - "name": "issue", - "base": "", - "fields": [ - { - "name":"to", - "type":"account_name" - }, - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] -} -``` - -### [retire](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L29) - -```json -{ - "name": "retire", - "base": "", - "fields": [ - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] -} -``` - -### [transfer](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L31-L34) - -```json -{ - "name": "transfer", - "base": "", - "fields": [ - { - "name":"from", - "type":"account_name" - }, - { - "name":"to", - "type":"account_name" - }, - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] -} -``` - -### [close](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L36) - -```json -{ - "name": "close", - "base": "", - "fields": [ - { - "name":"owner", - "type":"account_name" - }, - { - "name":"symbol", - "type":"symbol" - } - ] - } -``` - -## Explicit Structs -These structs are explicitly defined, as they are a requirement to instantiate a multi-index table. Describing them is no different than defining the implicit structs as demonstrated above. - -### [account](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L43-L47) - -```json -{ - "name": "account", - "base": "", - "fields": [ - { - "name":"balance", - "type":"asset" - } - ] -} -``` - -### [currency_stats](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L49-L55) - -```json -{ - "name": "currency_stats", - "base": "", - "fields": [ - { - "name":"supply", - "type":"asset" - }, - { - "name":"max_supply", - "type":"asset" - }, - { - "name":"issuer", - "type":"account_name" - } - ] -} -``` - -## Actions - -An action's JSON object definition looks like the following: - -```json -{ - "name": "transfer", //The name of the action as defined in the contract - "type": "transfer", //The name of the implicit struct as described in the ABI - "ricardian_contract": "" //An optional ricardian clause to associate to this action describing its intended functionality. -} -``` - -Next, we'll describe the actions of the `eosio.token` contract by aggregating all the public functions describe in the `eosio.token` contract's [header file](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L24-L36). We'll then describe each action's *type* to their previously described struct. In most situations, the function name and the struct name will be equal, but are not required to be equal. - -Below is a list of actions that link to their source code with example JSON provided for how each action would be described. - -## [create](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L24-L25) - -```json -{ - "name": "create", - "type": "create", - "ricardian_contract": "" -} -``` - -## [issue](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L27) - -```json -{ - "name": "issue", - "type": "issue", - "ricardian_contract": "" -} -``` - -## [retire](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L31-L34) - -```json -{ - "name": "retire", - "type": "retire", - "ricardian_contract": "" -} -``` - -## [transfer](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L31-L34) - -```json -{ - "name": "transfer", - "type": "transfer", - "ricardian_contract": "" -} -``` - -## [close](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L36) - -```json -{ - "name": "close", - "type": "close", - "ricardian_contract": "" -} -``` - -You will notice we previously described all of these in the "structs" array of the ABI definition. - -## Tables - -Finally, we need to describe our tables. Here's a table's JSON object definition: - -```json -{ - "name": "", // The name of the table, determined during instantiation. - "type": "", // The table's corresponding struct - "index_type": "", // The type of primary index of this table - "key_names" : [], // An array of key names, length must equal length of key_types member - "key_types" : [] // An array of key types that correspond to key names array member, length of array must equal length of key names array. -} -``` - -The eosio.token contract instantiates two tables, [accounts](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L57) and [stat](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L58). - -The accounts table is an i64 index, based on the [`account` struct](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L43-L47), has a [`uint64` as it's primary key](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L46) and it's key been arbitrarily named "currency". - -Here's how the accounts table would be described in the ABI - -```text -{ - "name": "accounts", - "type": "account", // Corresponds to previously defined struct - "index_type": "i64", - "key_names" : ["currency"], - "key_types" : ["uint64"] -} -``` - -The stat table is an i64 index, based on the [`currenct_stats` struct](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L49-L55), has a [`uint64` as it's primary key](https://github.com/AntelopeIO/reference-contracts/blob/main/contracts/eosio.token/include/eosio.token/eosio.token.hpp#L54) and it's key been arbitrarily named "currency" - -Here's how the stat table would be described in the ABI - -```text -{ - "name": "stat", - "type": "currency_stats", - "index_type": "i64", - "key_names" : ["currency"], - "key_types" : ["uint64"] -} -``` - -You'll notice the above tables have the same "key name." Naming your keys similar names is symbolic in that it can potentially suggest a subjective relationship. As with this implementation, implying that any given value can be used to query different tables. - -## Putting it all Together - -Finally, once all the pieces are strewn together, we have ourselves a ABI file that accurately describes the `eosio.token` contract. - -```json -{ - "version": "eosio::abi/1.0", - "types": [ - { - "new_type_name": "account_name", - "type": "name" - } - ], - "structs": [ - { - "name": "create", - "base": "", - "fields": [ - { - "name":"issuer", - "type":"account_name" - }, - { - "name":"maximum_supply", - "type":"asset" - } - ] - }, - { - "name": "issue", - "base": "", - "fields": [ - { - "name":"to", - "type":"account_name" - }, - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] - }, - { - "name": "retire", - "base": "", - "fields": [ - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] - }, - { - "name": "close", - "base": "", - "fields": [ - { - "name":"owner", - "type":"account_name" - }, - { - "name":"symbol", - "type":"symbol" - } - ] - }, - { - "name": "transfer", - "base": "", - "fields": [ - { - "name":"from", - "type":"account_name" - }, - { - "name":"to", - "type":"account_name" - }, - { - "name":"quantity", - "type":"asset" - }, - { - "name":"memo", - "type":"string" - } - ] - }, - { - "name": "account", - "base": "", - "fields": [ - { - "name":"balance", - "type":"asset" - } - ] - }, - { - "name": "currency_stats", - "base": "", - "fields": [ - { - "name":"supply", - "type":"asset" - }, - { - "name":"max_supply", - "type":"asset" - }, - { - "name":"issuer", - "type":"account_name" - } - ] - } - ], - "actions": [ - { - "name": "transfer", - "type": "transfer", - "ricardian_contract": "" - }, - { - "name": "issue", - "type": "issue", - "ricardian_contract": "" - }, - { - "name": "retire", - "type": "retire", - "ricardian_contract": "" - }, - { - "name": "create", - "type": "create", - "ricardian_contract": "" - }, - { - "name": "close", - "type": "close", - "ricardian_contract": "" - } - ], - "tables": [ - { - "name": "accounts", - "type": "account", - "index_type": "i64", - "key_names" : ["currency"], - "key_types" : ["uint64"] - }, - { - "name": "stat", - "type": "currency_stats", - "index_type": "i64", - "key_names" : ["currency"], - "key_types" : ["uint64"] - } - ], - "ricardian_clauses": [], - "abi_extensions": [] -} -``` - -## Cases not Covered by Token Contract - -### Vectors - -When describing a vector in your ABI file, simply append the type with `[]`, so if you need to describe a vector of permission levels, you would describe it like so: `permission_level[]` - -### Struct Base - -It's a rarely used property worth mentioning. You can use **base** ABI struct property to reference another struct for inheritance, as long as that struct is also described in the same ABI file. Base will do nothing or potentially throw an error if your smart contract logic does not support inheritance. - -You can see an example of base in use in the system contract [source code](https://github.com/AntelopeIO/reference-contracts/blob/9d9401e1bd937406b4e2c4f2fd234f22a2d6e3bc/contracts/eosio.system/include/eosio.system/eosio.system.hpp#L141). - -The corresponsing ABI definition would look like this: - -```json -{ - "name": "eosio_global_state", - "base": "blockchain_parameters", - "fields": [ - {"name":"max_ram_size", "type":"uint64"}, - {"name":"total_ram_bytes_reserved", "type":"uint64"}, - {"name":"total_ram_stake", "type":"int64"}, - ] -} -``` - -## ABI Properties Not Covered Here - -A few properties of the ABI specification were skipped here for brevity, however, there is a pending ABI specification that will outline every property of the ABI in its entirety. - -## Ricardian Clauses - -Ricardian clauses describe the intended outcome of a particular actions. It may also be utilized to establish terms between the sender and the contract. - -## ABI Extensions - -A generic "future proofing" layer that allows old clients to skip the parsing of "chunks" of extension data. For now, this property is unused. In the future each extension would have its own "chunk" in that vector so that older clients skip it and newer clients that understand how to interpret it. - -## Maintenance - -Every time you change a struct, add a table, add an action or add parameters to an action, use a new type, you will need to remember to update your ABI file. In many cases failure to update your ABI file will not produce any error. - -## Troubleshooting - -### Table returns no rows - -Check that your table is accurately described in the <> file. For example, If you use `cleos` to add a table on a contract with a malformed <> definition and then get rows from that table, you will recieve an empty result. `cleos` will not produce an error when adding a row nor reading a row when a contract has failed to properly describe its tables in its <> File. diff --git a/cdt/09_tutorials/index.md b/cdt/09_tutorials/index.md deleted file mode 100644 index 95c7f2319..000000000 --- a/cdt/09_tutorials/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -content_title: Tutorials -link_text: Tutorials ---- - -- [Binary Extension](01_binary-extension.md) -- [ABI Variants](02_abi-variants.md) -- [Create An ABI File](03_create-an-abi-file.md) diff --git a/cdt/index.md b/cdt/index.md deleted file mode 100644 index 0015bdfab..000000000 --- a/cdt/index.md +++ /dev/null @@ -1,13 +0,0 @@ -# CDT (Contract Development Toolkit) - -Contract Development Toolkit (CDT) is a C/C++ toolchain targeting WebAssembly (WASM) and a set of tools to facilitate development of smart contracts written in C/C++ that are meant to be deployed to an [Antelope](https://github.com/AntelopeIO/) blockchain. - -In addition to being a general purpose WebAssembly toolchain, specific features and optimizations are available to support building Antelope-based smart contracts. This new toolchain is built around [Clang 9](https://github.com/AntelopeIO/cdt-llvm), which means that CDT inherits the optimizations and analyses from that version of LLVM, but as the WASM target is still considered experimental, some optimizations are incomplete or not available. - -## Upgrading - -If you are upgrading to CDT version 3.0 or later from version 1.8.1 (or earlier) of [EOSIO.CDT](https://github.com/EOSIO/eosio.cdt), then please read [EOSIO.CDT to CDT](./04_upgrading/eosio.cdt-to-cdt.md). - -## License - -[MIT](https://github.com/AntelopeIO/cdt/blob/main/LICENSE) diff --git a/cdt/man/cdt-abidiff.1 b/cdt/man/cdt-abidiff.1 deleted file mode 100644 index 9e6334bd6..000000000 --- a/cdt/man/cdt-abidiff.1 +++ /dev/null @@ -1,22 +0,0 @@ -.\" Automatically generated by Pandoc 2.5 -.\" -.TH "CDT\-ABIDIFF" "1" "April 18 2023" "AntelopeIO" "Contract Development Toolkit (CDT)" -.hy -.SH NAME -.PP -cdt\-abidiff \- A tool for comparison of two CDT ABI files. -.SH SYNOPSIS -.PP -\f[C]cdt\-abidiff \f[R] -.SH DESCRIPTION -.PP -\f[B]cdt\-abidiff\f[R] To report differences with cdt\-abidiff, you only -need to pass the two ABI file names as command line arguments. -.SH BUGS -.PP -Please submit bug reports online at -https://github.com/AntelopeIO/cdt/issues -.SH SEE ALSO -.PP -For more details consult the full documentation and sources -https://github.com/AntelopeIO/cdt diff --git a/cdt/man/cdt-abidiff.1.md b/cdt/man/cdt-abidiff.1.md deleted file mode 100644 index 54bb6f008..000000000 --- a/cdt/man/cdt-abidiff.1.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: CDT-ABIDIFF -section: 1 -header: Contract Development Toolkit (CDT) -footer: AntelopeIO -date: April 18 2023 ---- -# NAME -cdt-abidiff - A tool for comparison of two CDT ABI files. - -# SYNOPSIS - -`cdt-abidiff ` - -# DESCRIPTION - -**cdt-abidiff** To report differences with cdt-abidiff, you only need to pass the two ABI file names as command line arguments. - - -# BUGS - -Please submit bug reports online at https://github.com/AntelopeIO/cdt/issues - -# SEE ALSO - -For more details consult the full documentation and sources https://github.com/AntelopeIO/cdt \ No newline at end of file diff --git a/cdt/man/cdt-cc.1 b/cdt/man/cdt-cc.1 deleted file mode 100644 index 424373f71..000000000 --- a/cdt/man/cdt-cc.1 +++ /dev/null @@ -1,676 +0,0 @@ -.\" Automatically generated by Pandoc 2.5 -.\" -.TH "CDT\-CC" "1" "April 14, 2023" "AntelopeIO" "Contract Development Toolkit (CDT)" -.hy -.SH NAME -.PP -cdt\-cc \- Antelope smart contract C to WebAssembly compiler -.SH SYNOPSIS -.PP -\f[C]cdt\-cc [options] \f[R] -.SH DESCRIPTION -.PP -\f[B]cdt\-cc\f[R] Is a C compiler which converts C smart contract code -to WebAssemply for execution in Antelope block chain virtual machines. -.SH OPTIONS -.PP -\f[B]\f[CB]\-C\f[B]\f[R] -.IP -.nf -\f[C] -Include comments in preprocessed output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-CC\f[B]\f[R] -.IP -.nf -\f[C] -Include comments from within macros in preprocessed output -\f[R] -.fi -.PP -\f[B]\f[CB]\-D=\f[B]\f[R] -.IP -.nf -\f[C] -Define to (or 1 if omitted) -\f[R] -.fi -.PP -\f[B]\f[CB]\-U=\f[B]\f[R] -.IP -.nf -\f[C] -Undefine any previous definition of name, either built in or defined with a \-D option -\f[R] -.fi -.PP -\f[B]\f[CB]\-E\f[B]\f[R] -.IP -.nf -\f[C] -Only run the preprocessor -\f[R] -.fi -.PP -\f[B]\f[CB]\-I=\f[B]\f[R] -.IP -.nf -\f[C] -Add directory to include search path -\f[R] -.fi -.PP -\f[B]\f[CB]\-L=\f[B]\f[R] -.IP -.nf -\f[C] -Add directory to library search path -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-MF=\f[B]\f[R] -.IP -.nf -\f[C] -Write depfile output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-MD\f[B]\f[R] -.IP -.nf -\f[C] -Write depfile containing user and system headers -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-MMD\f[B]\f[R] -.IP -.nf -\f[C] -Like \-MD except mention only user header files, not system header files. -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-MT=\f[B]\f[R] -.IP -.nf -\f[C] -Specify name of main file output in depfile -\f[R] -.fi -.PP -\f[B]\f[CB]\-O=\f[B]\f[R] -.IP -.nf -\f[C] -Optimization level s, 0\-3 -\f[R] -.fi -.PP -\f[B]\f[CB]\-R=\f[B]\f[R] -.IP -.nf -\f[C] -Add the directory dir to the list of directories to be searched for resource files -\f[R] -.fi -.PP -\f[B]\f[CB]\-S\f[B]\f[R] -.IP -.nf -\f[C] -Only run preprocess and compilation steps -\f[R] -.fi -.PP -\f[B]\f[CB]\-W=\f[B]\f[R] -.IP -.nf -\f[C] -Enable the specified warning. -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-abi\-version=\f[B]\f[R] -.IP -.nf -\f[C] -Which ABI version to generate -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-abigen\f[B]\f[R] -.IP -.nf -\f[C] -Generate ABI -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-abigen_output=\f[B]\f[R] -.IP -.nf -\f[C] -ABIGEN output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-allow\-names\f[B]\f[R] -.IP -.nf -\f[C] -Allow creation of name section -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-allow\-sse\f[B]\f[R] -.IP -.nf -\f[C] -Should not be used, except for build libc - -\f[R] -.fi -.PP -\f[B]\f[CB]\-c\f[B]\f[R] -.IP -.nf -\f[C] -Only run preprocess, compile, and assemble steps - -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-contract=\f[B]\f[R] -.IP -.nf -\f[C] -Contract name -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-dD\f[B]\f[R] -.IP -.nf -\f[C] -Print macro definitions in \-E mode in addition to normal output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-dI\f[B]\f[R] -.IP -.nf -\f[C] -Print include directives in \-E mode in addition to normal output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-dM\f[B]\f[R] -.IP -.nf -\f[C] -Print macro definitions in \-E mode instead to normal output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-disable\-symbolication\f[B]\f[R] -.IP -.nf -\f[C] -Disable symbolizing crash backtraces. -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-emit\-ast\f[B]\f[R] -.IP -.nf -\f[C] -Emit Clang AST files for source inputs -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-emit\-ir\f[B]\f[R] -.IP -.nf -\f[C] -Emit llvm ir -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-emit\-llvm\f[B]\f[R] -.IP -.nf -\f[C] -Use the LLVM representation for assembler and object files -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-eosio\-pp\-dir=\f[B]\f[R] -.IP -.nf -\f[C] -Set the directory for eosio\-pp -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fPIC\f[B]\f[R] -.IP -.nf -\f[C] -Generate position independent code. This option is used for shared libraries - -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fasm\f[B]\f[R] -.IP -.nf -\f[C] -Assemble file for x86\-64 -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fcolor\-diagnostics\f[B]\f[R] -.IP -.nf -\f[C] -Use colors in diagnostics - -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-finline\-functions\f[B]\f[R] -.IP -.nf -\f[C] -Inline suitable functions -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-finline\-hint\-functions\f[B]\f[R] -.IP -.nf -\f[C] -Inline functions which are (explicitly or implicitly) marked inline -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fmerge\-all\-constants\f[B]\f[R] -.IP -.nf -\f[C] -Allow merging of constants -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fnative\f[B]\f[R] -.IP -.nf -\f[C] -Compile and link for x86\-64 -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-cfl\-aa\f[B]\f[R] -.IP -.nf -\f[C] -Disable CFL Alias Analysis -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-elide\-constructors\f[B]\f[R] -.IP -.nf -\f[C] -Disable C++ copy constructor elision -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-lto\f[B]\f[R] -.IP -.nf -\f[C] -Disable LTO -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-post\-pass\f[B]\f[R] -.IP -.nf -\f[C] -Don\[aq]t run post processing pass -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-stack\-first\f[B]\f[R] -.IP -.nf -\f[C] -Don\[aq]t set the stack first in memory - -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fquery\f[B]\f[R] -.IP -.nf -\f[C] -Produce binaries for wasmql -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fquery\-client\f[B]\f[R] -.IP -.nf -\f[C] -Produce binaries for wasmql -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fquery\-server\f[B]\f[R] -.IP -.nf -\f[C] -Produce binaries for wasmql -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstack\-protector\f[B]\f[R] -.IP -.nf -\f[C] -Enable stack protectors for functions potentially vulnerable to stack smashing -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstack\-protector\-all\f[B]\f[R] -.IP -.nf -\f[C] -Force the usage of stack protectors for all functions -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstack\-protector\-strong\f[B]\f[R] -.IP -.nf -\f[C] -Use a strong heuristic to apply stack protectors to functions -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstrict\-enums\f[B]\f[R] -.IP -.nf -\f[C] -Enable optimizations based on the strict definition of an enum\[aq]s value range -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstrict\-return\f[B]\f[R] -.IP -.nf -\f[C] -Always treat control flow paths that fall off the end of a non\-void function as unreachable -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstrict\-vtable\-pointers\f[B]\f[R] -.IP -.nf -\f[C] -Enable optimizations based on the strict rules for overwriting polymorphic C++ objects -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fuse\-main\f[B]\f[R] -.IP -.nf -\f[C] -Use main as entry - -\f[R] -.fi -.PP -\f[B]\f[CB]\-h\f[B]\f[R] -.IP -.nf -\f[C] -Alias for \-\-help -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-help\f[B]\f[R] -.IP -.nf -\f[C] -Display available options (\-\-help\-hidden for more) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-help\-hidden\f[B]\f[R] -.IP -.nf -\f[C] -Display all available options -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-help\-list\f[B]\f[R] -.IP -.nf -\f[C] -Display list of available options (\-\-help\-list\-hidden for more) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-help\-list\-hidden\f[B]\f[R] -.IP -.nf -\f[C] -Display list of all available options -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-imports=\f[B]\f[R] -.IP -.nf -\f[C] -Set the file for cdt.imports -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-include=\f[B]\f[R] -.IP -.nf -\f[C] -Include file before parsing - -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-isysroot=\f[B]\f[R] -.IP -.nf -\f[C] -Set the system root directory (usually /) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-isystem=\f[B]\f[R] -.IP -.nf -\f[C] -Add directory to SYSTEM include search path -\f[R] -.fi -.PP -\f[B]\f[CB]\-l=\f[B]\f[R] -.IP -.nf -\f[C] -Root name of library to link -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-lto\-opt=\f[B]\f[R] -.IP -.nf -\f[C] -LTO Optimization level (O0\-O3) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-mllvm=\f[B]\f[R] -.IP -.nf -\f[C] -Pass arguments to llvm -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-no\-abigen\f[B]\f[R] -.IP -.nf -\f[C] -Disable ABI file generation -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-no\-missing\-ricardian\-clause\f[B]\f[R] -.IP -.nf -\f[C] -Disable warnings for missing Ricardian clauses - -\f[R] -.fi -.PP -\f[B]\f[CB]\-o=\f[B]\f[R] -.IP -.nf -\f[C] -Write output to -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-only\-export=\f[B]\f[R] -.IP -.nf -\f[C] -Export only this symbol - -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-print\-all\-options\f[B]\f[R] -.IP -.nf -\f[C] -Print all option values after command line parsing -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-print\-options\f[B]\f[R] -.IP -.nf -\f[C] -Print non\-default options after command line parsing - -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-shared\f[B]\f[R] -.IP -.nf -\f[C] -Make shared object native library -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-stack\-canary\f[B]\f[R] -.IP -.nf -\f[C] -Stack canary for non stack first layouts -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-stack\-size=\f[B]\f[R] -.IP -.nf -\f[C] -Specifies the maximum stack size for the contract. Defaults to 8192 bytes - -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-sysroot=\f[B]\f[R] -.IP -.nf -\f[C] -Set the system root directory - -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-use\-freeing\-malloc\f[B]\f[R] -.IP -.nf -\f[C] -Set the malloc implementation to the old freeing malloc -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-use\-rt\f[B]\f[R] -.IP -.nf -\f[C] -Use software compiler\-rt -\f[R] -.fi -.PP -\f[B]\f[CB]\-v\f[B]\f[R] -.IP -.nf -\f[C] -Show commands to run and use verbose output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-version\f[B]\f[R] -.IP -.nf -\f[C] -Display the version of this program - -\f[R] -.fi -.PP -\f[B]\f[CB]\-w\f[B]\f[R] -.IP -.nf -\f[C] -Suppress all warnings -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-warn\-action\-read\-only\f[B]\f[R] -.IP -.nf -\f[C] -Issue a warning if a read\-only action uses a write API and continue compilation -\f[R] -.fi -.SH BUGS -.PP -Please submit bug reports online at -https://github.com/AntelopeIO/cdt/issues -.SH SEE ALSO -.PP -For more details consult the full documentation and sources -https://github.com/AntelopeIO/cdt diff --git a/cdt/man/cdt-cc.1.md b/cdt/man/cdt-cc.1.md deleted file mode 100644 index 96d4b2156..000000000 --- a/cdt/man/cdt-cc.1.md +++ /dev/null @@ -1,351 +0,0 @@ ---- -title: CDT-CC -section: 1 -header: Contract Development Toolkit (CDT) -footer: AntelopeIO -date: April 14, 2023 ---- -# NAME -cdt-cc - Antelope smart contract C to WebAssembly compiler - -# SYNOPSIS - -`cdt-cc [options] ` - -# DESCRIPTION - -**cdt-cc** Is a C compiler which converts C smart contract code to WebAssemply for -execution in Antelope block chain virtual machines. - -# OPTIONS - -**`-C`** - - Include comments in preprocessed output - -**`--CC`** - - Include comments from within macros in preprocessed output - -**`-D=`** - - Define to (or 1 if omitted) - -**`-U=`** - - Undefine any previous definition of name, either built in or defined with a -D option - -**`-E`** - - Only run the preprocessor - -**`-I=`** - - Add directory to include search path - -**`-L=`** - - Add directory to library search path - -**`--MF=`** - - Write depfile output - -**`--MD`** - - Write depfile containing user and system headers - -**`--MMD`** - - Like -MD except mention only user header files, not system header files. - -**`--MT=`** - - Specify name of main file output in depfile - -**`-O=`** - - Optimization level s, 0-3 - -**`-R=`** - - Add the directory dir to the list of directories to be searched for resource files - -**`-S`** - - Only run preprocess and compilation steps - -**`-W=`** - - Enable the specified warning. - -**`--abi-version=`** - - Which ABI version to generate - -**`--abigen`** - - Generate ABI - -**`--abigen_output=`** - - ABIGEN output - -**`--allow-names`** - - Allow creation of name section - -**`--allow-sse`** - - Should not be used, except for build libc - -**`-c`** - - Only run preprocess, compile, and assemble steps - -**`--contract=`** - - Contract name - -**`--dD`** - - Print macro definitions in -E mode in addition to normal output - -**`--dI`** - - Print include directives in -E mode in addition to normal output - -**`--dM`** - - Print macro definitions in -E mode instead to normal output - -**`--disable-symbolication`** - - Disable symbolizing crash backtraces. - -**`--emit-ast`** - - Emit Clang AST files for source inputs - -**`--emit-ir`** - - Emit llvm ir - -**`--emit-llvm`** - - Use the LLVM representation for assembler and object files - -**`--eosio-pp-dir=`** - - Set the directory for eosio-pp - -**`--fPIC`** - - Generate position independent code. This option is used for shared libraries - -**`--fasm`** - - Assemble file for x86-64 - -**`--fcolor-diagnostics`** - - Use colors in diagnostics - -**`--finline-functions`** - - Inline suitable functions - -**`--finline-hint-functions`** - - Inline functions which are (explicitly or implicitly) marked inline - -**`--fmerge-all-constants`** - - Allow merging of constants - -**`--fnative`** - - Compile and link for x86-64 - -**`--fno-cfl-aa`** - - Disable CFL Alias Analysis - -**`--fno-elide-constructors`** - - Disable C++ copy constructor elision - -**`--fno-lto`** - - Disable LTO - -**`--fno-post-pass`** - - Don't run post processing pass - -**`--fno-stack-first`** - - Don't set the stack first in memory - -**`--fquery`** - - Produce binaries for wasmql - -**`--fquery-client`** - - Produce binaries for wasmql - -**`--fquery-server`** - - Produce binaries for wasmql - -**`--fstack-protector`** - - Enable stack protectors for functions potentially vulnerable to stack smashing - -**`--fstack-protector-all`** - - Force the usage of stack protectors for all functions - -**`--fstack-protector-strong`** - - Use a strong heuristic to apply stack protectors to functions - -**`--fstrict-enums`** - - Enable optimizations based on the strict definition of an enum's value range - -**`--fstrict-return`** - - Always treat control flow paths that fall off the end of a non-void function as unreachable - -**`--fstrict-vtable-pointers`** - - Enable optimizations based on the strict rules for overwriting polymorphic C++ objects - -**`--fuse-main`** - - Use main as entry - -**`-h`** - - Alias for --help - -**`--help`** - - Display available options (--help-hidden for more) - -**`--help-hidden`** - - Display all available options - -**`--help-list`** - - Display list of available options (--help-list-hidden for more) - -**`--help-list-hidden`** - - Display list of all available options - -**`--imports=`** - - Set the file for cdt.imports - -**`--include=`** - - Include file before parsing - -**`--isysroot=`** - - Set the system root directory (usually /) - -**`--isystem=`** - - Add directory to SYSTEM include search path - -**`-l=`** - - Root name of library to link - -**`--lto-opt=`** - - LTO Optimization level (O0-O3) - -**`--mllvm=`** - - Pass arguments to llvm - -**`--no-abigen`** - - Disable ABI file generation - -**`--no-missing-ricardian-clause`** - - Disable warnings for missing Ricardian clauses - -**`-o=`** - - Write output to - -**`--only-export=`** - - Export only this symbol - -**`--print-all-options`** - - Print all option values after command line parsing - -**`--print-options`** - - Print non-default options after command line parsing - -**`--shared`** - - Make shared object native library - -**`--stack-canary`** - - Stack canary for non stack first layouts - -**`--stack-size=`** - - Specifies the maximum stack size for the contract. Defaults to 8192 bytes - -**`--sysroot=`** - - Set the system root directory - -**`--use-freeing-malloc`** - - Set the malloc implementation to the old freeing malloc - -**`--use-rt`** - - Use software compiler-rt - -**`-v`** - - Show commands to run and use verbose output - -**`--version`** - - Display the version of this program - -**`-w`** - - Suppress all warnings - -**`--warn-action-read-only`** - - Issue a warning if a read-only action uses a write API and continue compilation - - -# BUGS - -Please submit bug reports online at https://github.com/AntelopeIO/cdt/issues - -# SEE ALSO - -For more details consult the full documentation and sources https://github.com/AntelopeIO/cdt - - diff --git a/cdt/man/cdt-cpp.1 b/cdt/man/cdt-cpp.1 deleted file mode 100644 index b72d51c7f..000000000 --- a/cdt/man/cdt-cpp.1 +++ /dev/null @@ -1,850 +0,0 @@ -.\" Automatically generated by Pandoc 2.5 -.\" -.TH "CDT\-CPP" "1" "April 08, 2023" "AntelopeIO" "Contract Development Toolkit (CDT)" -.hy -.SH NAME -.PP -cdt\-cpp \- Antelope smart contract C++ to WebAssembly compiler -.SH SYNOPSIS -.PP -\f[C]cdt\-cpp [options] \f[R] -.SH DESCRIPTION -.PP -\f[B]cdt\-cpp\f[R] Is a C++ compiler which converts C++ smart contract -code to WebAssemply for execution in Antelope block chain virtual -machines. -.SH OPTIONS -.PP -\f[B]\f[CB]\-C\f[B]\f[R] -.IP -.nf -\f[C] -Include comments in preprocessed output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-CC\f[B]\f[R] -.IP -.nf -\f[C] -Include comments from within macros in preprocessed output -\f[R] -.fi -.PP -\f[B]\f[CB]\-D=\f[B]\f[R] -.IP -.nf -\f[C] -Define to (or 1 if omitted) -\f[R] -.fi -.PP -\f[B]\f[CB]\-U=\f[B]\f[R] -.IP -.nf -\f[C] -Undefine any previous definition of name, either built in or defined with a \-D option -\f[R] -.fi -.PP -\f[B]\f[CB]\-E\f[B]\f[R] -.IP -.nf -\f[C] -Only run the preprocessor -\f[R] -.fi -.PP -\f[B]\f[CB]\-I=\f[B]\f[R] -.IP -.nf -\f[C] -Add directory to include search path -\f[R] -.fi -.PP -\f[B]\f[CB]\-L=\f[B]\f[R] -.IP -.nf -\f[C] -Add directory to library search path -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-MF=\f[B]\f[R] -.IP -.nf -\f[C] -Write depfile output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-MD\f[B]\f[R] -.IP -.nf -\f[C] -Write depfile containing user and system headers -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-MMD\f[B]\f[R] -.IP -.nf -\f[C] -Like \-MD except mention only user header files, not system header files. -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-MT=\f[B]\f[R] -.IP -.nf -\f[C] -Specify name of main file output in depfile -\f[R] -.fi -.PP -\f[B]\f[CB]\-O=\f[B]\f[R] -.IP -.nf -\f[C] -Optimization level s, 0\-3 -\f[R] -.fi -.PP -\f[B]\f[CB]\-R=\f[B]\f[R] -.IP -.nf -\f[C] -Add the directory dir to the list of directories to be searched for resource files -\f[R] -.fi -.PP -\f[B]\f[CB]\-S\f[B]\f[R] -.IP -.nf -\f[C] -Only run preprocess and compilation steps -\f[R] -.fi -.PP -\f[B]\f[CB]\-W=\f[B]\f[R] -.IP -.nf -\f[C] -Enable the specified warning. -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-abi\-version=\f[B]\f[R] -.IP -.nf -\f[C] -Which ABI version to generate -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-abigen\f[B]\f[R] -.IP -.nf -\f[C] -Generate ABI -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-abigen_output=\f[B]\f[R] -.IP -.nf -\f[C] -ABIGEN output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-allow\-names\f[B]\f[R] -.IP -.nf -\f[C] -Allow creation of name section -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-allow\-sse\f[B]\f[R] -.IP -.nf -\f[C] -Should not be used, except for building libc -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-as\-secure\-log\-file\-name=\f[B]\f[R] -.IP -.nf -\f[C] -As secure log file name (initialized from AS_SECURE_LOG_FILE env variable) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-asm\-macro\-max\-nesting\-depth=\f[B]\f[R] -.IP -.nf -\f[C] -The maximum nesting depth allowed for assembly macros -\f[R] -.fi -.PP -\f[B]\f[CB]\-c\f[B]\f[R] -.IP -.nf -\f[C] -Only run preprocess, compile, and assemble steps -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-color\f[B]\f[R] -.IP -.nf -\f[C] -Use colors in output (default=autodetect) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-contract=\f[B]\f[R] -.IP -.nf -\f[C] -Contract name -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-dD\f[B]\f[R] -.IP -.nf -\f[C] -Print macro definitions in \-E mode in addition to normal output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-dI\f[B]\f[R] -.IP -.nf -\f[C] -Print include directives in \-E mode in addition to normal output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-dM\f[B]\f[R] -.IP -.nf -\f[C] -Print macro definitions in \-E mode instead to normal output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-disable\-symbolication\f[B]\f[R] -.IP -.nf -\f[C] -Disable symbolizing crash backtraces. -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-emit\-ast\f[B]\f[R] -.IP -.nf -\f[C] -Emit Clang AST files for source inputs -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-emit\-ir\f[B]\f[R] -.IP -.nf -\f[C] -Emit llvm ir -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-emit\-llvm\f[B]\f[R] -.IP -.nf -\f[C] -Use the LLVM representation for assembler and object files -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-eosio\-pp\-dir=\f[B]\f[R] -.IP -.nf -\f[C] -Set the directory for eosio\-pp -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fPIC\f[B]\f[R] -.IP -.nf -\f[C] -Generate position independent code. This option is used for shared libraries -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-faligned\-allocation\f[B]\f[R] -.IP -.nf -\f[C] -Enable C++17 aligned allocation functions -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fasm\f[B]\f[R] -.IP -.nf -\f[C] -Assemble file for x86\-64 -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fcolor\-diagnostics\f[B]\f[R] -.IP -.nf -\f[C] -Use colors in diagnostics -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fcoroutine\-ts\f[B]\f[R] -.IP -.nf -\f[C] -Enable support for the C++ Coroutines TS -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-finline\-functions\f[B]\f[R] -.IP -.nf -\f[C] -Inline suitable functions -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-finline\-hint\-functions\f[B]\f[R] -.IP -.nf -\f[C] -Inline functions which are (explicitly or implicitly) marked inline -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fmerge\-all\-constants\f[B]\f[R] -.IP -.nf -\f[C] -Allow merging of constants -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fnative\f[B]\f[R] -.IP -.nf -\f[C] -Compile and link for x86\-64 -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-cfl\-aa\f[B]\f[R] -.IP -.nf -\f[C] -Disable CFL Alias Analysis -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-elide\-constructors\f[B]\f[R] -.IP -.nf -\f[C] -Disable C++ copy constructor elision -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-lto\f[B]\f[R] -.IP -.nf -\f[C] -Disable LTO -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-post\-pass\f[B]\f[R] -.IP -.nf -\f[C] -Don\[aq]t run post processing pass -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-stack\-first\f[B]\f[R] -.IP -.nf -\f[C] -Don\[aq]t set the stack first in memory - -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fquery\f[B]\f[R] -.IP -.nf -\f[C] -Produce binaries for wasmql -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fquery\-client\f[B]\f[R] -.IP -.nf -\f[C] -Produce binaries for wasmql -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fquery\-server\f[B]\f[R] -.IP -.nf -\f[C] -Produce binaries for wasmql -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstack\-protector\f[B]\f[R] -.IP -.nf -\f[C] -Enable stack protectors for functions potentially vulnerable to stack smashing -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstack\-protector\-all\f[B]\f[R] -.IP -.nf -\f[C] -Force the usage of stack protectors for all functions -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstack\-protector\-strong\f[B]\f[R] -.IP -.nf -\f[C] -Use a strong heuristic to apply stack protectors to functions -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstrict\-enums\f[B]\f[R] -.IP -.nf -\f[C] -Enable optimizations based on the strict definition of an enum\[aq]s value range -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstrict\-return\f[B]\f[R] -.IP -.nf -\f[C] -Always treat control flow paths that fall off the end of a non\-void function as unreachable -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fstrict\-vtable\-pointers\f[B]\f[R] -.IP -.nf -\f[C] -Enable optimizations based on the strict rules for overwriting polymorphic C++ objects -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fuse\-main\f[B]\f[R] -.IP -.nf -\f[C] -Use main as entry - -\f[R] -.fi -.PP -\f[B]\f[CB]\-h\f[B]\f[R] -.IP -.nf -\f[C] -Alias for \-\-help -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-help\f[B]\f[R] -.IP -.nf -\f[C] -Display available options (\-\-help\-hidden for more) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-help\-hidden\f[B]\f[R] -.IP -.nf -\f[C] -Display all available options -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-help\-list\f[B]\f[R] -.IP -.nf -\f[C] -Display list of available options (\-\-help\-list\-hidden for more) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-help\-list\-hidden\f[B]\f[R] -.IP -.nf -\f[C] -Display list of all available options -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-imports=\f[B]\f[R] -.IP -.nf -\f[C] -Set the file for cdt.imports -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-include=\f[B]\f[R] -.IP -.nf -\f[C] -Include file before parsing -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-info\-output\-file=\f[B]\f[R] -.IP -.nf -\f[C] -File to append \-stats and \-timer output to -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-isysroot=\f[B]\f[R] -.IP -.nf -\f[C] -Set the system root directory (usually /) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-isystem=\f[B]\f[R] -.IP -.nf -\f[C] -Add directory to SYSTEM include search path -\f[R] -.fi -.PP -\f[B]\f[CB]\-l=\f[B]\f[R] -.IP -.nf -\f[C] -Root name of library to link -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-lto\-opt=\f[B]\f[R] -.IP -.nf -\f[C] -LTO Optimization level (O0\-O3) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-mllvm=\f[B]\f[R] -.IP -.nf -\f[C] -Pass arguments to llvm -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-no\-abigen\f[B]\f[R] -.IP -.nf -\f[C] -Disable ABI file generation -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-no\-missing\-ricardian\-clause\f[B]\f[R] -.IP -.nf -\f[C] -Disable warnings for missing Ricardian clauses -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-non\-global\-value\-max\-name\-size=\f[B]\f[R] -.IP -.nf -\f[C] -Maximum size for the name of non\-global values -\f[R] -.fi -.PP -\f[B]\f[CB]\-o=\f[B]\f[R] -.IP -.nf -\f[C] -Write output to -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-only\-export=\f[B]\f[R] -.IP -.nf -\f[C] -Export only this symbol -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-opt\-bisect\-limit=\f[B]\f[R] -.IP -.nf -\f[C] -Maximum optimization to perform -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-pass\-remarks=\f[B]\f[R] -.IP -.nf -\f[C] -Enable optimization remarks from passes whose name match the given regular expression -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-pass\-remarks\-analysis=\f[B]\f[R] -.IP -.nf -\f[C] -Enable optimization analysis remarks from passes whose name match the given regular expression -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-pass\-remarks\-missed=\f[B]\f[R] -.IP -.nf -\f[C] -Enable missed optimization remarks from passes whose name match the given regular expression -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-print\-all\-options\f[B]\f[R] -.IP -.nf -\f[C] -Print all option values after command line parsing -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-print\-options\f[B]\f[R] -.IP -.nf -\f[C] -Print non\-default options after command line parsing -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-remarks\-yaml\-string\-table\f[B]\f[R] -.IP -.nf -\f[C] -Enable the usage of a string table with YAML remarks -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-rng\-seed=\f[B]\f[R] -.IP -.nf -\f[C] -Seed for the random number generator -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-shared\f[B]\f[R] -.IP -.nf -\f[C] -Make shared object native library -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-stack\-canary\f[B]\f[R] -.IP -.nf -\f[C] -Stack canary for non stack first layouts -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-stack\-size=\f[B]\f[R] -.IP -.nf -\f[C] -Specifies the maximum stack size for the contract. Defaults to 8192 bytes -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-static\-func\-full\-module\-prefix\f[B]\f[R] -.IP -.nf -\f[C] -Use full module build paths in the profile counter names for static functions -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-static\-func\-strip\-dirname\-prefix=\f[B]\f[R] -.IP -.nf -\f[C] -Strip specified level of directory name from source path in the profile counter name for static functions -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-stats\f[B]\f[R] -.IP -.nf -\f[C] -Enable statistics output from program (available with Asserts) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-stats\-json\f[B]\f[R] -.IP -.nf -\f[C] -Display statistics as json data -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-std=\f[B]\f[R] -.IP -.nf -\f[C] -Language standard to compile for -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-switch\-inst\-prof\-update\-wrapper\-strict\f[B]\f[R] -.IP -.nf -\f[C] -Assert that prof branch_weights metadata is valid when creating an instance of SwitchInstProfUpdateWrapper -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-sysroot=\f[B]\f[R] -.IP -.nf -\f[C] -Set the system root directory -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-time\-trace\-granularity=\f[B]\f[R] -.IP -.nf -\f[C] -Minimum time granularity (in microseconds) traced by time profiler -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-track\-memory\f[B]\f[R] -.IP -.nf -\f[C] -Enable \-time\-passes memory tracking (this may be slow) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-use\-dbg\-addr\f[B]\f[R] -.IP -.nf -\f[C] -Use llvm.dbg.addr for all local variables -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-use\-freeing\-malloc\f[B]\f[R] -.IP -.nf -\f[C] -Set the malloc implementation to the old freeing malloc -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-use\-rt\f[B]\f[R] -.IP -.nf -\f[C] -Use software compiler\-rt -\f[R] -.fi -.PP -\f[B]\f[CB]\-v\f[B]\f[R] -.IP -.nf -\f[C] -Show commands to run and use verbose output -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-version\f[B]\f[R] -.IP -.nf -\f[C] -Display the version of this program -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-view\-background\f[B]\f[R] -.IP -.nf -\f[C] -Execute graph viewer in the background. Creates tmp file litter -\f[R] -.fi -.PP -\f[B]\f[CB]\-w\f[B]\f[R] -.IP -.nf -\f[C] -Suppress all warnings -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-warn\-action\-read\-only\f[B]\f[R] -.IP -.nf -\f[C] -Issue a warning if a read\-only action uses a write API and continue compilation -\f[R] -.fi -.SH BUGS -.PP -Please submit bug reports online at -https://github.com/AntelopeIO/cdt/issues -.SH SEE ALSO -.PP -For more details consult the full documentation and sources -https://github.com/AntelopeIO/cdt diff --git a/cdt/man/cdt-cpp.1.md b/cdt/man/cdt-cpp.1.md deleted file mode 100644 index 95587afd0..000000000 --- a/cdt/man/cdt-cpp.1.md +++ /dev/null @@ -1,443 +0,0 @@ ---- -title: CDT-CPP -section: 1 -header: Contract Development Toolkit (CDT) -footer: AntelopeIO -date: April 08, 2023 ---- -# NAME -cdt-cpp - Antelope smart contract C++ to WebAssembly compiler - -# SYNOPSIS - -`cdt-cpp [options] ` - -# DESCRIPTION - -**cdt-cpp** Is a C++ compiler which converts C++ smart contract code to WebAssemply for -execution in Antelope block chain virtual machines. - -# OPTIONS - -**`-C`** - - Include comments in preprocessed output - -**`--CC`** - - Include comments from within macros in preprocessed output - -**`-D=`** - - Define to (or 1 if omitted) - -**`-U=`** - - Undefine any previous definition of name, either built in or defined with a -D option - -**`-E`** - - Only run the preprocessor - -**`-I=`** - - Add directory to include search path - -**`-L=`** - - Add directory to library search path - -**`--MF=`** - - Write depfile output - -**`--MD`** - - Write depfile containing user and system headers - -**`--MMD`** - - Like -MD except mention only user header files, not system header files. - -**`--MT=`** - - Specify name of main file output in depfile - -**`-O=`** - - Optimization level s, 0-3 - -**`-R=`** - - Add the directory dir to the list of directories to be searched for resource files - -**`-S`** - - Only run preprocess and compilation steps - -**`-W=`** - - Enable the specified warning. - -**`--abi-version=`** - - Which ABI version to generate - -**`--abigen`** - - Generate ABI - -**`--abigen_output=`** - - ABIGEN output - -**`--allow-names`** - - Allow creation of name section - -**`--allow-sse`** - - Should not be used, except for building libc - -**`--as-secure-log-file-name=`** - - As secure log file name (initialized from AS_SECURE_LOG_FILE env variable) - -**`--asm-macro-max-nesting-depth=`** - - The maximum nesting depth allowed for assembly macros - -**`-c`** - - Only run preprocess, compile, and assemble steps - -**`--color`** - - Use colors in output (default=autodetect) - -**`--contract=`** - - Contract name - -**`--dD`** - - Print macro definitions in -E mode in addition to normal output - -**`--dI`** - - Print include directives in -E mode in addition to normal output - -**`--dM`** - - Print macro definitions in -E mode instead to normal output - -**`--disable-symbolication`** - - Disable symbolizing crash backtraces. - -**`--emit-ast`** - - Emit Clang AST files for source inputs - -**`--emit-ir`** - - Emit llvm ir - -**`--emit-llvm`** - - Use the LLVM representation for assembler and object files - -**`--eosio-pp-dir=`** - - Set the directory for eosio-pp - -**`--fPIC`** - - Generate position independent code. This option is used for shared libraries - -**`--faligned-allocation`** - - Enable C++17 aligned allocation functions - -**`--fasm`** - - Assemble file for x86-64 - -**`--fcolor-diagnostics`** - - Use colors in diagnostics - -**`--fcoroutine-ts`** - - Enable support for the C++ Coroutines TS - -**`--finline-functions`** - - Inline suitable functions - -**`--finline-hint-functions`** - - Inline functions which are (explicitly or implicitly) marked inline - -**`--fmerge-all-constants`** - - Allow merging of constants - -**`--fnative`** - - Compile and link for x86-64 - -**`--fno-cfl-aa`** - - Disable CFL Alias Analysis - -**`--fno-elide-constructors`** - - Disable C++ copy constructor elision - -**`--fno-lto`** - - Disable LTO - -**`--fno-post-pass`** - - Don't run post processing pass - -**`--fno-stack-first`** - - Don't set the stack first in memory - -**`--fquery`** - - Produce binaries for wasmql - -**`--fquery-client`** - - Produce binaries for wasmql - -**`--fquery-server`** - - Produce binaries for wasmql - -**`--fstack-protector`** - - Enable stack protectors for functions potentially vulnerable to stack smashing - -**`--fstack-protector-all`** - - Force the usage of stack protectors for all functions - -**`--fstack-protector-strong`** - - Use a strong heuristic to apply stack protectors to functions - -**`--fstrict-enums`** - - Enable optimizations based on the strict definition of an enum's value range - -**`--fstrict-return`** - - Always treat control flow paths that fall off the end of a non-void function as unreachable - -**`--fstrict-vtable-pointers`** - - Enable optimizations based on the strict rules for overwriting polymorphic C++ objects - -**`--fuse-main`** - - Use main as entry - -**`-h`** - - Alias for --help - -**`--help`** - - Display available options (--help-hidden for more) - -**`--help-hidden`** - - Display all available options - -**`--help-list`** - - Display list of available options (--help-list-hidden for more) - -**`--help-list-hidden`** - - Display list of all available options - -**`--imports=`** - - Set the file for cdt.imports - -**`--include=`** - - Include file before parsing - -**`--info-output-file=`** - - File to append -stats and -timer output to - -**`--isysroot=`** - - Set the system root directory (usually /) - -**`--isystem=`** - - Add directory to SYSTEM include search path - -**`-l=`** - - Root name of library to link - -**`--lto-opt=`** - - LTO Optimization level (O0-O3) - -**`--mllvm=`** - - Pass arguments to llvm - -**`--no-abigen`** - - Disable ABI file generation - -**`--no-missing-ricardian-clause`** - - Disable warnings for missing Ricardian clauses - -**`--non-global-value-max-name-size=`** - - Maximum size for the name of non-global values - -**`-o=`** - - Write output to - -**`--only-export=`** - - Export only this symbol - -**`--opt-bisect-limit=`** - - Maximum optimization to perform - -**`--pass-remarks=`** - - Enable optimization remarks from passes whose name match the given regular expression - -**`--pass-remarks-analysis=`** - - Enable optimization analysis remarks from passes whose name match the given regular expression - -**`--pass-remarks-missed=`** - - Enable missed optimization remarks from passes whose name match the given regular expression - -**`--print-all-options`** - - Print all option values after command line parsing - -**`--print-options`** - - Print non-default options after command line parsing - -**`--remarks-yaml-string-table`** - - Enable the usage of a string table with YAML remarks - -**`--rng-seed=`** - - Seed for the random number generator - -**`--shared`** - - Make shared object native library - -**`--stack-canary`** - - Stack canary for non stack first layouts - -**`--stack-size=`** - - Specifies the maximum stack size for the contract. Defaults to 8192 bytes - -**`--static-func-full-module-prefix`** - - Use full module build paths in the profile counter names for static functions - -**`--static-func-strip-dirname-prefix=`** - - Strip specified level of directory name from source path in the profile counter name for static functions - -**`--stats`** - - Enable statistics output from program (available with Asserts) - -**`--stats-json`** - - Display statistics as json data - -**`--std=`** - - Language standard to compile for - -**`--switch-inst-prof-update-wrapper-strict`** - - Assert that prof branch_weights metadata is valid when creating an instance of SwitchInstProfUpdateWrapper - -**`--sysroot=`** - - Set the system root directory - -**`--time-trace-granularity=`** - - Minimum time granularity (in microseconds) traced by time profiler - -**`--track-memory`** - - Enable -time-passes memory tracking (this may be slow) - -**`--use-dbg-addr`** - - Use llvm.dbg.addr for all local variables - -**`--use-freeing-malloc`** - - Set the malloc implementation to the old freeing malloc - -**`--use-rt`** - - Use software compiler-rt - -**`-v`** - - Show commands to run and use verbose output - -**`--version`** - - Display the version of this program - -**`--view-background`** - - Execute graph viewer in the background. Creates tmp file litter - -**`-w`** - - Suppress all warnings - -**`--warn-action-read-only`** - - Issue a warning if a read-only action uses a write API and continue compilation - - -# BUGS - -Please submit bug reports online at https://github.com/AntelopeIO/cdt/issues - -# SEE ALSO - -For more details consult the full documentation and sources https://github.com/AntelopeIO/cdt - - diff --git a/cdt/man/cdt-ld.1 b/cdt/man/cdt-ld.1 deleted file mode 100644 index 2f9f470ec..000000000 --- a/cdt/man/cdt-ld.1 +++ /dev/null @@ -1,215 +0,0 @@ -.\" Automatically generated by Pandoc 2.5 -.\" -.TH "CDT\-LD" "1" "April 14, 2023" "AntelopeIO" "Contract Development Toolkit (CDT)" -.hy -.SH NAME -.PP -cdt\-ld \- Antelope smart contract WebAssembly linker -.SH SYNOPSIS -.PP -\f[C]cdt\-ld [options] \f[R] -.SH DESCRIPTION -.PP -\f[B]cdt\-ld\f[R] Is a compiled smart contract linker which creates -WebAssemply code for execution in Antelope block chain virtual machines. -.SH OPTIONS -.PP -\f[B]\f[CB]\-L=\f[B]\f[R] -.IP -.nf -\f[C] -Add directory to library search path -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-abi\-version=\f[B]\f[R] -.IP -.nf -\f[C] -Which ABI version to generate -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-allow\-names\f[B]\f[R] -.IP -.nf -\f[C] -Allows name section to be created -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fasm\f[B]\f[R] -.IP -.nf -\f[C] -Assemble file for x86\-64 -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fnative\f[B]\f[R] -.IP -.nf -\f[C] -Compile and link for x86\-64 -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-cfl\-aa\f[B]\f[R] -.IP -.nf -\f[C] -Disable CFL Alias Analysis -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-lto\f[B]\f[R] -.IP -.nf -\f[C] -Disable LTO -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-post\-pass\f[B]\f[R] -.IP -.nf -\f[C] -Don\[aq]t run post processing pass -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fno\-stack\-first\f[B]\f[R] -.IP -.nf -\f[C] -Don\[aq]t set the stack first in memory -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fquery\f[B]\f[R] -.IP -.nf -\f[C] -Produce binaries for wasmql -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fquery\-client\f[B]\f[R] -.IP -.nf -\f[C] -Produce binaries for wasmql -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fquery\-server\f[B]\f[R] -.IP -.nf -\f[C] -Produce binaries for wasmql -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-fuse\-main\f[B]\f[R] -.IP -.nf -\f[C] -Use main as entry -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-help\f[B]\f[R] -.IP -.nf -\f[C] -Display available options (\-\-help\-hidden for more) -\f[R] -.fi -.PP -\f[B]\f[CB]\-l=\f[B]\f[R] -.IP -.nf -\f[C] -Root name of library to link -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-lto\-opt=\f[B]\f[R] -.IP -.nf -\f[C] -LTO Optimization level (O0\-O3) -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-mllvm=\f[B]\f[R] -.IP -.nf -\f[C] -Pass arguments to llvm -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-no\-abigen\f[B]\f[R] -.IP -.nf -\f[C] -Disable ABI file generation -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-no\-missing\-ricardian\-clause\f[B]\f[R] -.IP -.nf -\f[C] -Disable warnings for missing Ricardian clauses -\f[R] -.fi -.PP -\f[B]\f[CB]\-o=\f[B]\f[R] -.IP -.nf -\f[C] -Write output to -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-shared\f[B]\f[R] -.IP -.nf -\f[C] -Make shared object native library -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-stack\-canary\f[B]\f[R] -.IP -.nf -\f[C] -Stack canary for non stack first layouts -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-stack\-size=\f[B]\f[R] -.IP -.nf -\f[C] -Specifies the maximum stack size for the contract. Defaults to 8192 bytes -\f[R] -.fi -.PP -\f[B]\f[CB]\-\-version\f[B]\f[R] -.IP -.nf -\f[C] -Display the version of this program -\f[R] -.fi -.SH BUGS -.PP -Please submit bug reports online at -https://github.com/AntelopeIO/cdt/issues -.SH SEE ALSO -.PP -For more details consult the full documentation and sources -https://github.com/AntelopeIO/cdt diff --git a/cdt/man/cdt-ld.1.md b/cdt/man/cdt-ld.1.md deleted file mode 100644 index 7063e871b..000000000 --- a/cdt/man/cdt-ld.1.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: CDT-LD -section: 1 -header: Contract Development Toolkit (CDT) -footer: AntelopeIO -date: April 14, 2023 ---- -# NAME -cdt-ld - Antelope smart contract WebAssembly linker - -# SYNOPSIS - -`cdt-ld [options] ` - -# DESCRIPTION - -**cdt-ld** Is a compiled smart contract linker which creates WebAssemply code for -execution in Antelope block chain virtual machines. - -# OPTIONS - -**`-L=`** - - Add directory to library search path - -**`--abi-version=`** - - Which ABI version to generate - -**`--allow-names`** - - Allows name section to be created - -**`--fasm`** - - Assemble file for x86-64 - -**`--fnative`** - - Compile and link for x86-64 - -**`--fno-cfl-aa`** - - Disable CFL Alias Analysis - -**`--fno-lto`** - - Disable LTO - -**`--fno-post-pass`** - - Don't run post processing pass - -**`--fno-stack-first`** - - Don't set the stack first in memory - -**`--fquery`** - - Produce binaries for wasmql - -**`--fquery-client`** - - Produce binaries for wasmql - -**`--fquery-server`** - - Produce binaries for wasmql - -**`--fuse-main`** - - Use main as entry - -**`--help`** - - Display available options (--help-hidden for more) - -**`-l=`** - - Root name of library to link - -**`--lto-opt=`** - - LTO Optimization level (O0-O3) - -**`--mllvm=`** - - Pass arguments to llvm - -**`--no-abigen`** - - Disable ABI file generation - -**`--no-missing-ricardian-clause`** - - Disable warnings for missing Ricardian clauses - -**`-o=`** - - Write output to - -**`--shared`** - - Make shared object native library - -**`--stack-canary`** - - Stack canary for non stack first layouts - -**`--stack-size=`** - - Specifies the maximum stack size for the contract. Defaults to 8192 bytes - -**`--version`** - - Display the version of this program - - -# BUGS - -Please submit bug reports online at https://github.com/AntelopeIO/cdt/issues - -# SEE ALSO - -For more details consult the full documentation and sources https://github.com/AntelopeIO/cdt - - diff --git a/cdt/man/cdt-objdump.1 b/cdt/man/cdt-objdump.1 deleted file mode 100644 index 2ef7f2341..000000000 --- a/cdt/man/cdt-objdump.1 +++ /dev/null @@ -1,263 +0,0 @@ -.\" Automatically generated by Pandoc 2.5 -.\" -.TH "CDT\-OBJDUMP" "1" "April 18, 2023" "AntelopeIO" "Contract Development Toolkit (CDT)" -.hy -.SH NAME -.PP -cdt\-objdump \- manual page for cdt\-objdump -.SH DESCRIPTION -.PP -cdt\-objdump is a CDT object file dumper -.SH SYNOPSIS -.PP -cdt\-objdump [options] -.SH OPTIONS -.PP -Generic Options: -.PP -\f[B]\-\-help\f[R] \- Display available options -(\f[B]\-\-help\-hidden\f[R] for more) -.PP -\f[B]\-\-help\-list\f[R] \- Display list of available options -(\f[B]\-\-help\-list\-hidden\f[R] for more) -.PP -\f[B]\-\-version\f[R] \- Display the version of this program -.PP -cdt\-objdump MachO Specific Options: -.PP -\f[B]\-\-arch=\f[R] \- architecture(s) from a Mach\-O file to -dump -.PP -\f[B]\-\-archive\-member\-offsets\f[R] \- Print the offset to each -archive member for Mach\-O archives (requires \f[B]\-\-macho\f[R] and -\f[B]\-archive\-headers\f[R]) -.PP -\f[B]\-\-bind\f[R] \- Display mach\-o binding info -.PP -\f[B]\-\-data\-in\-code\f[R] \- Print the data in code table for Mach\-O -objects (requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-dis\-symname=\f[R] \- disassemble just this -symbol\[aq]s instructions (requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-dsym=\f[R] \- Use .dSYM file for debug info -.PP -\f[B]\-\-dylib\-id\f[R] \- Print the shared library\[aq]s id for the -dylib Mach\-O file (requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-dylibs\-used\f[R] \- Print the shared libraries used for linked -Mach\-O files (requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-exports\-trie\f[R] \- Display mach\-o exported symbols -.PP -\f[B]\-\-full\-leading\-addr\f[R] \- Print full leading address -.PP -\f[B]\-g\f[R] \- Print line information from debug info if available -.PP -\f[B]\-\-indirect\-symbols\f[R] \- Print indirect symbol table for -Mach\-O objects (requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-info\-plist\f[R] \- Print the info plist section as strings for -Mach\-O objects (requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-lazy\-bind\f[R] \- Display mach\-o lazy binding info -.PP -\f[B]\-\-link\-opt\-hints\f[R] \- Print the linker optimization hints -for Mach\-O objects (requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-no\-leading\-headers\f[R] \- Print no leading headers -.PP -\f[B]\-\-no\-symbolic\-operands\f[R] \- do not symbolic operands when -disassembling (requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-non\-verbose\f[R] \- Print the info for Mach\-O objects in -non\-verbose or numeric form (requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-objc\-meta\-data\f[R] \- Print the Objective\-C runtime meta -data for Mach\-O files (requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-private\-header\f[R] \- Display only the first format specific -file header -.PP -\f[B]\-\-rebase\f[R] \- Display mach\-o rebasing info -.PP -\f[B]\-\-universal\-headers\f[R] \- Print Mach\-O universal headers -(requires \f[B]\-\-macho\f[R]) -.PP -\f[B]\-\-weak\-bind\f[R] \- Display mach\-o weak binding info -.PP -cdt\-objdump Options: -.PP -\f[B]\-C\f[R] \- Alias for \f[B]\-\-demangle\f[R] -.PP -\f[B]\-D\f[R] \- Alias for \f[B]\-\-disassemble\-all\f[R] -.PP -\f[B]\-M\f[R] \- Alias for \f[B]\-\-disassembler\-options\f[R] -.PP -\f[B]\-R\f[R] \- Alias for \f[B]\-\-dynamic\-reloc\f[R] -.PP -\f[B]\-S\f[R] \- Alias for \f[B]\-\-source\f[R] -.PP -\f[B]\-T\f[R] \- Alias for \f[B]\-\-dynamic\-syms\f[R] -.PP -\f[B]\-a\f[R] \- Alias for \f[B]\-\-archive\-headers\f[R] -.PP -\f[B]\-\-adjust\-vma=\f[R] \- Increase the displayed address by -the specified offset -.PP -\f[B]\-\-all\-headers\f[R] \- Display all available header information -.PP -\f[B]\-\-arch\-name=\f[R] \- Target arch to disassemble for, see -\f[B]\-version\f[R] for available targets -.PP -\f[B]\-\-archive\-headers\f[R] \- Display archive header information -.PP -\f[B]\-d\f[R] \- Alias for \f[B]\-\-disassemble\f[R] -.PP -\f[B]\-\-debug\-vars\f[R] \- Print the locations (in registers or -memory) of source\-level variables alongside disassembly -.PP -\f[B]\-\-debug\-vars=\f[R] \- Print the locations (in registers -or memory) of source\-level variables alongside disassembly -.TP -.B = -\- unicode -.TP -.B =unicode -\- unicode -.TP -.B =ascii -\- unicode -.PP -\f[B]\-\-debug\-vars\-indent=\f[R] \- Distance to indent the -source\-level variable display, relative to the start of the disassembly -.PP -\f[B]\-\-demangle\f[R] \- Demangle symbols names -.PP -\f[B]\-\-disassemble\f[R] \- Display assembler mnemonics for the machine -instructions -.PP -\f[B]\-\-disassemble\-all\f[R] \- Display assembler mnemonics for the -machine instructions -.PP -\f[B]\-\-disassemble\-symbols=\f[R] \- List of symbols to -disassemble. -Accept demangled names when \f[B]\-\-demangle\f[R] is specified, -otherwise accept mangled names -.PP -\f[B]\-\-disassemble\-zeroes\f[R] \- Do not skip blocks of zeroes when -disassembling -.PP -\f[B]\-\-disassembler\-options=\f[R] \- Pass target specific -disassembler options -.PP -\f[B]\-\-dwarf=\f[R] \- Dump of dwarf debug sections: -.TP -.B =frames -\- .debug_frame -.PP -\f[B]\-\-dynamic\-reloc\f[R] \- Display the dynamic relocation entries -in the file -.PP -\f[B]\-\-dynamic\-syms\f[R] \- Display the contents of the dynamic -symbol table -.PP -\f[B]\-f\f[R] \- Alias for \f[B]\-\-file\-headers\f[R] -.PP -\f[B]\-\-fault\-map\-section\f[R] \- Display contents of faultmap -section -.PP -\f[B]\-\-file\-headers\f[R] \- Display the contents of the overall file -header -.PP -\f[B]\-\-full\-contents\f[R] \- Display the content of each section -.PP -\f[B]\-h\f[R] \- Alias for \f[B]\-\-section\-headers\f[R] -.PP -\f[B]\-\-headers\f[R] \- Alias for \f[B]\-\-section\-headers\f[R] -.PP -\f[B]\-j\f[R] \- Alias for \f[B]\-\-section\f[R] -.PP -\f[B]\-l\f[R] \- Alias for \f[B]\-\-line\-numbers\f[R] -.PP -\f[B]\-\-line\-numbers\f[R] \- Display source line numbers with -disassembly. -Implies disassemble object -.PP -\f[B]\-m\f[R] \- Alias for \f[B]\-\-macho\f[R] -.PP -\f[B]\-\-macho\f[R] \- Use MachO specific object file parser -.PP -\f[B]\-\-mattr=\f[R] \- Target specific attributes -.PP -\f[B]\-\-mcpu=\f[R] \- Target a specific cpu type -(\f[B]\-mcpu\f[R]=\f[I]help\f[R] for details) -.PP -\f[B]\-\-no\-leading\-addr\f[R] \- Print no leading address -.PP -\f[B]\-\-no\-show\-raw\-insn\f[R] \- When disassembling instructions, do -not print the instruction bytes. -.PP -\f[B]\-p\f[R] \- Alias for \f[B]\-\-private\-headers\f[R] -.PP -\f[B]\-\-print\-imm\-hex\f[R] \- Use hex format for immediate values -.PP -\f[B]\-\-private\-headers\f[R] \- Display format specific file headers -.PP -\f[B]\-r\f[R] \- Alias for \f[B]\-\-reloc\f[R] -.PP -\f[B]\-\-raw\-clang\-ast\f[R] \- Dump the raw binary contents of the -clang AST section -.PP -\f[B]\-\-reloc\f[R] \- Display the relocation entries in the file -.PP -\f[B]\-s\f[R] \- Alias for \f[B]\-\-full\-contents\f[R] -.PP -\f[B]\-\-section=\f[R] \- Operate on the specified sections -only. -With \f[B]\-\-macho\f[R] dump segment,section -.PP -\f[B]\-\-section\-headers\f[R] \- Display summaries of the headers for -each section. -.PP -\f[B]\-\-show\-lma\f[R] \- Display LMA column when dumping ELF section -headers -.PP -\f[B]\-\-source\f[R] \- Display source inlined with disassembly. -Implies disassemble object -.PP -\f[B]\-\-start\-address=\f[R]
\- Disassemble beginning at -address -.PP -\f[B]\-\-stop\-address=\f[R]
\- Stop disassembly at address -.PP -\f[B]\-\-symbol\-description\f[R] \- Add symbol description for -disassembly. -This option is for XCOFF files only -.PP -\f[B]\-\-syms\f[R] \- Display the symbol table -.PP -\f[B]\-t\f[R] \- Alias for \f[B]\-\-syms\f[R] -.PP -\f[B]\-\-triple=\f[R] \- Target triple to disassemble for, see -\f[B]\-version\f[R] for available targets -.PP -\f[B]\-u\f[R] \- Alias for \f[B]\-\-unwind\-info\f[R] -.PP -\f[B]\-\-unwind\-info\f[R] \- Display unwind information -.PP -\f[B]\-\-wide\f[R] \- Ignored for compatibility with GNU objdump -.PP -\f[B]\-x\f[R] \- Alias for \f[B]\-\-all\-headers\f[R] -.PP -\f[B]\-z\f[R] \- Alias for \f[B]\-\-disassemble\-zeroes\f[R] -.PP -Pass \[at]FILE as argument to read options from FILE. -.SH BUGS -.PP -Please submit bug reports online at -https://github.com/AntelopeIO/cdt/issues -.SH SEE ALSO -.PP -For more details consult the full documentation and sources -https://github.com/AntelopeIO/cdt diff --git a/cdt/man/cdt-objdump.1.md b/cdt/man/cdt-objdump.1.md deleted file mode 100644 index d46b0756d..000000000 --- a/cdt/man/cdt-objdump.1.md +++ /dev/null @@ -1,262 +0,0 @@ ---- -date: April 18, 2023 -section: 1 -title: 'CDT-OBJDUMP' -footer: AntelopeIO -header: Contract Development Toolkit (CDT) ---- - -# NAME - -cdt-objdump - manual page for cdt-objdump - -# DESCRIPTION - -cdt-objdump is a CDT object file dumper - -# SYNOPSIS - -cdt-objdump \[options\] \ - -# OPTIONS - -Generic Options: - -**\--help** - Display available options (**\--help-hidden** for more) - -**\--help-list** - Display list of available options -(**\--help-list-hidden** for more) - -**\--version** - Display the version of this program - -cdt-objdump MachO Specific Options: - -**\--arch=**\ - architecture(s) from a Mach-O file to dump - -**\--archive-member-offsets** - Print the offset to each archive member -for Mach-O archives (requires **\--macho** and **-archive-headers**) - -**\--bind** - Display mach-o binding info - -**\--data-in-code** - Print the data in code table for Mach-O objects -(requires **\--macho**) - -**\--dis-symname=**\ - disassemble just this symbol\'s -instructions (requires **\--macho**) - -**\--dsym=**\ - Use .dSYM file for debug info - -**\--dylib-id** - Print the shared library\'s id for the dylib Mach-O -file (requires **\--macho**) - -**\--dylibs-used** - Print the shared libraries used for linked Mach-O -files (requires **\--macho**) - -**\--exports-trie** - Display mach-o exported symbols - -**\--full-leading-addr** - Print full leading address - -**-g** - Print line information from debug info if available - -**\--indirect-symbols** - Print indirect symbol table for Mach-O objects -(requires **\--macho**) - -**\--info-plist** - Print the info plist section as strings for Mach-O -objects (requires **\--macho**) - -**\--lazy-bind** - Display mach-o lazy binding info - -**\--link-opt-hints** - Print the linker optimization hints for Mach-O -objects (requires **\--macho**) - -**\--no-leading-headers** - Print no leading headers - -**\--no-symbolic-operands** - do not symbolic operands when -disassembling (requires **\--macho**) - -**\--non-verbose** - Print the info for Mach-O objects in non-verbose or -numeric form (requires **\--macho**) - -**\--objc-meta-data** - Print the Objective-C runtime meta data for -Mach-O files (requires **\--macho**) - -**\--private-header** - Display only the first format specific file -header - -**\--rebase** - Display mach-o rebasing info - -**\--universal-headers** - Print Mach-O universal headers (requires -**\--macho**) - -**\--weak-bind** - Display mach-o weak binding info - -cdt-objdump Options: - -**-C** - Alias for **\--demangle** - -**-D** - Alias for **\--disassemble-all** - -**-M** - Alias for **\--disassembler-options** - -**-R** - Alias for **\--dynamic-reloc** - -**-S** - Alias for **\--source** - -**-T** - Alias for **\--dynamic-syms** - -**-a** - Alias for **\--archive-headers** - -**\--adjust-vma=**\ - Increase the displayed address by the -specified offset - -**\--all-headers** - Display all available header information - -**\--arch-name=**\ - Target arch to disassemble for, see -**-version** for available targets - -**\--archive-headers** - Display archive header information - -**-d** - Alias for **\--disassemble** - -**\--debug-vars** - Print the locations (in registers or memory) of -source-level variables alongside disassembly - -**\--debug-vars=**\ - Print the locations (in registers or -memory) of source-level variables alongside disassembly - -=\ - -: \- unicode - -=unicode - -: \- unicode - -=ascii - -: \- unicode - -**\--debug-vars-indent=**\ - Distance to indent the source-level -variable display, relative to the start of the disassembly - -**\--demangle** - Demangle symbols names - -**\--disassemble** - Display assembler mnemonics for the machine -instructions - -**\--disassemble-all** - Display assembler mnemonics for the machine -instructions - -**\--disassemble-symbols=**\ - List of symbols to disassemble. -Accept demangled names when **\--demangle** is specified, otherwise -accept mangled names - -**\--disassemble-zeroes** - Do not skip blocks of zeroes when -disassembling - -**\--disassembler-options=**\ - Pass target specific -disassembler options - -**\--dwarf=**\ - Dump of dwarf debug sections: - -=frames - -: \- .debug\_frame - -**\--dynamic-reloc** - Display the dynamic relocation entries in the -file - -**\--dynamic-syms** - Display the contents of the dynamic symbol table - -**-f** - Alias for **\--file-headers** - -**\--fault-map-section** - Display contents of faultmap section - -**\--file-headers** - Display the contents of the overall file header - -**\--full-contents** - Display the content of each section - -**-h** - Alias for **\--section-headers** - -**\--headers** - Alias for **\--section-headers** - -**-j** - Alias for **\--section** - -**-l** - Alias for **\--line-numbers** - -**\--line-numbers** - Display source line numbers with disassembly. -Implies disassemble object - -**-m** - Alias for **\--macho** - -**\--macho** - Use MachO specific object file parser - -**\--mattr=**\ - Target specific attributes - -**\--mcpu=**\ - Target a specific cpu type (**-mcpu**=*help* -for details) - -**\--no-leading-addr** - Print no leading address - -**\--no-show-raw-insn** - When disassembling instructions, do not print -the instruction bytes. - -**-p** - Alias for **\--private-headers** - -**\--print-imm-hex** - Use hex format for immediate values - -**\--private-headers** - Display format specific file headers - -**-r** - Alias for **\--reloc** - -**\--raw-clang-ast** - Dump the raw binary contents of the clang AST -section - -**\--reloc** - Display the relocation entries in the file - -**-s** - Alias for **\--full-contents** - -**\--section=**\ - Operate on the specified sections only. With -**\--macho** dump segment,section - -**\--section-headers** - Display summaries of the headers for each -section. - -**\--show-lma** - Display LMA column when dumping ELF section headers - -**\--source** - Display source inlined with disassembly. Implies -disassemble object - -**\--start-address=**\ - Disassemble beginning at address - -**\--stop-address=**\ - Stop disassembly at address - -**\--symbol-description** - Add symbol description for disassembly. This -option is for XCOFF files only - -**\--syms** - Display the symbol table - -**-t** - Alias for **\--syms** - -**\--triple=**\ - Target triple to disassemble for, see -**-version** for available targets - -**-u** - Alias for **\--unwind-info** - -**\--unwind-info** - Display unwind information - -**\--wide** - Ignored for compatibility with GNU objdump - -**-x** - Alias for **\--all-headers** - -**-z** - Alias for **\--disassemble-zeroes** - -Pass \@FILE as argument to read options from FILE. - -# BUGS - -Please submit bug reports online at https://github.com/AntelopeIO/cdt/issues - -# SEE ALSO - -For more details consult the full documentation and sources https://github.com/AntelopeIO/cdt \ No newline at end of file diff --git a/cdt/man/make_man.sh b/cdt/man/make_man.sh deleted file mode 100755 index 0a413a4f2..000000000 --- a/cdt/man/make_man.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -for file in cdt-*.1.md; do - pandoc "$file" -s -t man -o "${file%.md}" -done diff --git a/docs/cdt/_r_e_a_d_m_e_8md.html b/docs/cdt/_r_e_a_d_m_e_8md.html new file mode 100644 index 000000000..f7023f3e4 --- /dev/null +++ b/docs/cdt/_r_e_a_d_m_e_8md.html @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл README.md + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Файл README.md
+
+
+
+
+ + + + + + diff --git a/docs/cdt/action_8hpp.html b/docs/cdt/action_8hpp.html new file mode 100644 index 000000000..b66e0a9bd --- /dev/null +++ b/docs/cdt/action_8hpp.html @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/action.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
#include <cstdlib>
+#include <type_traits>
+#include "../../core/eosio/serialize.hpp"
+#include "../../core/eosio/datastream.hpp"
+#include "../../core/eosio/name.hpp"
+#include "../../core/eosio/fixed_bytes.hpp"
+#include "../../core/eosio/ignore.hpp"
+#include "../../core/eosio/time.hpp"
+
+

См. исходные тексты.

+ + + + + + + + + + + + + + + +

+Классы

struct  eosio::code_hash_result
 
struct  eosio::permission_level
 
struct  eosio::action
 
struct  eosio::action_wrapper< Name, Action >
 Обёртка для конкретного действия, упрощающая отправку встроенных (inline) действий к этому действию из других контрактов. Пример: Подробнее...
 
struct  eosio::variant_action_wrapper< Name, Actions >
 
struct  eosio::inline_dispatcher< void(T::*)(Args...), Name >
 
+ + + + + + + +

+Пространства имен

namespace  eosio
 
namespace  eosio::internal_use_do_not_use
 
namespace  eosio::detail
 
+ + + + + + + + + + +

+Макросы

#define INLINE_ACTION_SENDER3(CONTRACT_CLASS, FUNCTION_NAME, ACTION_NAME)   ::eosio::inline_dispatcher<decltype(&CONTRACT_CLASS::FUNCTION_NAME), ACTION_NAME>::call
 
#define INLINE_ACTION_SENDER2(CONTRACT_CLASS, NAME)   INLINE_ACTION_SENDER3( CONTRACT_CLASS, NAME, ::eosio::name(#NAME) )
 
#define INLINE_ACTION_SENDER(...)   BLUEGRASS_META_OVERLOAD(INLINE_ACTION_SENDER,__VA_ARGS__)(__VA_ARGS__)
 
#define SEND_INLINE_ACTION(CONTRACT, NAME, ...)   INLINE_ACTION_SENDER(std::decay_t<decltype(CONTRACT)>, NAME)( (CONTRACT).get_self(),__VA_ARGS__)
 Макрос для упрощения вызова встроенных (inline) действий Подробнее...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Функции

 eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
 
template<typename T >
eosio::unpack_action_data ()
 
void eosio::require_recipient (name notify_account)
 Добавляет указанный аккаунт в множество аккаунтов для уведомления Подробнее...
 
template<typename... accounts>
void eosio::require_recipient (name notify_account, accounts... remaining_accounts)
 
void eosio::require_auth (name n)
 
time_point eosio::publication_time ()
 
name eosio::current_receiver ()
 
checksum256 eosio::get_code_hash (name account, code_hash_result *full_result=nullptr)
 
uint32_t eosio::read_action_data (void *msg, uint32_t len)
 
uint32_t eosio::action_data_size ()
 
void eosio::require_auth (const permission_level &level)
 
bool eosio::has_auth (name n)
 
bool eosio::is_account (name n)
 
template<typename... Args>
void eosio::dispatch_inline (name code, name act, std::vector< permission_level > perms, std::tuple< Args... > args)
 
+ + + + + + + + + + + + + +

+Переменные

uint32_t eosio::internal_use_do_not_use::len
 
uint64_t eosio::internal_use_do_not_use::permission
 
size_t eosio::internal_use_do_not_use::size
 
uint32_t eosio::internal_use_do_not_use::struct_version
 
uint32_t char * eosio::internal_use_do_not_use::result_buffer
 
uint32_t char size_t eosio::internal_use_do_not_use::buffer_size
 
+

Подробное описание

+
+ +

См. определение в файле action.hpp

+
+
+ + + + + + diff --git a/docs/cdt/action_8hpp.js b/docs/cdt/action_8hpp.js new file mode 100644 index 000000000..e9fd0a76e --- /dev/null +++ b/docs/cdt/action_8hpp.js @@ -0,0 +1,31 @@ +var action_8hpp = +[ + [ "eosio::code_hash_result", "structeosio_1_1code__hash__result.html", "structeosio_1_1code__hash__result" ], + [ "eosio::action_wrapper< Name, Action >", "structeosio_1_1action__wrapper.html", "structeosio_1_1action__wrapper" ], + [ "eosio::variant_action_wrapper< Name, Actions >", "structeosio_1_1variant__action__wrapper.html", "structeosio_1_1variant__action__wrapper" ], + [ "eosio::inline_dispatcher< void(T::*)(Args...), Name >", "structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4.html", null ], + [ "INLINE_ACTION_SENDER", "action_8hpp_a1bb288791cd436d07bddf3d43f4740d4.html#a1bb288791cd436d07bddf3d43f4740d4", null ], + [ "INLINE_ACTION_SENDER2", "action_8hpp_abeecc07548f70308a4aab9fcdb2d22f1.html#abeecc07548f70308a4aab9fcdb2d22f1", null ], + [ "INLINE_ACTION_SENDER3", "action_8hpp_a20c19e0f931fad16c4db6d29480acddf.html#a20c19e0f931fad16c4db6d29480acddf", null ], + [ "SEND_INLINE_ACTION", "action_8hpp_a7c267f408db88d60ce0a5c74845596ee.html#a7c267f408db88d60ce0a5c74845596ee", null ], + [ "__attribute__", "action_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387", null ], + [ "action_data_size", "action_8hpp.html#a602640a08f02a893cab6b28016866ec0", null ], + [ "current_receiver", "action_8hpp.html#a1fe03e054c95360f2dd4e563aa49695b", null ], + [ "dispatch_inline", "action_8hpp.html#a0917f40ecb384d7934f7983351b397ce", null ], + [ "get_code_hash", "action_8hpp.html#a42e0876d95586115725e60f81b684b9a", null ], + [ "has_auth", "action_8hpp.html#ga9e4650a61bbe0809cc62e6b2af8252d3", null ], + [ "is_account", "action_8hpp.html#ga887cd0fed2350c5ae52565ba6e290db3", null ], + [ "publication_time", "action_8hpp.html#ga0005da20de567962c4357c18ba29bdf7", null ], + [ "read_action_data", "action_8hpp.html#ga02dcd9ca25bcdd8279efe0d45e50c9eb", null ], + [ "require_auth", "action_8hpp.html#gaa9c6bd255a286073e7dc8a337f2b11a2", null ], + [ "require_auth", "action_8hpp.html#ga47b4afe79f1de07376e2ecdd541f92c7", null ], + [ "require_recipient", "action_8hpp.html#ga4e1838d05857e38ddf8916e616698460", null ], + [ "require_recipient", "action_8hpp.html#gaa61e47227ac315887caf1e028191ff7d", null ], + [ "unpack_action_data", "action_8hpp.html#ga3ce0a297276d44f03c9b5dc17fcd2b31", null ], + [ "buffer_size", "action_8hpp.html#ae6703efb9c09cd5c00bf70eee2bbd9e0", null ], + [ "len", "action_8hpp.html#aa83533278bab525701fa405485bb5390", null ], + [ "permission", "action_8hpp.html#ac956e7abe6f9a0aec8d5afce830c336a", null ], + [ "result_buffer", "action_8hpp.html#a2ca0cdda4f780baef07a180db174398d", null ], + [ "size", "action_8hpp.html#a40f68c0fdc4874d206da23b1feccba91", null ], + [ "struct_version", "action_8hpp.html#aa87ebca610090d4846fdf11d9dc46e2d", null ] +]; \ No newline at end of file diff --git a/docs/cdt/action_8hpp_a1bb288791cd436d07bddf3d43f4740d4.html b/docs/cdt/action_8hpp_a1bb288791cd436d07bddf3d43f4740d4.html new file mode 100644 index 000000000..e6d79a4cb --- /dev/null +++ b/docs/cdt/action_8hpp_a1bb288791cd436d07bddf3d43f4740d4.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + +CDT: INLINE_ACTION_SENDER + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ INLINE_ACTION_SENDER

+ +
+
+ + + + + + + + +
#define INLINE_ACTION_SENDER( ...)   BLUEGRASS_META_OVERLOAD(INLINE_ACTION_SENDER,__VA_ARGS__)(__VA_ARGS__)
+
+ +

См. определение в файле action.hpp строка 628

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/action_8hpp_a20c19e0f931fad16c4db6d29480acddf.html b/docs/cdt/action_8hpp_a20c19e0f931fad16c4db6d29480acddf.html new file mode 100644 index 000000000..a70344f55 --- /dev/null +++ b/docs/cdt/action_8hpp_a20c19e0f931fad16c4db6d29480acddf.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: INLINE_ACTION_SENDER3 + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ INLINE_ACTION_SENDER3

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define INLINE_ACTION_SENDER3( CONTRACT_CLASS,
 FUNCTION_NAME,
 ACTION_NAME 
)   ::eosio::inline_dispatcher<decltype(&CONTRACT_CLASS::FUNCTION_NAME), ACTION_NAME>::call
+
+ +

См. определение в файле action.hpp строка 622

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/action_8hpp_a7c267f408db88d60ce0a5c74845596ee.html b/docs/cdt/action_8hpp_a7c267f408db88d60ce0a5c74845596ee.html new file mode 100644 index 000000000..19e02f10e --- /dev/null +++ b/docs/cdt/action_8hpp_a7c267f408db88d60ce0a5c74845596ee.html @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + +CDT: SEND_INLINE_ACTION + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ SEND_INLINE_ACTION

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define SEND_INLINE_ACTION( CONTRACT,
 NAME,
 ... 
)   INLINE_ACTION_SENDER(std::decay_t<decltype(CONTRACT)>, NAME)( (CONTRACT).get_self(),__VA_ARGS__)
+
+ +

Макрос для упрощения вызова встроенных (inline) действий

+

Отправка встроенного (inline) действия из контракта.

+

Макрос отправки встроенного действия упрощает вызов встроенных действий. При вызове новых действий из уже выполняемых COOPOS поддерживает две модели обмена: встроенные (inline) и отложенные (deferred). Встроенные действия выполняются как часть текущей транзакции. Этот макрос создаёт Действие с переданными параметрами и автоматически вызывает action.send() для этого действия.

+

Пример:

SEND_INLINE_ACTION( *this, transfer, {st.issuer,N(active)}, {st.issuer, to, quantity, memo} );
+

Приведённый выше пример взят из контракта токена COOPOS (аналог стандартного токена). В примере: используется переданный разыменованный указатель this для вызова this.get_self(), т.е. контракта токена COOPOS; вызывается действие transfer контракта токена COOPOS; используется разрешение active аккаунта «issuer»; передаются параметры st.issuer, to, quantity и memo. Макрос создаёт структуру действия для вызова send() — вызова transfer(account_name from, account_name to, asset quantity, string memo)

+
Аргументы
+ + + + +
CONTRACT— вызываемый контракт, содержащий отправляемое действие; соответствует account
NAME— имя вызываемого действия; соответствует Имя
...— авторизующее разрешение; соответствует authorization, затем параметры действия; соответствуют data.
+
+
+ +

См. определение в файле action.hpp строка 656

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/action_8hpp_abeecc07548f70308a4aab9fcdb2d22f1.html b/docs/cdt/action_8hpp_abeecc07548f70308a4aab9fcdb2d22f1.html new file mode 100644 index 000000000..53cb702ee --- /dev/null +++ b/docs/cdt/action_8hpp_abeecc07548f70308a4aab9fcdb2d22f1.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: INLINE_ACTION_SENDER2 + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ INLINE_ACTION_SENDER2

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define INLINE_ACTION_SENDER2( CONTRACT_CLASS,
 NAME 
)   INLINE_ACTION_SENDER3( CONTRACT_CLASS, NAME, ::eosio::name(#NAME) )
+
+ +

См. определение в файле action.hpp строка 625

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/action_8hpp_source.html b/docs/cdt/action_8hpp_source.html new file mode 100644 index 000000000..df088cc12 --- /dev/null +++ b/docs/cdt/action_8hpp_source.html @@ -0,0 +1,571 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/action.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
action.hpp
+
+
+См. документацию.
1
+
5#pragma once
+
6#include <cstdlib>
+
7#include <type_traits>
+
8
+
9#include "../../core/eosio/serialize.hpp"
+
10#include "../../core/eosio/datastream.hpp"
+
11#include "../../core/eosio/name.hpp"
+
12#include "../../core/eosio/fixed_bytes.hpp"
+
13#include "../../core/eosio/ignore.hpp"
+
14#include "../../core/eosio/time.hpp"
+
15
+
16namespace eosio {
+
17
+
18 namespace internal_use_do_not_use {
+
19 extern "C" {
+
20 __attribute__((eosio_wasm_import))
+ +
22
+
23 __attribute__((eosio_wasm_import))
+ +
25
+
26 __attribute__((eosio_wasm_import))
+ +
28
+
29 __attribute__((eosio_wasm_import))
+ +
31
+
32 __attribute__((eosio_wasm_import))
+
33 bool has_auth( uint64_t name );
+
34
+
35 __attribute__((eosio_wasm_import))
+
36 void require_auth2( uint64_t name, uint64_t permission );
+
37
+
38 __attribute__((eosio_wasm_import))
+
39 bool is_account( uint64_t name );
+
40
+
41 __attribute__((eosio_wasm_import))
+
42 void send_inline(char *serialized_action, size_t size);
+
43
+
44 __attribute__((eosio_wasm_import))
+
45 void send_context_free_inline(char *serialized_action, size_t size);
+
46
+
47 __attribute__((eosio_wasm_import))
+ +
49
+
50 __attribute__((eosio_wasm_import))
+ +
52
+
53 __attribute__((eosio_wasm_import))
+ +
55 }
+
56 };
+
57
+ + + +
61 checksum256 code_hash;
+
62 uint8_t vm_type;
+
63 uint8_t vm_version;
+
64
+
65 CDT_REFLECT(struct_version, code_sequence, code_hash, vm_type, vm_version);
+
66 EOSLIB_SERIALIZE(code_hash_result, (struct_version)(code_sequence)(code_hash)(vm_type)(vm_version));
+
67 };
+
68
+
93 template<typename T>
+ +
95 constexpr size_t max_stack_buffer_size = 512;
+ +
97 char* buffer = (char*)( max_stack_buffer_size < size ? malloc(size) : alloca(size) );
+ +
99 return unpack<T>( buffer, size );
+
100 }
+
101
+
109 inline void require_recipient( name notify_account ){
+ +
111 }
+
112
+
130 template<typename... accounts>
+
131 void require_recipient( name notify_account, accounts... remaining_accounts ){
+ +
133 require_recipient( remaining_accounts... );
+
134 }
+
135
+
142 inline void require_auth( name n ) {
+ +
144 }
+
145
+ + +
154 }
+
155
+ + +
162 }
+
163
+
170 inline checksum256 get_code_hash( name account, code_hash_result* full_result = nullptr ) {
+
171 if (full_result == nullptr)
+
172 full_result = (code_hash_result*)alloca(sizeof(code_hash_result));
+
173 constexpr size_t max_stack_buffer_size = 50;
+
174
+
175 // Packed size of this struct will virtually always be less than the struct size; always less after padding
+
176 auto struct_buffer_size = sizeof(code_hash_result);
+
177 char* struct_buffer = (char*)alloca(struct_buffer_size);
+
178
+
179 using VersionType = decltype(code_hash_result::struct_version);
+
180 const VersionType STRUCT_VERSION = 0;
+
181 auto response_size =
+
182 internal_use_do_not_use::get_code_hash(account.value, STRUCT_VERSION, struct_buffer, struct_buffer_size);
+
183 // Safety check: in this case, response size should never exceed our buffer, but just in case...
+
184 bool buffer_on_heap = false;
+
185 if (response_size > struct_buffer_size) {
+
186 // Slow path: allocate an adequate buffer and try again
+
187 // No need to deallocate struct_buffer since it was alloca'd
+
188 if (response_size > max_stack_buffer_size) {
+
189 struct_buffer = (char*)malloc(response_size);
+
190 buffer_on_heap = true;
+
191 } else {
+
192 struct_buffer = (char*)alloca(response_size);
+
193 }
+
194 internal_use_do_not_use::get_code_hash(account.value, STRUCT_VERSION, struct_buffer, struct_buffer_size);
+
195 }
+
196
+
197 check(unpack<VersionType>(struct_buffer, struct_buffer_size) == STRUCT_VERSION,
+
198 "Hypervisor returned unexpected code hash struct version");
+
199 unpack(*full_result, struct_buffer, struct_buffer_size);
+
200
+
201 // If struct_buffer is heap allocated, we must free it
+
202 if (buffer_on_heap)
+
203 free(struct_buffer);
+
204
+
205 return full_result->code_hash;
+
206 }
+
207
+ + +
220 }
+
221
+ + +
229 }
+ +
242 permission_level( name a, name p ):actor(a),permission(p){}
+
243
+ +
249
+ + +
258
+
267 friend constexpr bool operator == ( const permission_level& a, const permission_level& b ) {
+
268 return std::tie( a.actor, a.permission ) == std::tie( b.actor, b.permission );
+
269 }
+
270
+
279 friend constexpr bool operator < ( const permission_level& a, const permission_level& b ) {
+
280 return std::tie( a.actor, a.permission ) < std::tie( b.actor, b.permission );
+
281 }
+
282
+ +
284 };
+
285
+
292 inline void require_auth( const permission_level& level ) {
+
293 internal_use_do_not_use::require_auth2( level.actor.value, level.permission.value );
+
294 }
+
295
+
302 inline bool has_auth( name n ) {
+ +
304 }
+
305
+
312 inline bool is_account( name n ) {
+ +
314 }
+
315
+
322 struct action {
+ +
327
+ +
332
+
336 std::vector<permission_level> authorization;
+
337
+
341 std::vector<char> data;
+
342
+
346 action() = default;
+
347
+
357 template<typename T>
+
358 action( const permission_level& auth, struct name a, struct name n, T&& value )
+
359 :account(a), name(n), authorization(1,auth), data(pack(std::forward<T>(value))) {}
+
360
+
370 template<typename T>
+
371 action( std::vector<permission_level> auths, struct name a, struct name n, T&& value )
+
372 :account(a), name(n), authorization(std::move(auths)), data(pack(std::forward<T>(value))) {}
+
373
+
375
+
376 EOSLIB_SERIALIZE( action, (account)(name)(authorization)(data) )
+
377
+
378
+
379
+
380
+
383 void send() const {
+
384 auto serialize = pack(*this);
+
385 internal_use_do_not_use::send_inline(serialize.data(), serialize.size());
+
386 }
+
387
+
393 void send_context_free() const {
+
394 eosio::check( authorization.size() == 0, "context free actions cannot have authorizations");
+
395 auto serialize = pack(*this);
+
396 internal_use_do_not_use::send_context_free_inline(serialize.data(), serialize.size());
+
397 }
+
398
+
405 template<typename T>
+ +
407 return unpack<T>( &data[0], data.size() );
+
408 }
+
409
+
410 };
+
411
+
412
+
413
+
414 namespace detail {
+
415
+
417
+
418 template <typename T>
+
419 struct unwrap { typedef T type; };
+
420
+
421 template <typename T>
+
422 struct unwrap<ignore<T>> { typedef T type; };
+
423
+
424 template <typename R, typename Act, typename... Args>
+
425 auto get_args(R(Act::*p)(Args...)) {
+
426 return std::tuple<std::decay_t<typename unwrap<Args>::type>...>{};
+
427 }
+
428
+
429 template <typename R, typename Act, typename... Args>
+
430 auto get_args_nounwrap(R(Act::*p)(Args...)) {
+
431 return std::tuple<std::decay_t<Args>...>{};
+
432 }
+
433
+
434 template <auto Action>
+
435 using deduced = decltype(get_args(Action));
+
436
+
437 template <auto Action>
+
438 using deduced_nounwrap = decltype(get_args_nounwrap(Action));
+
439
+
440 template <typename T>
+
441 struct convert { typedef T type; };
+
442
+
443 template <>
+
444 struct convert<const char*> { typedef std::string type; };
+
445
+
446 template <>
+
447 struct convert<char*> { typedef std::string type; };
+
448
+
449 template <typename T, typename U>
+
450 struct is_same { static constexpr bool value = std::is_convertible<T,U>::value; };
+
451
+
452 template <typename U>
+
453 struct is_same<bool,U> { static constexpr bool value = std::is_integral<U>::value; };
+
454
+
455 template <typename T>
+
456 struct is_same<T,bool> { static constexpr bool value = std::is_integral<T>::value; };
+
457
+
458 template <size_t N, size_t I, auto Arg, auto... Args>
+
459 struct get_nth_impl { static constexpr auto value = get_nth_impl<N,I+1,Args...>::value; };
+
460
+
461 template <size_t N, auto Arg, auto... Args>
+
462 struct get_nth_impl<N, N, Arg, Args...> { static constexpr auto value = Arg; };
+
463
+
464 template <size_t N, auto... Args>
+
465 struct get_nth { static constexpr auto value = get_nth_impl<N,0,Args...>::value; };
+
466
+
467 template <auto Action, size_t I, typename T, typename... Rest>
+
468 struct check_types {
+
469 static_assert(detail::is_same<typename convert<T>::type, typename convert<typename std::tuple_element<I, deduced<Action>>::type>::type>::value);
+
470 using type = check_types<Action, I+1, Rest...>;
+
471 static constexpr bool value = true;
+
472 };
+
473 template <auto Action, size_t I, typename T>
+
474 struct check_types<Action, I, T> {
+
475 static_assert(detail::is_same<typename convert<T>::type, typename convert<typename std::tuple_element<I, deduced<Action>>::type>::type>::value);
+
476 static constexpr bool value = true;
+
477 };
+
478
+
479 template <auto Action, typename... Ts>
+
480 constexpr bool type_check() {
+
481 static_assert(sizeof...(Ts) == std::tuple_size<deduced<Action>>::value);
+
482 if constexpr (sizeof...(Ts) != 0)
+
483 return check_types<Action, 0, Ts...>::value;
+
484 return true;
+
485 }
+
486
+
488 }
+
489
+
505 template <eosio::name::raw Name, auto Action>
+ +
507 template <typename Code>
+
508 constexpr action_wrapper(Code&& code, std::vector<eosio::permission_level>&& perms)
+
509 : code_name(std::forward<Code>(code)), permissions(std::move(perms)) {}
+
510
+
511 template <typename Code>
+
512 constexpr action_wrapper(Code&& code, const std::vector<eosio::permission_level>& perms)
+
513 : code_name(std::forward<Code>(code)), permissions(perms) {}
+
514
+
515 template <typename Code>
+ +
517 : code_name(std::forward<Code>(code)), permissions({1, std::move(perm)}) {}
+
518
+
519 template <typename Code>
+
520 constexpr action_wrapper(Code&& code, const eosio::permission_level& perm)
+
521 : code_name(std::forward<Code>(code)), permissions({1, perm}) {}
+
522
+
523 template <typename Code>
+
524 constexpr action_wrapper(Code&& code)
+
525 : code_name(std::forward<Code>(code)) {}
+
526
+
527 static constexpr eosio::name action_name = eosio::name(Name);
+ +
529 std::vector<eosio::permission_level> permissions;
+
530
+
531 static constexpr auto get_mem_ptr() {
+
532 return Action;
+
533 }
+
534
+
535 template <typename... Args>
+
536 action to_action(Args&&... args)const {
+
537 static_assert(detail::type_check<Action, Args...>());
+
538 return action(permissions, code_name, action_name, detail::deduced<Action>{std::forward<Args>(args)...});
+
539 }
+
540 template <typename... Args>
+
541 void send(Args&&... args)const {
+
542 to_action(std::forward<Args>(args)...).send();
+
543 }
+
544
+
545 template <typename... Args>
+
546 void send_context_free(Args&&... args)const {
+
547 to_action(std::forward<Args>(args)...).send_context_free();
+
548 }
+
549
+
550 };
+
551
+
552 template <eosio::name::raw Name, auto... Actions>
+ +
554 template <typename Code>
+
555 constexpr variant_action_wrapper(Code&& code, std::vector<eosio::permission_level>&& perms)
+
556 : code_name(std::forward<Code>(code)), permissions(std::move(perms)) {}
+
557
+
558 template <typename Code>
+
559 constexpr variant_action_wrapper(Code&& code, const std::vector<eosio::permission_level>& perms)
+
560 : code_name(std::forward<Code>(code)), permissions(perms) {}
+
561
+
562 template <typename Code>
+ +
564 : code_name(std::forward<Code>(code)), permissions({1, std::move(perm)}) {}
+
565
+
566 template <typename Code>
+ +
568 : code_name(std::forward<Code>(code)), permissions({1, perm}) {}
+
569
+
570 static constexpr eosio::name action_name = eosio::name(Name);
+ +
572 std::vector<eosio::permission_level> permissions;
+
573
+
574 template <size_t Variant>
+
575 static constexpr auto get_mem_ptr() {
+
576 return detail::get_nth<Variant, Actions...>::value;
+
577 }
+
578
+
579 template <size_t Variant, typename... Args>
+
580 action to_action(Args&&... args)const {
+
581 static_assert(detail::type_check<detail::get_nth<Variant, Actions...>::value, Args...>());
+
582 unsigned_int var = Variant;
+
583 return action(permissions, code_name, action_name, std::tuple_cat(std::make_tuple(var), detail::deduced<detail::get_nth<Variant, Actions...>::value>{std::forward<Args>(args)...}));
+
584 }
+
585
+
586
+
587 template <size_t Variant, typename... Args>
+
588 void send(Args&&... args)const {
+
589 to_action<Variant>(std::forward<Args>(args)...).send();
+
590 }
+
591
+
592 template <size_t Variant, typename... Args>
+
593 void send_context_free(Args&&... args) const {
+
594 to_action<Variant>(std::forward<Args>(args)...).send_context_free();
+
595 }
+
596
+
597 };
+
598
+
599 template<typename... Args>
+ +
601 std::vector<permission_level> perms,
+
602 std::tuple<Args...> args ) {
+
603 action( perms, code, act, std::move(args) ).send();
+
604 }
+
605
+
606 template<typename, name::raw>
+ +
608
+
609
+
610 template<typename T, name::raw Name, typename... Args>
+
611 struct inline_dispatcher<void(T::*)(Args...), Name> {
+
612 static void call(name code, const permission_level& perm, std::tuple<Args...> args) {
+
613 dispatch_inline(code, name(Name), std::vector<permission_level>(1, perm), std::move(args));
+
614 }
+
615 static void call(name code, std::vector<permission_level> perms, std::tuple<Args...> args) {
+
616 dispatch_inline(code, name(Name), std::move(perms), std::move(args));
+
617 }
+
618 };
+
619
+
620} // namespace eosio
+
621
+
622#define INLINE_ACTION_SENDER3( CONTRACT_CLASS, FUNCTION_NAME, ACTION_NAME )\
+
623::eosio::inline_dispatcher<decltype(&CONTRACT_CLASS::FUNCTION_NAME), ACTION_NAME>::call
+
624
+
625#define INLINE_ACTION_SENDER2( CONTRACT_CLASS, NAME )\
+
626INLINE_ACTION_SENDER3( CONTRACT_CLASS, NAME, ::eosio::name(#NAME) )
+
627
+
628#define INLINE_ACTION_SENDER(...) BLUEGRASS_META_OVERLOAD(INLINE_ACTION_SENDER,__VA_ARGS__)(__VA_ARGS__)
+
629
+
656#define SEND_INLINE_ACTION( CONTRACT, NAME, ... )\
+
657INLINE_ACTION_SENDER(std::decay_t<decltype(CONTRACT)>, NAME)( (CONTRACT).get_self(),__VA_ARGS__)
+
+
+ + + + + + diff --git a/docs/cdt/annotated.html b/docs/cdt/annotated.html new file mode 100644 index 000000000..cf4f2a1f5 --- /dev/null +++ b/docs/cdt/annotated.html @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + +CDT: Классы + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Классы
+
+
+
Классы с их кратким описанием.
+
[уровень детализации 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Neosio
 N_datastream_detail
 Cis_datastream
 Cis_datastream< datastream< T > >
 N_multi_index_detail
 Csecondary_index_db_functions
 Csecondary_key_traits
 Csecondary_key_traits< double >
 Csecondary_key_traits< eosio::fixed_bytes< 32 > >
 Csecondary_key_traits< long double >
 Ndetail
 Clargest_power
 Clargest_power_helper
 Clargest_power_helper< T, Base, Exponent, Value, true >
 Cto_const_char_arr
 Nimpl
 Cconcat_t
 Cstr_t
 Caction
 Caction_wrapperОбёртка для конкретного действия, упрощающая отправку встроенных (inline) действий к этому действию из других контрактов. Пример:
 Casset
 Cblock_signing_authority_v0взвешенное пороговое полномочие с несколькими подписями (multi-sig)
 Cblock_timestamp
 Cblockchain_parameters
 Ccode_hash_result
 Cconst_mem_fun
 Ccontract
 Cdatastream
 Cdatastream< size_t >
 Cec_point
 Cec_point_view
 Cextended_asset
 Cextended_symbol
 Cfixed_bytes
 Cignore
 Cignore_wrapper
 Cindexed_by
 Cinline_dispatcher
 Cinline_dispatcher< void(T::*)(Args...), Name >
 Ciostream
 Ckey_weight
 Cmicroseconds
 Cmulti_indexОпределяет многоиндексную таблицу COOPOS (Multi Index Table)
 Cconst_iterator
 Cname
 Conerror
 Coverloaded
 Cpermission_level
 Cproducer_authorityСопоставляет производителя с его ключом подписи
 Cproducer_key
 Cproducer_schedule
 Crope
 Csecurity_group
 Csigned_int
 Csingleton
 Cstring
 Csymbol
 Csymbol_code
 Ctime_point
 Ctime_point_sec
 Ctransaction
 Ctransaction_headerСодержит сведения о транзакции
 Cunsigned_int
 Cvariant_action_wrapper
+
+
+
+ + + + + + diff --git a/docs/cdt/annotated_dup.js b/docs/cdt/annotated_dup.js new file mode 100644 index 000000000..8819cd169 --- /dev/null +++ b/docs/cdt/annotated_dup.js @@ -0,0 +1,71 @@ +var annotated_dup = +[ + [ "eosio", "namespaceeosio.html", [ + [ "_datastream_detail", "namespaceeosio_1_1__datastream__detail.html", [ + [ "is_datastream", "structeosio_1_1__datastream__detail_1_1is__datastream.html", null ], + [ "is_datastream< datastream< T > >", "structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4.html", null ] + ] ], + [ "_multi_index_detail", "namespaceeosio_1_1__multi__index__detail.html", [ + [ "secondary_index_db_functions", "structeosio_1_1__multi__index__detail_1_1secondary__index__db__functions.html", null ], + [ "secondary_key_traits", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits.html", null ], + [ "secondary_key_traits< double >", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4.html", null ], + [ "secondary_key_traits< eosio::fixed_bytes< 32 > >", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4.html", null ], + [ "secondary_key_traits< long double >", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4.html", null ] + ] ], + [ "detail", "namespaceeosio_1_1detail.html", [ + [ "largest_power", "structeosio_1_1detail_1_1largest__power.html", null ], + [ "largest_power_helper", "structeosio_1_1detail_1_1largest__power__helper.html", null ], + [ "largest_power_helper< T, Base, Exponent, Value, true >", "structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4.html", null ], + [ "to_const_char_arr", "structeosio_1_1detail_1_1to__const__char__arr.html", null ] + ] ], + [ "impl", "namespaceeosio_1_1impl.html", [ + [ "concat_t", "structeosio_1_1impl_1_1concat__t.html", "structeosio_1_1impl_1_1concat__t" ], + [ "str_t", "structeosio_1_1impl_1_1str__t.html", "structeosio_1_1impl_1_1str__t" ] + ] ], + [ "action", "structeosio_1_1action.html", "structeosio_1_1action" ], + [ "action_wrapper", "structeosio_1_1action__wrapper.html", "structeosio_1_1action__wrapper" ], + [ "asset", "structeosio_1_1asset.html", "structeosio_1_1asset" ], + [ "block_signing_authority_v0", "structeosio_1_1block__signing__authority__v0.html", "structeosio_1_1block__signing__authority__v0" ], + [ "block_timestamp", "classeosio_1_1block__timestamp.html", "classeosio_1_1block__timestamp" ], + [ "blockchain_parameters", "structeosio_1_1blockchain__parameters.html", "structeosio_1_1blockchain__parameters" ], + [ "code_hash_result", "structeosio_1_1code__hash__result.html", "structeosio_1_1code__hash__result" ], + [ "const_mem_fun", "structeosio_1_1const__mem__fun.html", "structeosio_1_1const__mem__fun" ], + [ "contract", "classeosio_1_1contract.html", "classeosio_1_1contract" ], + [ "datastream", "classeosio_1_1datastream.html", "classeosio_1_1datastream" ], + [ "datastream< size_t >", "classeosio_1_1datastream_3_01size__t_01_4.html", "classeosio_1_1datastream_3_01size__t_01_4" ], + [ "ec_point", "structeosio_1_1ec__point.html", "structeosio_1_1ec__point" ], + [ "ec_point_view", "structeosio_1_1ec__point__view.html", "structeosio_1_1ec__point__view" ], + [ "extended_asset", "structeosio_1_1extended__asset.html", "structeosio_1_1extended__asset" ], + [ "extended_symbol", "classeosio_1_1extended__symbol.html", "classeosio_1_1extended__symbol" ], + [ "fixed_bytes", "classeosio_1_1fixed__bytes.html", "classeosio_1_1fixed__bytes" ], + [ "ignore", "structeosio_1_1ignore.html", null ], + [ "ignore_wrapper", "structeosio_1_1ignore__wrapper.html", "structeosio_1_1ignore__wrapper" ], + [ "indexed_by", "structeosio_1_1indexed__by.html", "structeosio_1_1indexed__by" ], + [ "inline_dispatcher", "structeosio_1_1inline__dispatcher.html", null ], + [ "inline_dispatcher< void(T::*)(Args...), Name >", "structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4.html", null ], + [ "iostream", "classeosio_1_1iostream.html", null ], + [ "key_weight", "structeosio_1_1key__weight.html", "structeosio_1_1key__weight" ], + [ "microseconds", "classeosio_1_1microseconds.html", "classeosio_1_1microseconds" ], + [ "multi_index", "classeosio_1_1multi__index.html", "classeosio_1_1multi__index" ], + [ "name", "structeosio_1_1name.html", "structeosio_1_1name" ], + [ "onerror", "structeosio_1_1onerror.html", "structeosio_1_1onerror" ], + [ "overloaded", "structeosio_1_1overloaded.html", null ], + [ "permission_level", "structeosio_1_1permission__level.html", "structeosio_1_1permission__level" ], + [ "producer_authority", "structeosio_1_1producer__authority.html", "structeosio_1_1producer__authority" ], + [ "producer_key", "structeosio_1_1producer__key.html", "structeosio_1_1producer__key" ], + [ "producer_schedule", "structeosio_1_1producer__schedule.html", "structeosio_1_1producer__schedule" ], + [ "rope", "classeosio_1_1rope.html", "classeosio_1_1rope" ], + [ "security_group", "structeosio_1_1security__group.html", "structeosio_1_1security__group" ], + [ "signed_int", "structeosio_1_1signed__int.html", "structeosio_1_1signed__int" ], + [ "singleton", "classeosio_1_1singleton.html", "classeosio_1_1singleton" ], + [ "string", "classeosio_1_1string.html", "classeosio_1_1string" ], + [ "symbol", "classeosio_1_1symbol.html", "classeosio_1_1symbol" ], + [ "symbol_code", "classeosio_1_1symbol__code.html", "classeosio_1_1symbol__code" ], + [ "time_point", "classeosio_1_1time__point.html", "classeosio_1_1time__point" ], + [ "time_point_sec", "classeosio_1_1time__point__sec.html", "classeosio_1_1time__point__sec" ], + [ "transaction", "classeosio_1_1transaction.html", "classeosio_1_1transaction" ], + [ "transaction_header", "classeosio_1_1transaction__header.html", "classeosio_1_1transaction__header" ], + [ "unsigned_int", "structeosio_1_1unsigned__int.html", "structeosio_1_1unsigned__int" ], + [ "variant_action_wrapper", "structeosio_1_1variant__action__wrapper.html", "structeosio_1_1variant__action__wrapper" ] + ] ] +]; \ No newline at end of file diff --git a/docs/cdt/asset_8hpp.html b/docs/cdt/asset_8hpp.html new file mode 100644 index 000000000..916afe19a --- /dev/null +++ b/docs/cdt/asset_8hpp.html @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/asset.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
#include "serialize.hpp"
+#include "print.hpp"
+#include "check.hpp"
+#include "symbol.hpp"
+#include <tuple>
+#include <limits>
+
+

См. исходные тексты.

+ + + + + + +

+Классы

struct  eosio::asset
 
struct  eosio::extended_asset
 
+ + + +

+Пространства имен

namespace  eosio
 
+ + + +

+Функции

char * eosio::write_decimal (char *begin, char *end, bool dry_run, uint64_t number, uint8_t num_decimal_places, bool negative)
 
+
+
+ + + + + + diff --git a/docs/cdt/asset_8hpp.js b/docs/cdt/asset_8hpp.js new file mode 100644 index 000000000..de137856f --- /dev/null +++ b/docs/cdt/asset_8hpp.js @@ -0,0 +1,4 @@ +var asset_8hpp = +[ + [ "write_decimal", "asset_8hpp.html#a0620d4ec6f522f17350db97ac3c14840", null ] +]; \ No newline at end of file diff --git a/docs/cdt/asset_8hpp_source.html b/docs/cdt/asset_8hpp_source.html new file mode 100644 index 000000000..6e42673bd --- /dev/null +++ b/docs/cdt/asset_8hpp_source.html @@ -0,0 +1,446 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/asset.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
asset.hpp
+
+
+См. документацию.
1#pragma once
+
2
+
3#include "serialize.hpp"
+
4#include "print.hpp"
+
5#include "check.hpp"
+
6#include "symbol.hpp"
+
7
+
8#include <tuple>
+
9#include <limits>
+
10
+
11namespace eosio {
+
12
+
13 char* write_decimal( char* begin, char* end, bool dry_run, uint64_t number, uint8_t num_decimal_places, bool negative );
+
14
+
26 struct asset {
+
30 int64_t amount = 0;
+
31
+ +
36
+
40 static constexpr int64_t max_amount = (1LL << 62) - 1;
+
41
+
42 asset() {}
+
43
+
50 asset( int64_t a, class symbol s )
+
51 :amount(a),symbol{s}
+
52 {
+
53 eosio::check( is_amount_within_range(), "magnitude of asset amount must be less than 2^62" );
+
54 eosio::check( symbol.is_valid(), "invalid symbol name" );
+
55 }
+
56
+
63 bool is_amount_within_range()const { return -max_amount <= amount && amount <= max_amount; }
+
64
+
71 bool is_valid()const { return is_amount_within_range() && symbol.is_valid(); }
+
72
+
78 void set_amount( int64_t a ) {
+
79 amount = a;
+
80 eosio::check( is_amount_within_range(), "magnitude of asset amount must be less than 2^62" );
+
81 }
+
82
+
84
+
90 asset operator-()const {
+
91 asset r = *this;
+
92 r.amount = -r.amount;
+
93 return r;
+
94 }
+
95
+
103 asset& operator-=( const asset& a ) {
+
104 eosio::check( a.symbol == symbol, "attempt to subtract asset with different symbol" );
+
105 amount -= a.amount;
+
106 eosio::check( -max_amount <= amount, "subtraction underflow" );
+
107 eosio::check( amount <= max_amount, "subtraction overflow" );
+
108 return *this;
+
109 }
+
110
+
118 asset& operator+=( const asset& a ) {
+
119 eosio::check( a.symbol == symbol, "attempt to add asset with different symbol" );
+
120 amount += a.amount;
+
121 eosio::check( -max_amount <= amount, "addition underflow" );
+
122 eosio::check( amount <= max_amount, "addition overflow" );
+
123 return *this;
+
124 }
+
125
+
133 inline friend asset operator+( const asset& a, const asset& b ) {
+
134 asset result = a;
+
135 result += b;
+
136 return result;
+
137 }
+
138
+
146 inline friend asset operator-( const asset& a, const asset& b ) {
+
147 asset result = a;
+
148 result -= b;
+
149 return result;
+
150 }
+
151
+
160 asset& operator*=( int64_t a ) {
+
161 int128_t tmp = (int128_t)amount * (int128_t)a;
+
162 eosio::check( tmp <= max_amount, "multiplication overflow" );
+
163 eosio::check( tmp >= -max_amount, "multiplication underflow" );
+
164 amount = (int64_t)tmp;
+
165 return *this;
+
166 }
+
167
+
176 friend asset operator*( const asset& a, int64_t b ) {
+
177 asset result = a;
+
178 result *= b;
+
179 return result;
+
180 }
+
181
+
182
+
190 friend asset operator*( int64_t b, const asset& a ) {
+
191 asset result = a;
+
192 result *= b;
+
193 return result;
+
194 }
+
195
+
204 asset& operator/=( int64_t a ) {
+
205 eosio::check( a != 0, "divide by zero" );
+
206 eosio::check( !(amount == std::numeric_limits<int64_t>::min() && a == -1), "signed division overflow" );
+
207 amount /= a;
+
208 return *this;
+
209 }
+
210
+
218 friend asset operator/( const asset& a, int64_t b ) {
+
219 asset result = a;
+
220 result /= b;
+
221 return result;
+
222 }
+
223
+
232 friend int64_t operator/( const asset& a, const asset& b ) {
+
233 eosio::check( b.amount != 0, "divide by zero" );
+
234 eosio::check( a.symbol == b.symbol, "attempt to divide assets with different symbol" );
+
235 return a.amount / b.amount;
+
236 }
+
237
+
247 friend bool operator==( const asset& a, const asset& b ) {
+
248 eosio::check( a.symbol == b.symbol, "comparison of assets with different symbols is not allowed" );
+
249 return a.amount == b.amount;
+
250 }
+
251
+
261 friend bool operator!=( const asset& a, const asset& b ) {
+
262 return !( a == b);
+
263 }
+
264
+
274 friend bool operator<( const asset& a, const asset& b ) {
+
275 eosio::check( a.symbol == b.symbol, "comparison of assets with different symbols is not allowed" );
+
276 return a.amount < b.amount;
+
277 }
+
278
+
288 friend bool operator<=( const asset& a, const asset& b ) {
+
289 eosio::check( a.symbol == b.symbol, "comparison of assets with different symbols is not allowed" );
+
290 return a.amount <= b.amount;
+
291 }
+
292
+
302 friend bool operator>( const asset& a, const asset& b ) {
+
303 eosio::check( a.symbol == b.symbol, "comparison of assets with different symbols is not allowed" );
+
304 return a.amount > b.amount;
+
305 }
+
306
+
316 friend bool operator>=( const asset& a, const asset& b ) {
+
317 eosio::check( a.symbol == b.symbol, "comparison of assets with different symbols is not allowed" );
+
318 return a.amount >= b.amount;
+
319 }
+
320
+
322
+
335 char* write_as_string( char* begin, char* end, bool dry_run = false )const {
+
336 bool negative = (amount < 0);
+
337 uint64_t abs_amount = static_cast<uint64_t>(negative ? -amount : amount);
+
338 // 0 <= abs_amount <= std::numeric_limits<int64_t>::max() < 10^19 < std::numeric_limits<uint64_t>::max()
+
339
+
340 uint8_t precision = symbol.precision();
+
341
+
342 int sufficient_size = std::max(static_cast<int>(precision), 19) + 11;
+
343 if( dry_run || (begin + sufficient_size < begin) || (begin + sufficient_size > end) ) {
+
344 char* start_of_symbol = write_decimal( begin, end, true, abs_amount, precision, negative ) + 1;
+
345 char* actual_end = symbol.code().write_as_string( start_of_symbol, end, true );
+
346 if( dry_run || (actual_end < begin) || (actual_end > end) ) return actual_end;
+
347 }
+
348
+
349 char* end_of_number = write_decimal( begin, end, false, abs_amount, precision, negative );
+
350 *(end_of_number) = ' ';
+
351
+
352 return symbol.code().write_as_string( end_of_number + 1, end );
+
353 }
+
354
+
360 std::string to_string()const {
+
361 int buffer_size = std::max(static_cast<int>(symbol.precision()), 19) + 11;
+
362 char buffer[buffer_size];
+
363 char* end = write_as_string( buffer, buffer + buffer_size );
+
364 check( end <= buffer + buffer_size, "insufficient space in buffer" ); // should never fail
+
365
+
366 return {buffer, end};
+
367 }
+
368
+
374 void print()const {
+
375 int buffer_size = std::max(static_cast<int>(symbol.precision()), 19) + 11;
+
376 char buffer[buffer_size];
+
377 char* end = write_as_string( buffer, buffer + buffer_size );
+
378 check( end <= buffer + buffer_size, "insufficient space in buffer" ); // should never fail
+
379
+
380 if( buffer < end )
+
381 printl( buffer, (end-buffer) );
+
382 }
+
383
+ +
385 };
+
386
+ + +
397
+ +
402
+ +
409
+
413 extended_asset() = default;
+
414
+
418 extended_asset( int64_t v, extended_symbol s ):quantity(v,s.get_symbol()),contract(s.get_contract()){}
+ +
423
+
427 void print()const {
+
428 quantity.print();
+ +
430 }
+
431
+
433
+
434 // Унарный минус
+
435 extended_asset operator-()const {
+
436 return {-quantity, contract};
+
437 }
+
438
+
439 // Оператор вычитания
+
440 friend extended_asset operator - ( const extended_asset& a, const extended_asset& b ) {
+
441 eosio::check( a.contract == b.contract, "type mismatch" );
+
442 return {a.quantity - b.quantity, a.contract};
+
443 }
+
444
+
445 // Оператор сложения
+
446 friend extended_asset operator + ( const extended_asset& a, const extended_asset& b ) {
+
447 eosio::check( a.contract == b.contract, "type mismatch" );
+
448 return {a.quantity + b.quantity, a.contract};
+
449 }
+
450
+
452 friend extended_asset& operator+=( extended_asset& a, const extended_asset& b ) {
+
453 eosio::check( a.contract == b.contract, "type mismatch" );
+
454 a.quantity += b.quantity;
+
455 return a;
+
456 }
+
457
+
459 friend extended_asset& operator-=( extended_asset& a, const extended_asset& b ) {
+
460 eosio::check( a.contract == b.contract, "type mismatch" );
+
461 a.quantity -= b.quantity;
+
462 return a;
+
463 }
+
464
+
466 extended_asset& operator*=( int64_t b ) {
+
467 quantity *= b;
+
468 return *this;
+
469 }
+
470
+
472 friend extended_asset operator*( const extended_asset& a, int64_t b ) {
+
473 return {a.quantity * b, a.contract};
+
474 }
+
475
+
477 friend extended_asset operator*( int64_t a, const extended_asset& b ) {
+
478 return {a * b.quantity, b.contract};
+
479 }
+
480
+
482 friend int64_t operator/( const extended_asset& a, const extended_asset& b ) {
+
483 eosio::check( a.contract == b.contract, "type mismatch" );
+
484 return a.quantity / b.quantity;
+
485 }
+
486
+
488 extended_asset& operator/=( int64_t b ) {
+
489 quantity /= b;
+
490 return *this;
+
491 }
+
492
+
494 friend extended_asset operator/( const extended_asset& a, int64_t b ) {
+
495 return {a.quantity / b, a.contract};
+
496 }
+
497
+
498
+
500 friend bool operator<( const extended_asset& a, const extended_asset& b ) {
+
501 eosio::check( a.contract == b.contract, "type mismatch" );
+
502 return a.quantity < b.quantity;
+
503 }
+
504
+
506 friend bool operator>( const extended_asset& a, const extended_asset& b ) {
+
507 eosio::check( a.contract == b.contract, "type mismatch" );
+
508 return a.quantity > b.quantity;
+
509 }
+
510
+
512 friend bool operator==( const extended_asset& a, const extended_asset& b ) {
+
513 return std::tie(a.quantity, a.contract) == std::tie(b.quantity, b.contract);
+
514 }
+
515
+
517 friend bool operator!=( const extended_asset& a, const extended_asset& b ) {
+
518 return std::tie(a.quantity, a.contract) != std::tie(b.quantity, b.contract);
+
519 }
+
520
+
522 friend bool operator<=( const extended_asset& a, const extended_asset& b ) {
+
523 eosio::check( a.contract == b.contract, "type mismatch" );
+
524 return a.quantity <= b.quantity;
+
525 }
+
526
+
528 friend bool operator>=( const extended_asset& a, const extended_asset& b ) {
+
529 eosio::check( a.contract == b.contract, "type mismatch" );
+
530 return a.quantity >= b.quantity;
+
531 }
+
532
+
534
+ +
536 };
+
537}
+
+
+ + + + + + diff --git a/docs/cdt/bc_s.png b/docs/cdt/bc_s.png new file mode 100644 index 000000000..224b29aa9 Binary files /dev/null and b/docs/cdt/bc_s.png differ diff --git a/docs/cdt/bdwn.png b/docs/cdt/bdwn.png new file mode 100644 index 000000000..940a0b950 Binary files /dev/null and b/docs/cdt/bdwn.png differ diff --git a/docs/cdt/binary__extension_8hpp.html b/docs/cdt/binary__extension_8hpp.html new file mode 100644 index 000000000..ba64d4584 --- /dev/null +++ b/docs/cdt/binary__extension_8hpp.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/binary_extension.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Файл binary_extension.hpp
+
+ +
+ + + + + + diff --git a/docs/cdt/binary__extension_8hpp_source.html b/docs/cdt/binary__extension_8hpp_source.html new file mode 100644 index 000000000..68b75e45f --- /dev/null +++ b/docs/cdt/binary__extension_8hpp_source.html @@ -0,0 +1,339 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/binary_extension.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
binary_extension.hpp
+
+
+См. документацию.
1#pragma once
+
2
+
3#include "check.hpp"
+
4
+
5namespace eosio {
+
19 template <typename T>
+
20 class binary_extension {
+
21 public:
+
22 using value_type = T;
+
23
+
24 constexpr binary_extension() {}
+
25 constexpr binary_extension( const T& ext )
+
26 :_has_value(true)
+
27 {
+
28 ::new (&_data) T(ext);
+
29 }
+
30 constexpr binary_extension( T&& ext )
+
31 :_has_value(true)
+
32 {
+
33 ::new (&_data) T(std::move(ext));
+
34 }
+
36 template <typename... Args>
+
37 constexpr binary_extension( std::in_place_t, Args&&... args )
+
38 :_has_value(true)
+
39 {
+
40 ::new (&_data) T(std::forward<Args>(args)...);
+
41 }
+
42
+
43 constexpr binary_extension( const binary_extension& other )
+
44 :_has_value(other._has_value)
+
45 {
+
46 if( other._has_value ) ::new (&_data) T( *other );
+
47 }
+
48
+
49 constexpr binary_extension( binary_extension&& other )
+
50 :_has_value(other._has_value)
+
51 {
+
52 if( other._has_value ) {
+
53 ::new (&_data) T( *std::move(other) );
+
54 other._has_value = false;
+
55 }
+
56 }
+
57
+
59 ~binary_extension() { reset(); }
+
60
+
62 constexpr binary_extension& operator = (const binary_extension& other) {
+
63 if (has_value())
+
64 reset();
+
65
+
66 if (other.has_value()) {
+
67 ::new (&_data) T(*other);
+
68 _has_value = true;
+
69 }
+
70 return *this;
+
71 }
+
72
+
74 constexpr binary_extension& operator = (binary_extension&& other) {
+
75 if (has_value())
+
76 reset();
+
77
+
78 if (other.has_value()) {
+
79 ::new (&_data) T(*other);
+
80 _has_value = true;
+
81 other._has_value = false;
+
82 }
+
83 return *this;
+
84 }
+
86 constexpr explicit operator bool()const { return _has_value; }
+
88 constexpr bool has_value()const { return _has_value; }
+
89
+
91 constexpr T& value()& {
+
92 if (!_has_value) {
+
93 check(false, "cannot get value of empty binary_extension");
+
94 }
+
95 return _get();
+
96 }
+
97
+
99
+
101 constexpr const T& value()const & {
+
102 if (!_has_value) {
+
103 check(false, "cannot get value of empty binary_extension");
+
104 }
+
105 return _get();
+
106 }
+
107
+
111 template <typename U>
+
112 constexpr auto value_or( U&& def ) -> std::enable_if_t<std::is_convertible<U, T>::value, T&>& {
+
113 if (_has_value)
+
114 return _get();
+
115 return def;
+
116 }
+
117 constexpr T&& value_or()&& {
+
118 if (!_has_value)
+
119 return std::move(T());
+
120 _has_value = false;
+
121 return std::move(_get());
+
122 }
+
123 constexpr const T&& value_or()const&& {
+
124 if (!_has_value)
+
125 return std::move(T());
+
126 _has_value = false;
+
127 return std::move(_get());
+
128 }
+
129 constexpr T value_or()& {
+
130 if (!_has_value)
+
131 return T();
+
132 return _get();
+
133 }
+
134 constexpr T value_or()const& {
+
135 if (!_has_value)
+
136 return T();
+
137 return _get();
+
138 }
+
139
+
140 constexpr T* operator->() {
+
141 return &_get();
+
142 }
+
143 constexpr const T* operator->()const {
+
144 return &_get();
+
145 }
+
146
+
147 constexpr T& operator*()& {
+
148 return _get();
+
149 }
+
150 constexpr const T& operator*()const& {
+
151 return _get();
+
152 }
+
153 constexpr const T&& operator*()const&& {
+
154 return std::move(_get());
+
155 }
+
156 constexpr T&& operator*()&& {
+
157 return std::move(_get());
+
158 }
+
159
+
160 template<typename ...Args>
+
161 T& emplace(Args&& ... args)& {
+
162 if (_has_value) {
+
163 reset();
+
164 }
+
165
+
166 ::new (&_data) T( std::forward<Args>(args)... );
+
167 _has_value = true;
+
168
+
169 return _get();
+
170 }
+
171
+
172 void reset() {
+
173 if( _has_value ) {
+
174 _get().~value_type();
+
175 _has_value = false;
+
176 }
+
177 }
+
178
+
180
+
181 private:
+
182 bool _has_value = false;
+
183 typename std::aligned_storage<sizeof(T), alignof(T)>::type _data;
+
184
+
185 constexpr T& _get() {
+
186 return *reinterpret_cast<T*>(&_data);
+
187 }
+
188
+
189 constexpr const T& _get()const {
+
190 return *reinterpret_cast<const T*>(&_data);
+
191 }
+
192 };
+
193
+
195
+
206 template<typename DataStream, typename T>
+
207 inline DataStream& operator<<(DataStream& ds, const eosio::binary_extension<T>& be) {
+
208 ds << be.value_or();
+
209 return ds;
+
210 }
+
211
+
222 template<typename DataStream, typename T>
+
223 inline DataStream& operator>>(DataStream& ds, eosio::binary_extension<T>& be) {
+
224 if( ds.remaining() ) {
+
225 T val;
+
226 ds >> val;
+
227 be.emplace(val);
+
228 }
+
229 return ds;
+
230 }
+
231
+
233
+
234} // namespace eosio
+
+
+ + + + + + diff --git a/docs/cdt/check_8hpp.html b/docs/cdt/check_8hpp.html new file mode 100644 index 000000000..cc2ad87ca --- /dev/null +++ b/docs/cdt/check_8hpp.html @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/check.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
#include <string>
+#include <string_view>
+
+

См. исходные тексты.

+ + + + + + +

+Пространства имен

namespace  eosio
 
namespace  eosio::internal_use_do_not_use
 
+ + + + + + + + + + + + + + + + + +

+Функции

 eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
 
void eosio::check (bool pred, std::string_view msg)
 
void eosio::check (bool pred, const char *msg)
 
void eosio::check (bool pred, const std::string &msg)
 
void eosio::check (bool pred, std::string &&msg)
 
void eosio::check (bool pred, const char *msg, size_t n)
 
void eosio::check (bool pred, const std::string &msg, size_t n)
 
void eosio::check (bool pred, uint64_t code)
 
+ + + + + + + +

+Переменные

const char * eosio::internal_use_do_not_use::msg
 
const char uint32_t eosio::internal_use_do_not_use::msg_len
 
uint64_t eosio::internal_use_do_not_use::code
 
+

Подробное описание

+
+ +

См. определение в файле check.hpp

+
+
+ + + + + + diff --git a/docs/cdt/check_8hpp.js b/docs/cdt/check_8hpp.js new file mode 100644 index 000000000..9edbb7ceb --- /dev/null +++ b/docs/cdt/check_8hpp.js @@ -0,0 +1,14 @@ +var check_8hpp = +[ + [ "__attribute__", "check_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387", null ], + [ "check", "check_8hpp.html#ga919983993e7c2b18dcb253e3a8ef33e4", null ], + [ "check", "check_8hpp.html#gad245a249b8721374fe09819a00a86906", null ], + [ "check", "check_8hpp.html#gaaa7adb3f6c40df0e974eab5f84e1377b", null ], + [ "check", "check_8hpp.html#ga076f987fe64de4738b5d2f4381150253", null ], + [ "check", "check_8hpp.html#ga61e4624ef8320a0d9918cf247df4df90", null ], + [ "check", "check_8hpp.html#ga54ad844cfe9f99f2c7cfcc935559e633", null ], + [ "check", "check_8hpp.html#ga2f6537af230517a619f07727f6ff33a5", null ], + [ "code", "check_8hpp.html#a810409b760301c0d32156f81dc2da130", null ], + [ "msg", "check_8hpp.html#af2a181710ad035098993649b3dc97a0f", null ], + [ "msg_len", "check_8hpp.html#add8aff837dc2c0d88fde2e0cc395b869", null ] +]; \ No newline at end of file diff --git a/docs/cdt/check_8hpp_source.html b/docs/cdt/check_8hpp_source.html new file mode 100644 index 000000000..fbe160cb0 --- /dev/null +++ b/docs/cdt/check_8hpp_source.html @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/check.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
check.hpp
+
+
+См. документацию.
1
+
5#pragma once
+
6
+
7#include <string>
+
8#include <string_view>
+
9
+
10namespace eosio {
+
11
+
12 namespace internal_use_do_not_use {
+
13 extern "C" {
+
14 __attribute__((eosio_wasm_import))
+
15 void eosio_assert( uint32_t test, const char* msg );
+
16
+
17 __attribute__((eosio_wasm_import))
+
18 void eosio_assert_message( uint32_t test, const char* msg, uint32_t msg_len );
+
19
+
20 __attribute__((eosio_wasm_import))
+
21 void eosio_assert_code( uint32_t test, uint64_t code );
+
22 }
+
23 }
+
24
+
42 inline void check(bool pred, std::string_view msg) {
+
43 if (!pred)
+
44 internal_use_do_not_use::eosio_assert_message(false, msg.data(), msg.size());
+
45 }
+
46
+
57 inline void check(bool pred, const char* msg) {
+
58 if (!pred) {
+
59 internal_use_do_not_use::eosio_assert(false, msg);
+
60 }
+
61 }
+
62
+
73 inline void check(bool pred, const std::string& msg) {
+
74 if (!pred) {
+
75 internal_use_do_not_use::eosio_assert_message(false, msg.data(), msg.size());
+
76 }
+
77 }
+
78
+
89 inline void check(bool pred, std::string&& msg) {
+
90 if (!pred) {
+
91 internal_use_do_not_use::eosio_assert_message(false, msg.data(), msg.size());
+
92 }
+
93 }
+
94
+
95
+
107 inline void check(bool pred, const char* msg, size_t n) {
+
108 if (!pred) {
+
109 internal_use_do_not_use::eosio_assert_message(false, msg, n);
+
110 }
+
111 }
+
112
+
124 inline void check(bool pred, const std::string& msg, size_t n) {
+
125 if (!pred) {
+
126 internal_use_do_not_use::eosio_assert_message(false, msg.data(), n);
+
127 }
+
128 }
+
129
+
140 inline void check(bool pred, uint64_t code) {
+
141 if (!pred) {
+
142 internal_use_do_not_use::eosio_assert_code(false, code);
+
143 }
+
144 }
+
145} // namespace eosio
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp-members.html b/docs/cdt/classeosio_1_1block__timestamp-members.html new file mode 100644 index 000000000..7aa02a198 --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp-members.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::block_timestamp Cписок членов класса
+
+
+ +

Полный список членов класса eosio::block_timestamp, включая наследуемые из базового класса

+ + + + + + + + + + + +
block_timestamp(uint32_t s=0)eosio::block_timestampinlineexplicit
block_timestamp(const time_point &t)eosio::block_timestampinline
block_timestamp(const time_point_sec &t)eosio::block_timestampinline
from_iso_string(const std::string &date_str)eosio::block_timestampinlinestatic
maximum()eosio::block_timestampinlinestatic
min()eosio::block_timestampinlinestatic
next() consteosio::block_timestampinline
operator time_point() consteosio::block_timestampinline
to_string() consteosio::block_timestampinline
to_time_point() consteosio::block_timestampinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp.html b/docs/cdt/classeosio_1_1block__timestamp.html new file mode 100644 index 000000000..51e167ed0 --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp.html @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::block_timestamp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <time.hpp>

+ + + + + + + + + + + + + + + + +

+Открытые члены

 block_timestamp (uint32_t s=0)
 
 block_timestamp (const time_point &t)
 
 block_timestamp (const time_point_sec &t)
 
block_timestamp next () const
 
time_point to_time_point () const
 
 operator time_point () const
 
std::string to_string () const
 
+ + + + + + + +

+Открытые статические члены

static block_timestamp maximum ()
 
static block_timestamp min ()
 
static block_timestamp from_iso_string (const std::string &date_str)
 
+

Подробное описание

+

Время блока в заголовках блоков сети COOPOS: номер слота с шагом block_interval_ms от эпохи block_timestamp_epoch (миллисекунды).

+ +

См. определение в файле time.hpp строка 171

+

Объявления и описания членов класса находятся в файле:
    +
  • libraries/eosiolib/core/eosio/time.hpp
  • +
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp.js b/docs/cdt/classeosio_1_1block__timestamp.js new file mode 100644 index 000000000..f5b30005f --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp.js @@ -0,0 +1,10 @@ +var classeosio_1_1block__timestamp = +[ + [ "block_timestamp", "classeosio_1_1block__timestamp_aa719feec777894d3612305fcdf579d1e.html#aa719feec777894d3612305fcdf579d1e", null ], + [ "block_timestamp", "classeosio_1_1block__timestamp_a72934b4290a476785f852983608263b0.html#a72934b4290a476785f852983608263b0", null ], + [ "block_timestamp", "classeosio_1_1block__timestamp_aae1af00ad48d215fbd72d3e2339655bf.html#aae1af00ad48d215fbd72d3e2339655bf", null ], + [ "next", "classeosio_1_1block__timestamp_a07825f36097aa846aecaa221239874d6.html#a07825f36097aa846aecaa221239874d6", null ], + [ "operator time_point", "classeosio_1_1block__timestamp_abc0874625ff948fb8f23dd41644aee23.html#abc0874625ff948fb8f23dd41644aee23", null ], + [ "to_string", "classeosio_1_1block__timestamp_a0bb7b80144520847d11ee3d3a4b81bae.html#a0bb7b80144520847d11ee3d3a4b81bae", null ], + [ "to_time_point", "classeosio_1_1block__timestamp_ac645cbc95a573b9ddc33439bf7953e83.html#ac645cbc95a573b9ddc33439bf7953e83", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1block__timestamp_a07825f36097aa846aecaa221239874d6.html b/docs/cdt/classeosio_1_1block__timestamp_a07825f36097aa846aecaa221239874d6.html new file mode 100644 index 000000000..e499e8df0 --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp_a07825f36097aa846aecaa221239874d6.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp::next + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ next()

+ +
+
+ + + + + +
+ + + + + + + +
block_timestamp eosio::block_timestamp::next () const
+
+inline
+
+ +

См. определение в файле time.hpp строка 186

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp_a0bb7b80144520847d11ee3d3a4b81bae.html b/docs/cdt/classeosio_1_1block__timestamp_a0bb7b80144520847d11ee3d3a4b81bae.html new file mode 100644 index 000000000..5386d3009 --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp_a0bb7b80144520847d11ee3d3a4b81bae.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp::to_string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ to_string()

+ +
+
+ + + + + +
+ + + + + + + +
std::string eosio::block_timestamp::to_string () const
+
+inline
+
+ +

См. определение в файле time.hpp строка 208

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp_a30ae0cff751d3f0ff01010f4a4f6d052.html b/docs/cdt/classeosio_1_1block__timestamp_a30ae0cff751d3f0ff01010f4a4f6d052.html new file mode 100644 index 000000000..16514ce63 --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp_a30ae0cff751d3f0ff01010f4a4f6d052.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp::maximum + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ maximum()

+ +
+
+ + + + + +
+ + + + + + + +
static block_timestamp eosio::block_timestamp::maximum ()
+
+inlinestatic
+
+ +

См. определение в файле time.hpp строка 183

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp_a72934b4290a476785f852983608263b0.html b/docs/cdt/classeosio_1_1block__timestamp_a72934b4290a476785f852983608263b0.html new file mode 100644 index 000000000..7acab040b --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp_a72934b4290a476785f852983608263b0.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp::block_timestamp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ block_timestamp() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::block_timestamp::block_timestamp (const time_pointt)
+
+inline
+
+ +

См. определение в файле time.hpp строка 175

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp_a97cc3a05e64223e6144fde0ccfac1abd.html b/docs/cdt/classeosio_1_1block__timestamp_a97cc3a05e64223e6144fde0ccfac1abd.html new file mode 100644 index 000000000..b820ca917 --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp_a97cc3a05e64223e6144fde0ccfac1abd.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp::min + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ min()

+ +
+
+ + + + + +
+ + + + + + + +
static block_timestamp eosio::block_timestamp::min ()
+
+inlinestatic
+
+ +

См. определение в файле time.hpp строка 184

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp_aa719feec777894d3612305fcdf579d1e.html b/docs/cdt/classeosio_1_1block__timestamp_aa719feec777894d3612305fcdf579d1e.html new file mode 100644 index 000000000..163e1b383 --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp_aa719feec777894d3612305fcdf579d1e.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp::block_timestamp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ block_timestamp() [1/3]

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::block_timestamp::block_timestamp (uint32_t s = 0)
+
+inlineexplicit
+
+ +

См. определение в файле time.hpp строка 173

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp_aae1af00ad48d215fbd72d3e2339655bf.html b/docs/cdt/classeosio_1_1block__timestamp_aae1af00ad48d215fbd72d3e2339655bf.html new file mode 100644 index 000000000..c88270951 --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp_aae1af00ad48d215fbd72d3e2339655bf.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp::block_timestamp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ block_timestamp() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::block_timestamp::block_timestamp (const time_point_sect)
+
+inline
+
+ +

См. определение в файле time.hpp строка 179

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp_abc0874625ff948fb8f23dd41644aee23.html b/docs/cdt/classeosio_1_1block__timestamp_abc0874625ff948fb8f23dd41644aee23.html new file mode 100644 index 000000000..904bfbaff --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp_abc0874625ff948fb8f23dd41644aee23.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp::operator time_point + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator time_point()

+ +
+
+ + + + + +
+ + + + + + + +
eosio::block_timestamp::operator time_point () const
+
+inline
+
+ +

См. определение в файле time.hpp строка 197

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp_abd89e2d752bce18f94f865426a16c5bf.html b/docs/cdt/classeosio_1_1block__timestamp_abd89e2d752bce18f94f865426a16c5bf.html new file mode 100644 index 000000000..eb0c5b155 --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp_abd89e2d752bce18f94f865426a16c5bf.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp::from_iso_string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ from_iso_string()

+ +
+
+ + + + + +
+ + + + + + + + +
static block_timestamp eosio::block_timestamp::from_iso_string (const std::string & date_str)
+
+inlinestatic
+
+ +

См. определение в файле time.hpp строка 203

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1block__timestamp_ac645cbc95a573b9ddc33439bf7953e83.html b/docs/cdt/classeosio_1_1block__timestamp_ac645cbc95a573b9ddc33439bf7953e83.html new file mode 100644 index 000000000..74c123a91 --- /dev/null +++ b/docs/cdt/classeosio_1_1block__timestamp_ac645cbc95a573b9ddc33439bf7953e83.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp::to_time_point + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ to_time_point()

+ +
+
+ + + + + +
+ + + + + + + +
time_point eosio::block_timestamp::to_time_point () const
+
+inline
+
+ +

См. определение в файле time.hpp строка 193

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract-members.html b/docs/cdt/classeosio_1_1contract-members.html new file mode 100644 index 000000000..a35ac5fe5 --- /dev/null +++ b/docs/cdt/classeosio_1_1contract-members.html @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::contract Cписок членов класса
+
+
+ +

Полный список членов класса eosio::contract, включая наследуемые из базового класса

+ + + + + + + + + + +
_dseosio::contractprotected
_first_receivereosio::contractprotected
_selfeosio::contractprotected
contract(name self, name first_receiver, datastream< const char * > ds)eosio::contractinline
get_code() consteosio::contractinline
get_datastream()eosio::contractinline
get_datastream() consteosio::contractinline
get_first_receiver() consteosio::contractinline
get_self() consteosio::contractinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract.html b/docs/cdt/classeosio_1_1contract.html new file mode 100644 index 000000000..2c8ee715d --- /dev/null +++ b/docs/cdt/classeosio_1_1contract.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::contract + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <contract.hpp>

+ + + + + + + + + + + + + + +

+Открытые члены

 contract (name self, name first_receiver, datastream< const char * > ds)
 
name get_self () const
 
name get_code () const
 
name get_first_receiver () const
 
datastream< const char * > & get_datastream ()
 
const datastream< const char * > & get_datastream () const
 
+ + + + + + + +

+Защищенные данные

name _self
 
name _first_receiver
 
datastream< const char * > _ds = datastream<const char*>(nullptr, 0)
 
+

Подробное описание

+

Базовый класс контракта COOPOS.

+

Новый контракт должен наследовать этот класс, чтобы можно было использовать макрос EOSIO_ABI.

+ +

См. определение в файле contract.hpp строка 30

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract.js b/docs/cdt/classeosio_1_1contract.js new file mode 100644 index 000000000..76e7cf646 --- /dev/null +++ b/docs/cdt/classeosio_1_1contract.js @@ -0,0 +1,12 @@ +var classeosio_1_1contract = +[ + [ "contract", "classeosio_1_1contract_acb803b9d14bdc26811cdaaf98804e105.html#acb803b9d14bdc26811cdaaf98804e105", null ], + [ "get_code", "classeosio_1_1contract_a4efcd5638d26dad3e5dc075bad152d45.html#a4efcd5638d26dad3e5dc075bad152d45", null ], + [ "get_datastream", "classeosio_1_1contract_a025bbcfc537a64a72c6b41f1118559a0.html#a025bbcfc537a64a72c6b41f1118559a0", null ], + [ "get_datastream", "classeosio_1_1contract_ab2b6af0978586ae4e3a1c9c1699e660a.html#ab2b6af0978586ae4e3a1c9c1699e660a", null ], + [ "get_first_receiver", "classeosio_1_1contract_ac7c14f66e3d41904264d1c6558cf370b.html#ac7c14f66e3d41904264d1c6558cf370b", null ], + [ "get_self", "classeosio_1_1contract_a7564cad9be4ee5dcaac832511d9a0e05.html#a7564cad9be4ee5dcaac832511d9a0e05", null ], + [ "_ds", "classeosio_1_1contract_a66b526b89bc6d35b63b874615f1d27b8.html#a66b526b89bc6d35b63b874615f1d27b8", null ], + [ "_first_receiver", "classeosio_1_1contract_a98397119d8b0cf44f22a62967f8d030a.html#a98397119d8b0cf44f22a62967f8d030a", null ], + [ "_self", "classeosio_1_1contract_a29c0c98c72ab578a5965d13b00dca0c0.html#a29c0c98c72ab578a5965d13b00dca0c0", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1contract_a025bbcfc537a64a72c6b41f1118559a0.html b/docs/cdt/classeosio_1_1contract_a025bbcfc537a64a72c6b41f1118559a0.html new file mode 100644 index 000000000..efcc3c492 --- /dev/null +++ b/docs/cdt/classeosio_1_1contract_a025bbcfc537a64a72c6b41f1118559a0.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::contract::get_datastream + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_datastream() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
datastream< const char * > & eosio::contract::get_datastream ()
+
+inline
+
+

Поток данных (datastream) этого контракта

+
Возвращает
datastream<const char*> — поток данных контракта
+ +

См. определение в файле contract.hpp строка 69

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract_a29c0c98c72ab578a5965d13b00dca0c0.html b/docs/cdt/classeosio_1_1contract_a29c0c98c72ab578a5965d13b00dca0c0.html new file mode 100644 index 000000000..b3262e5c0 --- /dev/null +++ b/docs/cdt/classeosio_1_1contract_a29c0c98c72ab578a5965d13b00dca0c0.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::contract::_self + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ _self

+ +
+
+ + + + + +
+ + + + +
name eosio::contract::_self
+
+protected
+
+

Имя аккаунта, на котором развёрнут контракт.

+ +

См. определение в файле contract.hpp строка 82

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract_a4efcd5638d26dad3e5dc075bad152d45.html b/docs/cdt/classeosio_1_1contract_a4efcd5638d26dad3e5dc075bad152d45.html new file mode 100644 index 000000000..098d1e806 --- /dev/null +++ b/docs/cdt/classeosio_1_1contract_a4efcd5638d26dad3e5dc075bad152d45.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::contract::get_code + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_code()

+ +
+
+ + + + + +
+ + + + + + + +
name eosio::contract::get_code () const
+
+inline
+
+

Имя first_receiver для обрабатываемого действия (устаревший метод).

+
Возвращает
name — первый получатель текущего действия (параметр конструктора first_receiver)
+ +

См. определение в файле contract.hpp строка 55

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract_a66b526b89bc6d35b63b874615f1d27b8.html b/docs/cdt/classeosio_1_1contract_a66b526b89bc6d35b63b874615f1d27b8.html new file mode 100644 index 000000000..2b485e3b6 --- /dev/null +++ b/docs/cdt/classeosio_1_1contract_a66b526b89bc6d35b63b874615f1d27b8.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::contract::_ds + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ _ds

+ +
+
+ + + + + +
+ + + + +
datastream<const char*> eosio::contract::_ds = datastream<const char*>(nullptr, 0)
+
+protected
+
+

Поток данных (datastream) контракта

+ +

См. определение в файле contract.hpp строка 92

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract_a7564cad9be4ee5dcaac832511d9a0e05.html b/docs/cdt/classeosio_1_1contract_a7564cad9be4ee5dcaac832511d9a0e05.html new file mode 100644 index 000000000..96c3dc3be --- /dev/null +++ b/docs/cdt/classeosio_1_1contract_a7564cad9be4ee5dcaac832511d9a0e05.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::contract::get_self + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_self()

+ +
+
+ + + + + +
+ + + + + + + +
name eosio::contract::get_self () const
+
+inline
+
+

Имя этого контракта

+
Возвращает
name — имя контракта
+ +

См. определение в файле contract.hpp строка 47

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract_a98397119d8b0cf44f22a62967f8d030a.html b/docs/cdt/classeosio_1_1contract_a98397119d8b0cf44f22a62967f8d030a.html new file mode 100644 index 000000000..740c466d0 --- /dev/null +++ b/docs/cdt/classeosio_1_1contract_a98397119d8b0cf44f22a62967f8d030a.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::contract::_first_receiver + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ _first_receiver

+ +
+
+ + + + + +
+ + + + +
name eosio::contract::_first_receiver
+
+protected
+
+

Аккаунт, на который входящее действие впервые поступило.

+ +

См. определение в файле contract.hpp строка 87

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract_ab2b6af0978586ae4e3a1c9c1699e660a.html b/docs/cdt/classeosio_1_1contract_ab2b6af0978586ae4e3a1c9c1699e660a.html new file mode 100644 index 000000000..392df1435 --- /dev/null +++ b/docs/cdt/classeosio_1_1contract_ab2b6af0978586ae4e3a1c9c1699e660a.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::contract::get_datastream + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_datastream() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const datastream< const char * > & eosio::contract::get_datastream () const
+
+inline
+
+

Поток данных (datastream) этого контракта (константная версия)

+
Возвращает
datastream<const char*> — поток данных контракта
+ +

См. определение в файле contract.hpp строка 76

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract_ac7c14f66e3d41904264d1c6558cf370b.html b/docs/cdt/classeosio_1_1contract_ac7c14f66e3d41904264d1c6558cf370b.html new file mode 100644 index 000000000..fd9c21d51 --- /dev/null +++ b/docs/cdt/classeosio_1_1contract_ac7c14f66e3d41904264d1c6558cf370b.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::contract::get_first_receiver + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_first_receiver()

+ +
+
+ + + + + +
+ + + + + + + +
name eosio::contract::get_first_receiver () const
+
+inline
+
+

Аккаунт, на который входящее действие впервые поступило.

+
Возвращает
name — первый получатель текущего действия (параметр конструктора first_receiver)
+ +

См. определение в файле contract.hpp строка 62

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1contract_acb803b9d14bdc26811cdaaf98804e105.html b/docs/cdt/classeosio_1_1contract_acb803b9d14bdc26811cdaaf98804e105.html new file mode 100644 index 000000000..eaebb6efd --- /dev/null +++ b/docs/cdt/classeosio_1_1contract_acb803b9d14bdc26811cdaaf98804e105.html @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::contract::contract + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ contract()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
eosio::contract::contract (name self,
name first_receiver,
datastream< const char * > ds 
)
+
+inline
+
+

Создаёт контракт с заданными параметрами

+
Аргументы
+ + + + +
self— имя аккаунта, на котором развёрнут контракт
first_receiver— аккаунт, на который действие впервые поступило
ds— используемый поток данных (datastream)
+
+
+ +

См. определение в файле contract.hpp строка 39

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream-members.html b/docs/cdt/classeosio_1_1datastream-members.html new file mode 100644 index 000000000..99012ebc8 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream-members.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::datastream< T > Cписок членов класса
+
+
+ +

Полный список членов класса eosio::datastream< T >, включая наследуемые из базового класса

+ + + + + + + + + + + + + + + +
datastream(T start, size_t s)eosio::datastream< T >inline
get(unsigned char &c)eosio::datastream< T >inline
get(char &c)eosio::datastream< T >inline
pos() consteosio::datastream< T >inline
put(char c)eosio::datastream< T >inline
read(void *d, size_t s)eosio::datastream< T >inline
remaining() consteosio::datastream< T >inline
seekp(size_t p)eosio::datastream< T >inline
skip(size_t s)eosio::datastream< T >inline
tellp() consteosio::datastream< T >inline
valid() consteosio::datastream< T >inline
write(const char *d, size_t s)eosio::datastream< T >inline
write(char d)eosio::datastream< T >inline
write(const void *d, size_t s)eosio::datastream< T >inline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream.html b/docs/cdt/classeosio_1_1datastream.html new file mode 100644 index 000000000..0ee989ac7 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон класса eosio::datastream< T > + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Шаблон класса eosio::datastream< T >
+
+
+ +

#include <datastream.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Открытые члены

 datastream (T start, size_t s)
 
void skip (size_t s)
 
bool read (void *d, size_t s)
 
bool write (const char *d, size_t s)
 
bool write (char d)
 
bool write (const void *d, size_t s)
 
bool put (char c)
 
bool get (unsigned char &c)
 
bool get (char &c)
 
pos () const
 
bool valid () const
 
bool seekp (size_t p)
 
size_t tellp () const
 
size_t remaining () const
 
+

Подробное описание

+
template<typename T>
+class eosio::datastream< T >

Поток данных для чтения и записи в виде байтов

+
Параметры шаблона
+ + +
T- Тип буфера потока данных
+
+
+ +

См. определение в файле datastream.hpp строка 36

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream.js b/docs/cdt/classeosio_1_1datastream.js new file mode 100644 index 000000000..2c23f969e --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream.js @@ -0,0 +1,17 @@ +var classeosio_1_1datastream = +[ + [ "datastream", "classeosio_1_1datastream_a72befc5c1f51a601ad07e7c8e61856f4.html#a72befc5c1f51a601ad07e7c8e61856f4", null ], + [ "get", "classeosio_1_1datastream_a10ab58b7cc695366b42957f4b8ff56eb.html#a10ab58b7cc695366b42957f4b8ff56eb", null ], + [ "get", "classeosio_1_1datastream_a001047d70942ab5beb836e498d9f9eab.html#a001047d70942ab5beb836e498d9f9eab", null ], + [ "pos", "classeosio_1_1datastream_a090e80d1bddd21337b16b3fad76c551d.html#a090e80d1bddd21337b16b3fad76c551d", null ], + [ "put", "classeosio_1_1datastream_ad0a23aa024810028ce8669627577859d.html#ad0a23aa024810028ce8669627577859d", null ], + [ "read", "classeosio_1_1datastream_ab28fff0ac0d25f39c1a1b5d6f9d0e5ad.html#ab28fff0ac0d25f39c1a1b5d6f9d0e5ad", null ], + [ "remaining", "classeosio_1_1datastream_af57bc94263dc08eb60b910a53645a052.html#af57bc94263dc08eb60b910a53645a052", null ], + [ "seekp", "classeosio_1_1datastream_ac82f1102bb9593764a654dfbedb88328.html#ac82f1102bb9593764a654dfbedb88328", null ], + [ "skip", "classeosio_1_1datastream_a928fbd3301caee3c64ea620442fb0e64.html#a928fbd3301caee3c64ea620442fb0e64", null ], + [ "tellp", "classeosio_1_1datastream_a32df7a816da793f3183d235c67b042a7.html#a32df7a816da793f3183d235c67b042a7", null ], + [ "valid", "classeosio_1_1datastream_a69cbb57958a1ec6d66e6aa4bcc39ec23.html#a69cbb57958a1ec6d66e6aa4bcc39ec23", null ], + [ "write", "classeosio_1_1datastream_ae468391ad509e1b5bd2a9c7332f4802c.html#ae468391ad509e1b5bd2a9c7332f4802c", null ], + [ "write", "classeosio_1_1datastream_a1e42133f6f57a8c89e1db04abe44b342.html#a1e42133f6f57a8c89e1db04abe44b342", null ], + [ "write", "classeosio_1_1datastream_a4842d71330f2f682087ae17cc03d00f4.html#a4842d71330f2f682087ae17cc03d00f4", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4-members.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4-members.html new file mode 100644 index 000000000..daa8d657d --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4-members.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::datastream< size_t > Cписок членов класса
+
+
+ +

Полный список членов класса eosio::datastream< size_t >, включая наследуемые из базового класса

+ + + + + + + + + + + +
datastream(size_t init_size=0)eosio::datastream< size_t >inline
put(char)eosio::datastream< size_t >inline
remaining() consteosio::datastream< size_t >inline
seekp(size_t p)eosio::datastream< size_t >inline
skip(size_t s)eosio::datastream< size_t >inline
tellp() consteosio::datastream< size_t >inline
valid() consteosio::datastream< size_t >inline
write(const char *, size_t s)eosio::datastream< size_t >inline
write(char)eosio::datastream< size_t >inline
write(const void *, size_t s)eosio::datastream< size_t >inline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4.html new file mode 100644 index 000000000..6f78c114f --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4.html @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::datastream< size_t > + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <datastream.hpp>

+ + + + + + + + + + + + + + + + + + + + + + +

+Открытые члены

 datastream (size_t init_size=0)
 
bool skip (size_t s)
 
bool write (const char *, size_t s)
 
bool write (char)
 
bool write (const void *, size_t s)
 
bool put (char)
 
bool valid () const
 
bool seekp (size_t p)
 
size_t tellp () const
 
size_t remaining () const
 
+

Подробное описание

+

Специализация datastream для определения итогового размера сериализованного значения

+ +

См. определение в файле datastream.hpp строка 193

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4.js b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4.js new file mode 100644 index 000000000..47736e949 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4.js @@ -0,0 +1,13 @@ +var classeosio_1_1datastream_3_01size__t_01_4 = +[ + [ "datastream", "classeosio_1_1datastream_3_01size__t_01_4_abf5e113ace4a6bfa309fcecf3fc49f63.html#abf5e113ace4a6bfa309fcecf3fc49f63", null ], + [ "put", "classeosio_1_1datastream_3_01size__t_01_4_a4a1a95751dafd76aea580d80c84bf8bb.html#a4a1a95751dafd76aea580d80c84bf8bb", null ], + [ "remaining", "classeosio_1_1datastream_3_01size__t_01_4_a345f36fa8492917662d6185db631042d.html#a345f36fa8492917662d6185db631042d", null ], + [ "seekp", "classeosio_1_1datastream_3_01size__t_01_4_ac4720cb82d256a41f27bbf389b37790b.html#ac4720cb82d256a41f27bbf389b37790b", null ], + [ "skip", "classeosio_1_1datastream_3_01size__t_01_4_ad9d7da49e77a5db9c80c256845b26894.html#ad9d7da49e77a5db9c80c256845b26894", null ], + [ "tellp", "classeosio_1_1datastream_3_01size__t_01_4_aadcdabf95d8b142bd9b43bbcdc4e0d9f.html#aadcdabf95d8b142bd9b43bbcdc4e0d9f", null ], + [ "valid", "classeosio_1_1datastream_3_01size__t_01_4_a46f1fc6f14d7e79c2181f4e3a2ae5b12.html#a46f1fc6f14d7e79c2181f4e3a2ae5b12", null ], + [ "write", "classeosio_1_1datastream_3_01size__t_01_4_a7b004570bf9e621b2ee8aaa12f3a2dc7.html#a7b004570bf9e621b2ee8aaa12f3a2dc7", null ], + [ "write", "classeosio_1_1datastream_3_01size__t_01_4_a3c2ca245c9f33549505ea7886a1d3ecf.html#a3c2ca245c9f33549505ea7886a1d3ecf", null ], + [ "write", "classeosio_1_1datastream_3_01size__t_01_4_af17849ce270d8c7ed0234b9ad5d9afc6.html#af17849ce270d8c7ed0234b9ad5d9afc6", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a345f36fa8492917662d6185db631042d.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a345f36fa8492917662d6185db631042d.html new file mode 100644 index 000000000..6849dbe2e --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a345f36fa8492917662d6185db631042d.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream< size_t >::remaining + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ remaining()

+ +
+
+ + + + + +
+ + + + + + + +
size_t eosio::datastream< size_t >::remaining () const
+
+inline
+
+

Всегда возвращает 0

+
Возвращает
size_t - 0
+ +

См. определение в файле datastream.hpp строка 268

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a3c2ca245c9f33549505ea7886a1d3ecf.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a3c2ca245c9f33549505ea7886a1d3ecf.html new file mode 100644 index 000000000..58077dfbe --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a3c2ca245c9f33549505ea7886a1d3ecf.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream< size_t >::write + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ write() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool eosio::datastream< size_t >::write (const char * ,
size_t s 
)
+
+inline
+
+

Увеличивает размер на s. Ведёт себя так же, как skip( size_t s )

+
Аргументы
+ + +
s- Величина увеличения размера
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 216

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a46f1fc6f14d7e79c2181f4e3a2ae5b12.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a46f1fc6f14d7e79c2181f4e3a2ae5b12.html new file mode 100644 index 000000000..1b0887d17 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a46f1fc6f14d7e79c2181f4e3a2ae5b12.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream< size_t >::valid + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ valid()

+ +
+
+ + + + + +
+ + + + + + + +
bool eosio::datastream< size_t >::valid () const
+
+inline
+
+

Проверка допустимости. Всегда допустимо

+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 246

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a4a1a95751dafd76aea580d80c84bf8bb.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a4a1a95751dafd76aea580d80c84bf8bb.html new file mode 100644 index 000000000..1dc116252 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a4a1a95751dafd76aea580d80c84bf8bb.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream< size_t >::put + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ put()

+ +
+
+ + + + + +
+ + + + + + + + +
bool eosio::datastream< size_t >::put (char )
+
+inline
+
+

Увеличивает размер на единицу

+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 239

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a7b004570bf9e621b2ee8aaa12f3a2dc7.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a7b004570bf9e621b2ee8aaa12f3a2dc7.html new file mode 100644 index 000000000..035df9b3e --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_a7b004570bf9e621b2ee8aaa12f3a2dc7.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream< size_t >::write + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ write() [1/3]

+ +
+
+ + + + + +
+ + + + + + + + +
bool eosio::datastream< size_t >::write (char )
+
+inline
+
+

Увеличивает размер на s. Ведёт себя так же, как skip( size_t s )

+
Аргументы
+ + +
s- Величина увеличения размера
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 224

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_aadcdabf95d8b142bd9b43bbcdc4e0d9f.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_aadcdabf95d8b142bd9b43bbcdc4e0d9f.html new file mode 100644 index 000000000..3a3d7c977 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_aadcdabf95d8b142bd9b43bbcdc4e0d9f.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream< size_t >::tellp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ tellp()

+ +
+
+ + + + + +
+ + + + + + + +
size_t eosio::datastream< size_t >::tellp () const
+
+inline
+
+

Возвращает размер

+
Возвращает
size_t - Размер
+ +

См. определение в файле datastream.hpp строка 261

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_abf5e113ace4a6bfa309fcecf3fc49f63.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_abf5e113ace4a6bfa309fcecf3fc49f63.html new file mode 100644 index 000000000..4fd975883 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_abf5e113ace4a6bfa309fcecf3fc49f63.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream< size_t >::datastream + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ datastream()

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::datastream< size_t >::datastream (size_t init_size = 0)
+
+inline
+
+

Создаёт новый специализированный объект потока данных с заданным начальным размером

+
Аргументы
+ + +
init_size- Начальный размер
+
+
+ +

См. определение в файле datastream.hpp строка 200

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_ac4720cb82d256a41f27bbf389b37790b.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_ac4720cb82d256a41f27bbf389b37790b.html new file mode 100644 index 000000000..1a5393b16 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_ac4720cb82d256a41f27bbf389b37790b.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream< size_t >::seekp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ seekp()

+ +
+
+ + + + + +
+ + + + + + + + +
bool eosio::datastream< size_t >::seekp (size_t p)
+
+inline
+
+

Устанавливает новый размер

+
Аргументы
+ + +
p- Новый размер
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 254

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_ad9d7da49e77a5db9c80c256845b26894.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_ad9d7da49e77a5db9c80c256845b26894.html new file mode 100644 index 000000000..49e161e76 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_ad9d7da49e77a5db9c80c256845b26894.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream< size_t >::skip + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ skip()

+ +
+
+ + + + + +
+ + + + + + + + +
bool eosio::datastream< size_t >::skip (size_t s)
+
+inline
+
+

Увеличивает размер на s. Ведёт себя так же, как write( const char* ,size_t s ).

+
Аргументы
+ + +
s- Величина увеличения размера
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 208

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_af17849ce270d8c7ed0234b9ad5d9afc6.html b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_af17849ce270d8c7ed0234b9ad5d9afc6.html new file mode 100644 index 000000000..7a787b7d9 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_3_01size__t_01_4_af17849ce270d8c7ed0234b9ad5d9afc6.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream< size_t >::write + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ write() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool eosio::datastream< size_t >::write (const void * ,
size_t s 
)
+
+inline
+
+

Увеличивает размер на s. Ведёт себя так же, как skip( size_t s )

+
Аргументы
+ + +
s- Величина увеличения размера
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 232

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_a001047d70942ab5beb836e498d9f9eab.html b/docs/cdt/classeosio_1_1datastream_a001047d70942ab5beb836e498d9f9eab.html new file mode 100644 index 000000000..d4dc7329e --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_a001047d70942ab5beb836e498d9f9eab.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::get + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get() [2/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
bool eosio::datastream< T >::get (unsigned char & c)
+
+inline
+
+

Читает байт из потока

+
Аргументы
+ + +
c- Ссылка на байт назначения
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 128

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_a090e80d1bddd21337b16b3fad76c551d.html b/docs/cdt/classeosio_1_1datastream_a090e80d1bddd21337b16b3fad76c551d.html new file mode 100644 index 000000000..7cfb50236 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_a090e80d1bddd21337b16b3fad76c551d.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::pos + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ pos()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
T eosio::datastream< T >::pos () const
+
+inline
+
+

Возвращает текущую позицию в потоке

+
Возвращает
T - Текущая позиция в потоке
+ +

См. определение в файле datastream.hpp строка 149

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_a10ab58b7cc695366b42957f4b8ff56eb.html b/docs/cdt/classeosio_1_1datastream_a10ab58b7cc695366b42957f4b8ff56eb.html new file mode 100644 index 000000000..fd15b7022 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_a10ab58b7cc695366b42957f4b8ff56eb.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::get + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get() [1/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
bool eosio::datastream< T >::get (char & c)
+
+inline
+
+

Читает байт из потока

+
Аргументы
+ + +
c- Ссылка на байт назначения
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 136

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_a1e42133f6f57a8c89e1db04abe44b342.html b/docs/cdt/classeosio_1_1datastream_a1e42133f6f57a8c89e1db04abe44b342.html new file mode 100644 index 000000000..6b58987cb --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_a1e42133f6f57a8c89e1db04abe44b342.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::write + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ write() [2/3]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool eosio::datastream< T >::write (const char * d,
size_t s 
)
+
+inline
+
+

Записывает заданное число байт в поток из буфера

+
Аргументы
+ + + +
d- Указатель на исходный буфер
s- Число байт для записи
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 76

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_a32df7a816da793f3183d235c67b042a7.html b/docs/cdt/classeosio_1_1datastream_a32df7a816da793f3183d235c67b042a7.html new file mode 100644 index 000000000..a6c73018d --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_a32df7a816da793f3183d235c67b042a7.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::tellp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ tellp()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
size_t eosio::datastream< T >::tellp () const
+
+inline
+
+

Возвращает позицию в текущем потоке

+
Возвращает
p - Позиция в текущем потоке
+ +

См. определение в файле datastream.hpp строка 166

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_a4842d71330f2f682087ae17cc03d00f4.html b/docs/cdt/classeosio_1_1datastream_a4842d71330f2f682087ae17cc03d00f4.html new file mode 100644 index 000000000..22511d928 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_a4842d71330f2f682087ae17cc03d00f4.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::write + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ write() [3/3]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool eosio::datastream< T >::write (const void * d,
size_t s 
)
+
+inline
+
+

Записывает заданное число байт в поток из буфера

+
Аргументы
+ + + +
d- Указатель на исходный буфер
s- Число байт для записи
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 102

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_a69cbb57958a1ec6d66e6aa4bcc39ec23.html b/docs/cdt/classeosio_1_1datastream_a69cbb57958a1ec6d66e6aa4bcc39ec23.html new file mode 100644 index 000000000..06bfc1739 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_a69cbb57958a1ec6d66e6aa4bcc39ec23.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::valid + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ valid()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
bool eosio::datastream< T >::valid () const
+
+inline
+
+ +

См. определение в файле datastream.hpp строка 150

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_a72befc5c1f51a601ad07e7c8e61856f4.html b/docs/cdt/classeosio_1_1datastream_a72befc5c1f51a601ad07e7c8e61856f4.html new file mode 100644 index 000000000..baf752769 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_a72befc5c1f51a601ad07e7c8e61856f4.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::datastream + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ datastream()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
eosio::datastream< T >::datastream (start,
size_t s 
)
+
+inline
+
+

Создаёт новый объект потока данных

+

Создаёт новый объект потока данных по размеру буфера и начальной позиции буфера

Аргументы
+ + + +
start- Начальная позиция буфера
s- Размер буфера
+
+
+ +

См. определение в файле datastream.hpp строка 45

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_a928fbd3301caee3c64ea620442fb0e64.html b/docs/cdt/classeosio_1_1datastream_a928fbd3301caee3c64ea620442fb0e64.html new file mode 100644 index 000000000..330b702f1 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_a928fbd3301caee3c64ea620442fb0e64.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::skip + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ skip()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
void eosio::datastream< T >::skip (size_t s)
+
+inline
+
+

Пропускает заданное число байт в этом потоке

+
Аргументы
+ + +
s- Число байт для пропуска
+
+
+ +

См. определение в файле datastream.hpp строка 53

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_ab28fff0ac0d25f39c1a1b5d6f9d0e5ad.html b/docs/cdt/classeosio_1_1datastream_ab28fff0ac0d25f39c1a1b5d6f9d0e5ad.html new file mode 100644 index 000000000..b138c9795 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_ab28fff0ac0d25f39c1a1b5d6f9d0e5ad.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::read + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ read()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool eosio::datastream< T >::read (void * d,
size_t s 
)
+
+inline
+
+

Читает заданное число байт из потока в буфер

+
Аргументы
+ + + +
d- Указатель на буфер назначения
s- Число байт для чтения
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 62

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_ac82f1102bb9593764a654dfbedb88328.html b/docs/cdt/classeosio_1_1datastream_ac82f1102bb9593764a654dfbedb88328.html new file mode 100644 index 000000000..0d06f2030 --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_ac82f1102bb9593764a654dfbedb88328.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::seekp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ seekp()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
bool eosio::datastream< T >::seekp (size_t p)
+
+inline
+
+

Устанавливает позицию в текущем потоке

+
Аргументы
+ + +
p- Смещение относительно начала
+
+
+
Возвращает
true, если p в пределах диапазона
+
+false, если p вне диапазона
+ +

См. определение в файле datastream.hpp строка 159

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_ad0a23aa024810028ce8669627577859d.html b/docs/cdt/classeosio_1_1datastream_ad0a23aa024810028ce8669627577859d.html new file mode 100644 index 000000000..4bf4d103f --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_ad0a23aa024810028ce8669627577859d.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::put + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ put()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
bool eosio::datastream< T >::put (char c)
+
+inline
+
+

Записывает байт в поток

+
Аргументы
+ + +
cБайт для записи
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 115

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_ae468391ad509e1b5bd2a9c7332f4802c.html b/docs/cdt/classeosio_1_1datastream_ae468391ad509e1b5bd2a9c7332f4802c.html new file mode 100644 index 000000000..c5b98479c --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_ae468391ad509e1b5bd2a9c7332f4802c.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::write + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ write() [1/3]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
bool eosio::datastream< T >::write (char d)
+
+inline
+
+

Записывает один байт в поток из буфера

+
Аргументы
+ + +
d- Байт для записи
+
+
+
Возвращает
true
+ +

См. определение в файле datastream.hpp строка 89

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1datastream_af57bc94263dc08eb60b910a53645a052.html b/docs/cdt/classeosio_1_1datastream_af57bc94263dc08eb60b910a53645a052.html new file mode 100644 index 000000000..4b2da71fc --- /dev/null +++ b/docs/cdt/classeosio_1_1datastream_af57bc94263dc08eb60b910a53645a052.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::datastream::remaining + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ remaining()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
size_t eosio::datastream< T >::remaining () const
+
+inline
+
+

Возвращает число оставшихся байт, доступных для чтения/пропуска

+
Возвращает
size_t - Число оставшихся байт
+ +

См. определение в файле datastream.hpp строка 173

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1extended__symbol-members.html b/docs/cdt/classeosio_1_1extended__symbol-members.html new file mode 100644 index 000000000..43012e354 --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol-members.html @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::extended_symbol Cписок членов класса
+
+
+ +

Полный список членов класса eosio::extended_symbol, включая наследуемые из базового класса

+ + + + + + + + + +
extended_symbol()eosio::extended_symbolinline
extended_symbol(symbol s, name con)eosio::extended_symbolinline
get_contract() consteosio::extended_symbolinline
get_symbol() consteosio::extended_symbolinline
operator!=eosio::extended_symbolfriend
operator<eosio::extended_symbolfriend
operator==eosio::extended_symbolfriend
print(bool show_precision=true) consteosio::extended_symbolinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1extended__symbol.html b/docs/cdt/classeosio_1_1extended__symbol.html new file mode 100644 index 000000000..d4551c324 --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::extended_symbol + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <symbol.hpp>

+ + + + + + + + + + + + + +

+Открытые члены

constexpr extended_symbol ()
 
constexpr extended_symbol (symbol s, name con)
 
constexpr symbol get_symbol () const
 
constexpr name get_contract () const
 
void print (bool show_precision=true) const
 Вывод расширенного символа Подробнее...
 
+ + + + + + + +

+Друзья

constexpr bool operator== (const extended_symbol &a, const extended_symbol &b)
 
constexpr bool operator!= (const extended_symbol &a, const extended_symbol &b)
 
constexpr bool operator< (const extended_symbol &a, const extended_symbol &b)
 
+

Подробное описание

+

Расширенный символ: символ токена и контракт-эмитент в сети COOPOS

+ +

См. определение в файле symbol.hpp строка 380

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1extended__symbol.js b/docs/cdt/classeosio_1_1extended__symbol.js new file mode 100644 index 000000000..28b184a89 --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol.js @@ -0,0 +1,11 @@ +var classeosio_1_1extended__symbol = +[ + [ "extended_symbol", "classeosio_1_1extended__symbol_a56dc99d1a5b4a6edb9366d2b3f64b4f7.html#a56dc99d1a5b4a6edb9366d2b3f64b4f7", null ], + [ "extended_symbol", "classeosio_1_1extended__symbol_aa9ebafeb8a32c6b0965de82f407a9730.html#aa9ebafeb8a32c6b0965de82f407a9730", null ], + [ "get_contract", "classeosio_1_1extended__symbol_aa215d71db628ab457c8eff30912eae82.html#aa215d71db628ab457c8eff30912eae82", null ], + [ "get_symbol", "classeosio_1_1extended__symbol_a81b0741a1705ad99855aa375fe004b9d.html#a81b0741a1705ad99855aa375fe004b9d", null ], + [ "print", "classeosio_1_1extended__symbol_a2b1d5fafb307b27aab4274560a09866e.html#a2b1d5fafb307b27aab4274560a09866e", null ], + [ "operator!=", "classeosio_1_1extended__symbol_aafb631b64d0586016ca8ea499350820d.html#aafb631b64d0586016ca8ea499350820d", null ], + [ "operator<", "classeosio_1_1extended__symbol_afeaa211627f6df2a4f4f31aefedc6077.html#afeaa211627f6df2a4f4f31aefedc6077", null ], + [ "operator==", "classeosio_1_1extended__symbol_ad306b3eaac29fba58441578b179398bc.html#ad306b3eaac29fba58441578b179398bc", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1extended__symbol_a2b1d5fafb307b27aab4274560a09866e.html b/docs/cdt/classeosio_1_1extended__symbol_a2b1d5fafb307b27aab4274560a09866e.html new file mode 100644 index 000000000..d1077b51a --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol_a2b1d5fafb307b27aab4274560a09866e.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_symbol::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print()

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::extended_symbol::print (bool show_precision = true) const
+
+inline
+
+ +

Вывод расширенного символа

+

Печать расширенного символа в лог контракта COOPOS

+ +

См. определение в файле symbol.hpp строка 416

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1extended__symbol_a56dc99d1a5b4a6edb9366d2b3f64b4f7.html b/docs/cdt/classeosio_1_1extended__symbol_a56dc99d1a5b4a6edb9366d2b3f64b4f7.html new file mode 100644 index 000000000..81b0c4bb7 --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol_a56dc99d1a5b4a6edb9366d2b3f64b4f7.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_symbol::extended_symbol + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ extended_symbol() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
constexpr eosio::extended_symbol::extended_symbol ()
+
+inlineconstexpr
+
+

Конструктор по умолчанию

+ +

См. определение в файле symbol.hpp строка 387

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1extended__symbol_a81b0741a1705ad99855aa375fe004b9d.html b/docs/cdt/classeosio_1_1extended__symbol_a81b0741a1705ad99855aa375fe004b9d.html new file mode 100644 index 000000000..6b6f8f652 --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol_a81b0741a1705ad99855aa375fe004b9d.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_symbol::get_symbol + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_symbol()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr symbol eosio::extended_symbol::get_symbol () const
+
+inlineconstexpr
+
+

Символ без привязки к контракту

+
Возвращает
symbol
+ +

См. определение в файле symbol.hpp строка 402

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1extended__symbol_aa215d71db628ab457c8eff30912eae82.html b/docs/cdt/classeosio_1_1extended__symbol_aa215d71db628ab457c8eff30912eae82.html new file mode 100644 index 000000000..13e74a741 --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol_aa215d71db628ab457c8eff30912eae82.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_symbol::get_contract + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_contract()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr name eosio::extended_symbol::get_contract () const
+
+inlineconstexpr
+
+

Имя контракта-эмитента

+
Возвращает
name
+ +

См. определение в файле symbol.hpp строка 409

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1extended__symbol_aa9ebafeb8a32c6b0965de82f407a9730.html b/docs/cdt/classeosio_1_1extended__symbol_aa9ebafeb8a32c6b0965de82f407a9730.html new file mode 100644 index 000000000..aa3b0ffaf --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol_aa9ebafeb8a32c6b0965de82f407a9730.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_symbol::extended_symbol + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ extended_symbol() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr eosio::extended_symbol::extended_symbol (symbol s,
name con 
)
+
+inlineconstexpr
+
+

Создаёт extended_symbol по символу и имени контракта

+
Аргументы
+ + + +
sym— символ токена
con— имя контракта (эмитента)
+
+
+ +

См. определение в файле symbol.hpp строка 395

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1extended__symbol_aafb631b64d0586016ca8ea499350820d.html b/docs/cdt/classeosio_1_1extended__symbol_aafb631b64d0586016ca8ea499350820d.html new file mode 100644 index 000000000..4d4a7413c --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol_aafb631b64d0586016ca8ea499350820d.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_symbol::operator!= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator!=

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator!= (const extended_symbola,
const extended_symbolb 
)
+
+friend
+
+

Оператор неравенства

+
Возвращает
true — значения различаются
+ +

См. определение в файле symbol.hpp строка 435

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1extended__symbol_ad306b3eaac29fba58441578b179398bc.html b/docs/cdt/classeosio_1_1extended__symbol_ad306b3eaac29fba58441578b179398bc.html new file mode 100644 index 000000000..54cda05af --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol_ad306b3eaac29fba58441578b179398bc.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_symbol::operator== + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator==

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator== (const extended_symbola,
const extended_symbolb 
)
+
+friend
+
+

Оператор равенства

+
Возвращает
true — пары (символ, контракт) совпадают
+ +

См. определение в файле symbol.hpp строка 426

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1extended__symbol_afeaa211627f6df2a4f4f31aefedc6077.html b/docs/cdt/classeosio_1_1extended__symbol_afeaa211627f6df2a4f4f31aefedc6077.html new file mode 100644 index 000000000..4cd045758 --- /dev/null +++ b/docs/cdt/classeosio_1_1extended__symbol_afeaa211627f6df2a4f4f31aefedc6077.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_symbol::operator< + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator< (const extended_symbola,
const extended_symbolb 
)
+
+friend
+
+

Оператор «меньше» (лексикографически по паре символ, контракт)

+
Возвращает
true — a меньше b
+ +

См. определение в файле symbol.hpp строка 444

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes-members.html b/docs/cdt/classeosio_1_1fixed__bytes-members.html new file mode 100644 index 000000000..dce3bbfed --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes-members.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::fixed_bytes< Size > Cписок членов класса
+
+
+ +

Полный список членов класса eosio::fixed_bytes< Size >, включая наследуемые из базового класса

+ + + + + + + + + + + + + + +
data()eosio::fixed_bytes< Size >inline
extract_as_byte_array() consteosio::fixed_bytes< Size >inline
fixed_bytes()eosio::fixed_bytes< Size >inline
fixed_bytes(const std::array< word_t, num_words()> &arr)eosio::fixed_bytes< Size >inline
fixed_bytes(const std::array< Word, NumWords > &arr)eosio::fixed_bytes< Size >inline
fixed_bytes(const Word(&arr)[NumWords])eosio::fixed_bytes< Size >inline
get_array() consteosio::fixed_bytes< Size >inline
make_from_word_sequence(typename std::enable_if< std::is_integral< FirstWord >::value &&std::is_unsigned< FirstWord >::value &&!std::is_same< FirstWord, bool >::value &&sizeof(FirstWord)<=sizeof(word_t) &&all_true<(std::is_same< FirstWord, Rest >::value)... >::value, FirstWord >::type first_word, Rest... rest)eosio::fixed_bytes< Size >inlinestatic
num_words()eosio::fixed_bytes< Size >inlinestatic
padded_bytes()eosio::fixed_bytes< Size >inlinestatic
print() consteosio::fixed_bytes< Size >inline
size() consteosio::fixed_bytes< Size >inline
word_t typedefeosio::fixed_bytes< Size >
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes.html b/docs/cdt/classeosio_1_1fixed__bytes.html new file mode 100644 index 000000000..5b0d85647 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes.html @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон класса eosio::fixed_bytes< Size > + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <fixed_bytes.hpp>

+ + + + +

+Открытые типы

typedef uint128_t word_t
 
+ + + + + + + + + + + + + + + + + + + + + +

+Открытые члены

constexpr fixed_bytes ()
 
 fixed_bytes (const std::array< word_t, num_words()> &arr)
 
template<typename Word , size_t NumWords, typename Enable = typename std::enable_if<std::is_integral<Word>::value && std::is_unsigned<Word>::value && !std::is_same<Word, bool>::value && std::less<size_t>{}(sizeof(Word), sizeof(word_t))>::type>
 fixed_bytes (const std::array< Word, NumWords > &arr)
 
template<typename Word , size_t NumWords, typename Enable = typename std::enable_if<std::is_integral<Word>::value && std::is_unsigned<Word>::value && !std::is_same<Word, bool>::value && std::less<size_t>{}(sizeof(Word), sizeof(word_t))>::type>
 fixed_bytes (const Word(&arr)[NumWords])
 
const auto & get_array () const
 
auto data ()
 
auto size () const
 
std::array< uint8_t, Size > extract_as_byte_array () const
 
void print () const
 
+ + + + + + + + +

+Открытые статические члены

static constexpr size_t num_words ()
 
static constexpr size_t padded_bytes ()
 
template<typename FirstWord , typename... Rest>
static fixed_bytes< Size > make_from_word_sequence (typename std::enable_if< std::is_integral< FirstWord >::value &&std::is_unsigned< FirstWord >::value &&!std::is_same< FirstWord, bool >::value &&sizeof(FirstWord)<=sizeof(word_t) &&all_true<(std::is_same< FirstWord, Rest >::value)... >::value, FirstWord >::type first_word, Rest... rest)
 
+

Подробное описание

+
template<size_t Size>
+class eosio::fixed_bytes< Size >

Массив байт фиксированного размера с лексикографическим сравнением по словам

+
Параметры шаблона
+ + +
Size— размер в байтах
+
+
+ +

См. определение в файле fixed_bytes.hpp строка 54

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes.js b/docs/cdt/classeosio_1_1fixed__bytes.js new file mode 100644 index 000000000..4e13ab811 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes.js @@ -0,0 +1,13 @@ +var classeosio_1_1fixed__bytes = +[ + [ "word_t", "classeosio_1_1fixed__bytes_a33cae440afac79b5a925ac1eab43d41b.html#a33cae440afac79b5a925ac1eab43d41b", null ], + [ "fixed_bytes", "classeosio_1_1fixed__bytes_abb272f4e962fa15dd78633053bb63d31.html#abb272f4e962fa15dd78633053bb63d31", null ], + [ "fixed_bytes", "classeosio_1_1fixed__bytes_ad2ca84b3f4fcc67b99e6f7731825789d.html#ad2ca84b3f4fcc67b99e6f7731825789d", null ], + [ "fixed_bytes", "classeosio_1_1fixed__bytes_a6d082b4eb4541d6b311849939b5a6ea5.html#a6d082b4eb4541d6b311849939b5a6ea5", null ], + [ "fixed_bytes", "classeosio_1_1fixed__bytes_abdc3879046e86eaaf6e867bce216a5fd.html#abdc3879046e86eaaf6e867bce216a5fd", null ], + [ "data", "classeosio_1_1fixed__bytes_a08cee20b3d10e105992a915b35721eb7.html#a08cee20b3d10e105992a915b35721eb7", null ], + [ "extract_as_byte_array", "classeosio_1_1fixed__bytes_a59c51be9c3779cd907b33af7d41d1d4c.html#a59c51be9c3779cd907b33af7d41d1d4c", null ], + [ "get_array", "classeosio_1_1fixed__bytes_ac24c51c323af1034b5453fb5f117051f.html#ac24c51c323af1034b5453fb5f117051f", null ], + [ "print", "classeosio_1_1fixed__bytes_afeaa78eb715d55b40c00e4c542de64db.html#afeaa78eb715d55b40c00e4c542de64db", null ], + [ "size", "classeosio_1_1fixed__bytes_ac2d8051c8675cda490ae406ca35cdea4.html#ac2d8051c8675cda490ae406ca35cdea4", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1fixed__bytes_a08cee20b3d10e105992a915b35721eb7.html b/docs/cdt/classeosio_1_1fixed__bytes_a08cee20b3d10e105992a915b35721eb7.html new file mode 100644 index 000000000..356e59099 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_a08cee20b3d10e105992a915b35721eb7.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::data + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ data()

+ +
+
+
+template<size_t Size>
+ + + + + +
+ + + + + + + +
auto eosio::fixed_bytes< Size >::data ()
+
+inline
+
+

Указатель на сырые данные массива слов

+ +

См. определение в файле fixed_bytes.hpp строка 197

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_a33cae440afac79b5a925ac1eab43d41b.html b/docs/cdt/classeosio_1_1fixed__bytes_a33cae440afac79b5a925ac1eab43d41b.html new file mode 100644 index 000000000..bb2270407 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_a33cae440afac79b5a925ac1eab43d41b.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::word_t + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ word_t

+ +
+
+
+template<size_t Size>
+ + + + +
typedef uint128_t eosio::fixed_bytes< Size >::word_t
+
+ +

См. определение в файле fixed_bytes.hpp строка 94

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_a59c51be9c3779cd907b33af7d41d1d4c.html b/docs/cdt/classeosio_1_1fixed__bytes_a59c51be9c3779cd907b33af7d41d1d4c.html new file mode 100644 index 000000000..d3103fe53 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_a59c51be9c3779cd907b33af7d41d1d4c.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::extract_as_byte_array + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ extract_as_byte_array()

+ +
+
+
+template<size_t Size>
+ + + + + +
+ + + + + + + +
std::array< uint8_t, Size > eosio::fixed_bytes< Size >::extract_as_byte_array () const
+
+inline
+
+

Извлекает байты фиксированной длины Size в порядке старшинства для сериализации

+
Возвращает
массив из Size байт
+ +

См. определение в файле fixed_bytes.hpp строка 219

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_a624f3e2c6a33a0197b0d59c6995c47d8.html b/docs/cdt/classeosio_1_1fixed__bytes_a624f3e2c6a33a0197b0d59c6995c47d8.html new file mode 100644 index 000000000..a8d1b208a --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_a624f3e2c6a33a0197b0d59c6995c47d8.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::num_words + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ num_words()

+ +
+
+
+template<size_t Size>
+ + + + + +
+ + + + + + + +
static constexpr size_t eosio::fixed_bytes< Size >::num_words ()
+
+inlinestaticconstexpr
+
+

Число «слов» (word_t) внутри объекта; размер слова — 16 байт (uint128_t)

+ +

См. определение в файле fixed_bytes.hpp строка 100

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_a6d082b4eb4541d6b311849939b5a6ea5.html b/docs/cdt/classeosio_1_1fixed__bytes_a6d082b4eb4541d6b311849939b5a6ea5.html new file mode 100644 index 000000000..66b07ab04 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_a6d082b4eb4541d6b311849939b5a6ea5.html @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::fixed_bytes + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ fixed_bytes() [3/4]

+ +
+
+
+template<size_t Size>
+
+template<typename Word , size_t NumWords, typename Enable = typename std::enable_if<std::is_integral<Word>::value && std::is_unsigned<Word>::value && !std::is_same<Word, bool>::value && std::less<size_t>{}(sizeof(Word), sizeof(word_t))>::type>
+ + + + + +
+ + + + + + + + +
eosio::fixed_bytes< Size >::fixed_bytes (const std::array< Word, NumWords > & arr)
+
+inline
+
+

Конструктор из std::array слов Word меньше word_t (сборка в слова хранения)

+
Аргументы
+ + +
arr— исходные данные
+
+
+ +

См. определение в файле fixed_bytes.hpp строка 132

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_ab841ca6465a6867b18001738e01e5c22.html b/docs/cdt/classeosio_1_1fixed__bytes_ab841ca6465a6867b18001738e01e5c22.html new file mode 100644 index 000000000..3faac1472 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_ab841ca6465a6867b18001738e01e5c22.html @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::make_from_word_sequence + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ make_from_word_sequence()

+ +
+
+
+template<size_t Size>
+
+template<typename FirstWord , typename... Rest>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static fixed_bytes< Size > eosio::fixed_bytes< Size >::make_from_word_sequence (typename std::enable_if< std::is_integral< FirstWord >::value &&std::is_unsigned< FirstWord >::value &&!std::is_same< FirstWord, bool >::value &&sizeof(FirstWord)<=sizeof(word_t) &&all_true<(std::is_same< FirstWord, Rest >::value)... >::value, FirstWord >::type first_word,
Rest... rest 
)
+
+inlinestatic
+
+

Создаёт fixed_bytes из последовательности слов (аргументы функции)

+
Параметры шаблона
+ + + +
FirstWord— тип первого слова
Rest— типы остальных слов
+
+
+
Аргументы
+ + + +
first_word— первое слово
rest— остальные слова
+
+
+ +

См. определение в файле fixed_bytes.hpp строка 171

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_abb272f4e962fa15dd78633053bb63d31.html b/docs/cdt/classeosio_1_1fixed__bytes_abb272f4e962fa15dd78633053bb63d31.html new file mode 100644 index 000000000..d1ec0b33c --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_abb272f4e962fa15dd78633053bb63d31.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::fixed_bytes + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ fixed_bytes() [1/4]

+ +
+
+
+template<size_t Size>
+ + + + + +
+ + + + + + + +
constexpr eosio::fixed_bytes< Size >::fixed_bytes ()
+
+inlineconstexpr
+
+

Конструктор по умолчанию; все байты нулевые

+ +

См. определение в файле fixed_bytes.hpp строка 110

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_abdc3879046e86eaaf6e867bce216a5fd.html b/docs/cdt/classeosio_1_1fixed__bytes_abdc3879046e86eaaf6e867bce216a5fd.html new file mode 100644 index 000000000..dfb40775f --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_abdc3879046e86eaaf6e867bce216a5fd.html @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::fixed_bytes + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ fixed_bytes() [4/4]

+ +
+
+
+template<size_t Size>
+
+template<typename Word , size_t NumWords, typename Enable = typename std::enable_if<std::is_integral<Word>::value && std::is_unsigned<Word>::value && !std::is_same<Word, bool>::value && std::less<size_t>{}(sizeof(Word), sizeof(word_t))>::type>
+ + + + + +
+ + + + + + + + +
eosio::fixed_bytes< Size >::fixed_bytes (const Word(&) arr[NumWords])
+
+inline
+
+

Конструктор из C-массива слов Word меньше word_t

+
Аргументы
+ + +
arr— исходные данные
+
+
+ +

См. определение в файле fixed_bytes.hpp строка 151

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_ac24c51c323af1034b5453fb5f117051f.html b/docs/cdt/classeosio_1_1fixed__bytes_ac24c51c323af1034b5453fb5f117051f.html new file mode 100644 index 000000000..3a9281829 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_ac24c51c323af1034b5453fb5f117051f.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::get_array + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_array()

+ +
+
+
+template<size_t Size>
+ + + + + +
+ + + + + + + +
const auto & eosio::fixed_bytes< Size >::get_array () const
+
+inline
+
+

Константная ссылка на внутренний std::array слов

+ +

См. определение в файле fixed_bytes.hpp строка 192

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_ac2d8051c8675cda490ae406ca35cdea4.html b/docs/cdt/classeosio_1_1fixed__bytes_ac2d8051c8675cda490ae406ca35cdea4.html new file mode 100644 index 000000000..081b588b6 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_ac2d8051c8675cda490ae406ca35cdea4.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::size + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ size()

+ +
+
+
+template<size_t Size>
+ + + + + +
+ + + + + + + +
auto eosio::fixed_bytes< Size >::size () const
+
+inline
+
+

Число слов word_t во внутреннем массиве

+ +

См. определение в файле fixed_bytes.hpp строка 211

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_ad2ca84b3f4fcc67b99e6f7731825789d.html b/docs/cdt/classeosio_1_1fixed__bytes_ad2ca84b3f4fcc67b99e6f7731825789d.html new file mode 100644 index 000000000..b3d184fd1 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_ad2ca84b3f4fcc67b99e6f7731825789d.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::fixed_bytes + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ fixed_bytes() [2/4]

+ +
+
+
+template<size_t Size>
+ + + + + +
+ + + + + + + + +
eosio::fixed_bytes< Size >::fixed_bytes (const std::array< word_t, num_words()> & arr)
+
+inline
+
+

Конструктор из std::array из num_words() элементов word_t

+
Аргументы
+ + +
arr— исходные данные
+
+
+ +

См. определение в файле fixed_bytes.hpp строка 117

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_aeaa53faaa1a06cbc7693faeb57d3ed9a.html b/docs/cdt/classeosio_1_1fixed__bytes_aeaa53faaa1a06cbc7693faeb57d3ed9a.html new file mode 100644 index 000000000..5f3f5dc91 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_aeaa53faaa1a06cbc7693faeb57d3ed9a.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::padded_bytes + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ padded_bytes()

+ +
+
+
+template<size_t Size>
+ + + + + +
+ + + + + + + +
static constexpr size_t eosio::fixed_bytes< Size >::padded_bytes ()
+
+inlinestaticconstexpr
+
+

Число дополняющих (неиспользуемых) байт в последнем слове после выравнивания по word_t

+ +

См. определение в файле fixed_bytes.hpp строка 105

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1fixed__bytes_afeaa78eb715d55b40c00e4c542de64db.html b/docs/cdt/classeosio_1_1fixed__bytes_afeaa78eb715d55b40c00e4c542de64db.html new file mode 100644 index 000000000..ddb0e57f3 --- /dev/null +++ b/docs/cdt/classeosio_1_1fixed__bytes_afeaa78eb715d55b40c00e4c542de64db.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::fixed_bytes::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print()

+ +
+
+
+template<size_t Size>
+ + + + + +
+ + + + + + + +
void eosio::fixed_bytes< Size >::print () const
+
+inline
+
+

Печать в шестнадцатеричном виде в лог контракта COOPOS

+ +

См. определение в файле fixed_bytes.hpp строка 249

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1iostream.html b/docs/cdt/classeosio_1_1iostream.html new file mode 100644 index 000000000..5e68b29cb --- /dev/null +++ b/docs/cdt/classeosio_1_1iostream.html @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::iostream + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Класс eosio::iostream
+
+
+ +

#include <print.hpp>

+

Подробное описание

+

Имитация потоков в стиле C++

+ +

См. определение в файле print.hpp строка 242

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1microseconds-members.html b/docs/cdt/classeosio_1_1microseconds-members.html new file mode 100644 index 000000000..5901bd728 --- /dev/null +++ b/docs/cdt/classeosio_1_1microseconds-members.html @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::microseconds Cписок членов класса
+
+
+ +

Полный список членов класса eosio::microseconds, включая наследуемые из базового класса

+ + + +
microseconds(int64_t c=0)eosio::microsecondsinlineexplicit
time_pointeosio::microsecondsfriend
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1microseconds.html b/docs/cdt/classeosio_1_1microseconds.html new file mode 100644 index 000000000..7bf51dd27 --- /dev/null +++ b/docs/cdt/classeosio_1_1microseconds.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::microseconds + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <time.hpp>

+ + + + +

+Открытые члены

 microseconds (int64_t c=0)
 
+ + + +

+Друзья

class time_point
 
+

Подробное описание

+
+

См. определение в файле time.hpp строка 19

+

Объявления и описания членов класса находятся в файле:
    +
  • libraries/eosiolib/core/eosio/time.hpp
  • +
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1microseconds.js b/docs/cdt/classeosio_1_1microseconds.js new file mode 100644 index 000000000..5d0aa8cd4 --- /dev/null +++ b/docs/cdt/classeosio_1_1microseconds.js @@ -0,0 +1,5 @@ +var classeosio_1_1microseconds = +[ + [ "microseconds", "classeosio_1_1microseconds_a59aa821c27e2073ede1ddf759e26317f.html#a59aa821c27e2073ede1ddf759e26317f", null ], + [ "time_point", "classeosio_1_1microseconds_aaba1d7b327cc33fcbaf19e870d0c1733.html#aaba1d7b327cc33fcbaf19e870d0c1733", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1microseconds_a59aa821c27e2073ede1ddf759e26317f.html b/docs/cdt/classeosio_1_1microseconds_a59aa821c27e2073ede1ddf759e26317f.html new file mode 100644 index 000000000..50fb6ef9a --- /dev/null +++ b/docs/cdt/classeosio_1_1microseconds_a59aa821c27e2073ede1ddf759e26317f.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::microseconds::microseconds + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ microseconds()

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::microseconds::microseconds (int64_t c = 0)
+
+inlineexplicit
+
+ +

См. определение в файле time.hpp строка 21

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1microseconds_aaba1d7b327cc33fcbaf19e870d0c1733.html b/docs/cdt/classeosio_1_1microseconds_aaba1d7b327cc33fcbaf19e870d0c1733.html new file mode 100644 index 000000000..cb019140c --- /dev/null +++ b/docs/cdt/classeosio_1_1microseconds_aaba1d7b327cc33fcbaf19e870d0c1733.html @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::microseconds::time_point + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ time_point

+ +
+
+ + + + + +
+ + + + +
friend class time_point
+
+friend
+
+ +

См. определение в файле time.hpp строка 44

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1multi__index-members.html b/docs/cdt/classeosio_1_1multi__index-members.html new file mode 100644 index 000000000..a31c265f0 --- /dev/null +++ b/docs/cdt/classeosio_1_1multi__index-members.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::multi_index< TableName, T, Indices > Cписок членов класса
+
+
+ +

Полный список членов класса eosio::multi_index< TableName, T, Indices >, включая наследуемые из базового класса

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
available_primary_key() consteosio::multi_index< TableName, T, Indices >inline
begin() consteosio::multi_index< TableName, T, Indices >inline
cbegin() consteosio::multi_index< TableName, T, Indices >inline
cend() consteosio::multi_index< TableName, T, Indices >inline
const_reverse_iterator typedefeosio::multi_index< TableName, T, Indices >
crbegin() consteosio::multi_index< TableName, T, Indices >inline
crend() consteosio::multi_index< TableName, T, Indices >inline
emplace(name payer, Lambda &&constructor)eosio::multi_index< TableName, T, Indices >inline
end() consteosio::multi_index< TableName, T, Indices >inline
erase(const_iterator itr)eosio::multi_index< TableName, T, Indices >inline
erase(const T &obj)eosio::multi_index< TableName, T, Indices >inline
find(PK primary) consteosio::multi_index< TableName, T, Indices >inline
get(PK primary, const char *error_msg="unable to find key") consteosio::multi_index< TableName, T, Indices >inline
get_code() consteosio::multi_index< TableName, T, Indices >inline
get_index()eosio::multi_index< TableName, T, Indices >inline
get_index() consteosio::multi_index< TableName, T, Indices >inline
get_scope() consteosio::multi_index< TableName, T, Indices >inline
iterator_to(const T &obj) consteosio::multi_index< TableName, T, Indices >inline
lower_bound(PK primary) consteosio::multi_index< TableName, T, Indices >inline
modify(const_iterator itr, name payer, Lambda &&updater)eosio::multi_index< TableName, T, Indices >inline
modify(const T &obj, name payer, Lambda &&updater)eosio::multi_index< TableName, T, Indices >inline
multi_index(name code, uint64_t scope)eosio::multi_index< TableName, T, Indices >inline
rbegin() consteosio::multi_index< TableName, T, Indices >inline
rend() consteosio::multi_index< TableName, T, Indices >inline
require_find(PK primary, const char *error_msg="unable to find key") consteosio::multi_index< TableName, T, Indices >inline
upper_bound(PK primary) consteosio::multi_index< TableName, T, Indices >inline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1multi__index.html b/docs/cdt/classeosio_1_1multi__index.html new file mode 100644 index 000000000..cbf64662f --- /dev/null +++ b/docs/cdt/classeosio_1_1multi__index.html @@ -0,0 +1,295 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон класса eosio::multi_index< TableName, T, Indices > + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Определяет многоиндексную таблицу COOPOS (Multi Index Table) + Подробнее...

+ +

#include <multi_index.hpp>

+ + + + +

+Классы

struct  const_iterator
 
+ + + + +

+Открытые типы

typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 struct multi_index::const_iterator Подробнее...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Открытые члены

 multi_index (name code, uint64_t scope)
 load_object_by_primary_iterator Подробнее...
 
name get_code () const
 
uint64_t get_scope () const
 
const_iterator cbegin () const
 
const_iterator begin () const
 
const_iterator cend () const
 
const_iterator end () const
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator crend () const
 
const_reverse_iterator rend () const
 
template<typename PK >
const_iterator lower_bound (PK primary) const
 
template<typename PK >
const_iterator upper_bound (PK primary) const
 
uint64_t available_primary_key () const
 
template<name::raw IndexName>
auto get_index ()
 
template<name::raw IndexName>
auto get_index () const
 
const_iterator iterator_to (const T &obj) const
 
template<typename Lambda >
const_iterator emplace (name payer, Lambda &&constructor)
 
template<typename Lambda >
void modify (const_iterator itr, name payer, Lambda &&updater)
 
template<typename Lambda >
void modify (const T &obj, name payer, Lambda &&updater)
 
template<typename PK >
const T & get (PK primary, const char *error_msg="unable to find key") const
 
template<typename PK >
const_iterator find (PK primary) const
 
template<typename PK >
const_iterator require_find (PK primary, const char *error_msg="unable to find key") const
 
const_iterator erase (const_iterator itr)
 
void erase (const T &obj)
 
+

Подробное описание

+
template<name::raw TableName, typename T, typename... Indices>
+class eosio::multi_index< TableName, T, Indices >

Определяет многоиндексную таблицу COOPOS (Multi Index Table)

+

API многоиндексных таблиц COOPOS даёт C++-интерфейс к базе данных COOPOS и устроен по образцу Boost Multi Index Container. Многоиндексная таблица COOPOS требует ровно один первичный ключ типа uint64_t. Чтобы таблица могла получать первичный ключ, у хранимого в ней объекта должна быть const-функция-член primary_key(), возвращающая uint64_t. Многоиндексная таблица COOPOS также поддерживает до 16 вторичных индексов. Тип вторичного индекса может быть одним из:

    +
  • uint64_t
  • +
  • uint128_t
  • +
  • double
  • +
  • long double
  • +
  • eosio::checksum256
  • +
+
Параметры шаблона
+ + + + +
TableName— имя таблицы
T— тип данных, хранимых в таблице
Indices— вторичные индексы таблицы; поддерживается до 16 индексов
+
+
+

Пример:

+
#include <eosiolib/eosio.hpp>
+
using namespace eosio;
+
class mycontract: contract {
+
struct record {
+
uint64_t primary;
+
uint64_t secondary_1;
+
uint128_t secondary_2;
+
checksum256 secondary_3;
+
double secondary_4;
+
long double secondary_5;
+
uint64_t primary_key() const { return primary; }
+
uint64_t get_secondary_1() const { return secondary_1; }
+
uint128_t get_secondary_2() const { return secondary_2; }
+
checksum256 get_secondary_3() const { return secondary_3; }
+
double get_secondary_4() const { return secondary_4; }
+
long double get_secondary_5() const { return secondary_5; }
+
};
+
public:
+
mycontract(name receiver, name code, datastream<const char*> ds):contract(receiver, code, ds){}
+
void myaction() {
+
auto code = _self;
+
auto scope = _self;
+
multi_index<"mytable"_n, record,
+
indexed_by< "bysecondary1"_n, const_mem_fun<record, uint64_t, &record::get_secondary_1> >,
+
indexed_by< "bysecondary2"_n, const_mem_fun<record, uint128_t, &record::get_secondary_2> >,
+
indexed_by< "bysecondary3"_n, const_mem_fun<record, checksum256, &record::get_secondary_3> >,
+
indexed_by< "bysecondary4"_n, const_mem_fun<record, double, &record::get_secondary_4> >,
+
indexed_by< "bysecondary5"_n, const_mem_fun<record, long double, &record::get_secondary_5> >
+
> table( code, scope);
+
}
+
}
+
EOSIO_DISPATCH( mycontract, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 438

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1multi__index.js b/docs/cdt/classeosio_1_1multi__index.js new file mode 100644 index 000000000..705cd670f --- /dev/null +++ b/docs/cdt/classeosio_1_1multi__index.js @@ -0,0 +1,30 @@ +var classeosio_1_1multi__index = +[ + [ "const_iterator", "structeosio_1_1multi__index_1_1const__iterator.html", "structeosio_1_1multi__index_1_1const__iterator" ], + [ "const_reverse_iterator", "classeosio_1_1multi__index_ab46b850d4d0d3da39cd96e77ec10c51e.html#ab46b850d4d0d3da39cd96e77ec10c51e", null ], + [ "multi_index", "group__multiindex_gaa081f69f6fa288869d1d5881f0be04dd.html#gaa081f69f6fa288869d1d5881f0be04dd", null ], + [ "available_primary_key", "group__multiindex_ga1b2d26324eb34354f5db2abcf2d87853.html#ga1b2d26324eb34354f5db2abcf2d87853", null ], + [ "begin", "group__multiindex_ga060b08a9da300e3a4ab669b35f07c9bc.html#ga060b08a9da300e3a4ab669b35f07c9bc", null ], + [ "cbegin", "group__multiindex_ga36ad6b1c1013b6f753660b334de96aef.html#ga36ad6b1c1013b6f753660b334de96aef", null ], + [ "cend", "group__multiindex_gaece639944fa9031debbd984bbd42485a.html#gaece639944fa9031debbd984bbd42485a", null ], + [ "crbegin", "group__multiindex_gabe296816f75cdb69e6698724e7b0c29d.html#gabe296816f75cdb69e6698724e7b0c29d", null ], + [ "crend", "group__multiindex_ga6ce680bcec3a391e0ad89a1cd1143231.html#ga6ce680bcec3a391e0ad89a1cd1143231", null ], + [ "emplace", "group__multiindex_gab64fbf4dd04be357ec0cbbf125a3da5e.html#gab64fbf4dd04be357ec0cbbf125a3da5e", null ], + [ "end", "group__multiindex_ga748fcb4d6a08962ad8a7c92da359e3d7.html#ga748fcb4d6a08962ad8a7c92da359e3d7", null ], + [ "erase", "group__multiindex_gac5f84064eacb4265ad44f15cecebb4be.html#gac5f84064eacb4265ad44f15cecebb4be", null ], + [ "erase", "group__multiindex_gad28ac8d91e9af22cbbc12962a805d253.html#gad28ac8d91e9af22cbbc12962a805d253", null ], + [ "find", "group__multiindex_ga93e51f6a53639f1a45c352f67f5ba3ae.html#ga93e51f6a53639f1a45c352f67f5ba3ae", null ], + [ "get", "group__multiindex_ga02c39a16f0ff568d297f25eb7ed88ac3.html#ga02c39a16f0ff568d297f25eb7ed88ac3", null ], + [ "get_code", "group__multiindex_ga6ef0fb806ad6edf50b670a115fc3d5a1.html#ga6ef0fb806ad6edf50b670a115fc3d5a1", null ], + [ "get_index", "group__multiindex_ga98fecc3166ebb3746ee810f7f7d9beac.html#ga98fecc3166ebb3746ee810f7f7d9beac", null ], + [ "get_index", "group__multiindex_gae6e01877b9862c8193df27f05c305f2c.html#gae6e01877b9862c8193df27f05c305f2c", null ], + [ "get_scope", "group__multiindex_ga0690e9e9a30254240fa0cb6bb12bebf3.html#ga0690e9e9a30254240fa0cb6bb12bebf3", null ], + [ "iterator_to", "group__multiindex_gad611e3ff51efdf038b934138d071cf83.html#gad611e3ff51efdf038b934138d071cf83", null ], + [ "lower_bound", "group__multiindex_ga40c5a0709cff9dbeb7d9e79738d43f53.html#ga40c5a0709cff9dbeb7d9e79738d43f53", null ], + [ "modify", "group__multiindex_gab44fb8b993970f1b3b7ac5f37cd2d2c9.html#gab44fb8b993970f1b3b7ac5f37cd2d2c9", null ], + [ "modify", "group__multiindex_ga4b3556ef69c7faa917f185ae33a34442.html#ga4b3556ef69c7faa917f185ae33a34442", null ], + [ "rbegin", "group__multiindex_gacdc14cc71a43489507341d2709696e7d.html#gacdc14cc71a43489507341d2709696e7d", null ], + [ "rend", "group__multiindex_ga659b2744975d0a54162c44fbcbc28115.html#ga659b2744975d0a54162c44fbcbc28115", null ], + [ "require_find", "group__multiindex_ga50321aa0c8fbdc67768d421950c2ee14.html#ga50321aa0c8fbdc67768d421950c2ee14", null ], + [ "upper_bound", "group__multiindex_ga0170e32a35c3760661784c229d3a9b1a.html#ga0170e32a35c3760661784c229d3a9b1a", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1multi__index_ab46b850d4d0d3da39cd96e77ec10c51e.html b/docs/cdt/classeosio_1_1multi__index_ab46b850d4d0d3da39cd96e77ec10c51e.html new file mode 100644 index 000000000..dd10ae1d6 --- /dev/null +++ b/docs/cdt/classeosio_1_1multi__index_ab46b850d4d0d3da39cd96e77ec10c51e.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::const_reverse_iterator + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ const_reverse_iterator

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + +
typedef std::reverse_iterator<const_iterator> eosio::multi_index< TableName, T, Indices >::const_reverse_iterator
+
+ +

struct multi_index::const_iterator

+ +

См. определение в файле multi_index.hpp строка 999

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope-members.html b/docs/cdt/classeosio_1_1rope-members.html new file mode 100644 index 000000000..9129f9b8e --- /dev/null +++ b/docs/cdt/classeosio_1_1rope-members.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::rope Cписок членов класса
+
+
+ +

Полный список членов класса eosio::rope, включая наследуемые из базового класса

+ + + + + + + + + + + + + + + + + + + +
append(const char(&s)[N])eosio::ropeinline
append(const char *s, size_t len)eosio::ropeinline
append(const rope &r)eosio::ropeinline
append(rope &&r)eosio::ropeinline
at(size_t index)eosio::ropeinline
c_str() consteosio::ropeinline
length()eosio::ropeinline
operator+eosio::ropefriend
operator+eosio::ropefriend
operator+eosio::ropefriend
operator+=(const char *s)eosio::ropeinline
operator+=(const rope &r)eosio::ropeinline
operator+=(rope &&r)eosio::ropeinline
operator[](size_t index)eosio::ropeinline
print() consteosio::ropeinline
rope(const char *s)eosio::ropeinline
rope(std::string_view s="")eosio::ropeinline
sv() consteosio::ropeinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope.html b/docs/cdt/classeosio_1_1rope.html new file mode 100644 index 000000000..53eb87afc --- /dev/null +++ b/docs/cdt/classeosio_1_1rope.html @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::rope + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <rope.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Открытые члены

 rope (const char *s)
 
 rope (std::string_view s="")
 
template<size_t N>
constexpr void append (const char(&s)[N])
 
void append (const char *s, size_t len)
 
constexpr char at (size_t index)
 
constexpr void append (const rope &r)
 
constexpr void append (rope &&r)
 
constexpr char operator[] (size_t index)
 
constexpr ropeoperator+= (const char *s)
 
constexpr ropeoperator+= (const rope &r)
 
constexpr ropeoperator+= (rope &&r)
 
constexpr size_t length ()
 
void print () const
 
char * c_str () const
 
std::string_view sv () const
 
+ + + + + + + +

+Друзья

rope operator+ (rope lhs, const char *s)
 
rope operator+ (rope lhs, const rope &rhs)
 
rope operator+ (rope lhs, rope &&rhs)
 
+

Подробное описание

+
+

См. определение в файле rope.hpp строка 34

+

Объявления и описания членов класса находятся в файле:
    +
  • libraries/eosiolib/core/eosio/rope.hpp
  • +
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope.js b/docs/cdt/classeosio_1_1rope.js new file mode 100644 index 000000000..f088f053b --- /dev/null +++ b/docs/cdt/classeosio_1_1rope.js @@ -0,0 +1,21 @@ +var classeosio_1_1rope = +[ + [ "rope", "classeosio_1_1rope_aea2f5203db95839a376250f3c29e80f7.html#aea2f5203db95839a376250f3c29e80f7", null ], + [ "rope", "classeosio_1_1rope_a99225aa178aa038001e8f68d51a8aa57.html#a99225aa178aa038001e8f68d51a8aa57", null ], + [ "append", "classeosio_1_1rope_ab0a0ba2be3a91de71ec2fc919ad73974.html#ab0a0ba2be3a91de71ec2fc919ad73974", null ], + [ "append", "classeosio_1_1rope_a41bb00d1ad6f0022a0de52984c524246.html#a41bb00d1ad6f0022a0de52984c524246", null ], + [ "append", "classeosio_1_1rope_a87cd18373790ef056244f4a0e09b8f75.html#a87cd18373790ef056244f4a0e09b8f75", null ], + [ "append", "classeosio_1_1rope_a480943c8c8407a36d77e14ff9d810dfe.html#a480943c8c8407a36d77e14ff9d810dfe", null ], + [ "at", "classeosio_1_1rope_a1a05bd4dc4277bc66f4dc3f37858c02d.html#a1a05bd4dc4277bc66f4dc3f37858c02d", null ], + [ "c_str", "classeosio_1_1rope_ab22f02eea1291499396242f9653db777.html#ab22f02eea1291499396242f9653db777", null ], + [ "length", "classeosio_1_1rope_a55c20ad2f4bddfe33423fc078a33f478.html#a55c20ad2f4bddfe33423fc078a33f478", null ], + [ "operator+=", "classeosio_1_1rope_a9c52934d5f70e38a50a46bc4a8c3b889.html#a9c52934d5f70e38a50a46bc4a8c3b889", null ], + [ "operator+=", "classeosio_1_1rope_afd7a932ec6f8603e333dc85f1284d6e2.html#afd7a932ec6f8603e333dc85f1284d6e2", null ], + [ "operator+=", "classeosio_1_1rope_a3ea975b0ce1bf20ad565745fb8fef46f.html#a3ea975b0ce1bf20ad565745fb8fef46f", null ], + [ "operator[]", "classeosio_1_1rope_a4c40c4f43561b05f6fe16edf7adbaef8.html#a4c40c4f43561b05f6fe16edf7adbaef8", null ], + [ "print", "classeosio_1_1rope_acee48b4685b912e110c24f4cbd9caa4d.html#acee48b4685b912e110c24f4cbd9caa4d", null ], + [ "sv", "classeosio_1_1rope_aa977c345d7cd7d9b0ecd35c306a36983.html#aa977c345d7cd7d9b0ecd35c306a36983", null ], + [ "operator+", "classeosio_1_1rope_aa882baad43917693e1f93b5e546eb4d8.html#aa882baad43917693e1f93b5e546eb4d8", null ], + [ "operator+", "classeosio_1_1rope_a36e6c3ae93eb1350bd138347edebe939.html#a36e6c3ae93eb1350bd138347edebe939", null ], + [ "operator+", "classeosio_1_1rope_a7bb3cd3347e4718e40e175d6c76a5f2a.html#a7bb3cd3347e4718e40e175d6c76a5f2a", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1rope_a1a05bd4dc4277bc66f4dc3f37858c02d.html b/docs/cdt/classeosio_1_1rope_a1a05bd4dc4277bc66f4dc3f37858c02d.html new file mode 100644 index 000000000..554b4cc66 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a1a05bd4dc4277bc66f4dc3f37858c02d.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::at + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ at()

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr char eosio::rope::at (size_t index)
+
+inlineconstexpr
+
+ +

См. определение в файле rope.hpp строка 157

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_a36e6c3ae93eb1350bd138347edebe939.html b/docs/cdt/classeosio_1_1rope_a36e6c3ae93eb1350bd138347edebe939.html new file mode 100644 index 000000000..c9c9634a7 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a36e6c3ae93eb1350bd138347edebe939.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::operator+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator+ [2/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
rope operator+ (rope lhs,
const roperhs 
)
+
+friend
+
+ +

См. определение в файле rope.hpp строка 198

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_a3ea975b0ce1bf20ad565745fb8fef46f.html b/docs/cdt/classeosio_1_1rope_a3ea975b0ce1bf20ad565745fb8fef46f.html new file mode 100644 index 000000000..3a4b8016a --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a3ea975b0ce1bf20ad565745fb8fef46f.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::operator+= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator+=() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr rope & eosio::rope::operator+= (rope && r)
+
+inlineconstexpr
+
+ +

См. определение в файле rope.hpp строка 188

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_a41bb00d1ad6f0022a0de52984c524246.html b/docs/cdt/classeosio_1_1rope_a41bb00d1ad6f0022a0de52984c524246.html new file mode 100644 index 000000000..8d220bd2b --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a41bb00d1ad6f0022a0de52984c524246.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::append + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ append() [2/4]

+ +
+
+
+template<size_t N>
+ + + + + +
+ + + + + + + + +
constexpr void eosio::rope::append (const char(&) s[N])
+
+inlineconstexpr
+
+ +

См. определение в файле rope.hpp строка 146

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_a480943c8c8407a36d77e14ff9d810dfe.html b/docs/cdt/classeosio_1_1rope_a480943c8c8407a36d77e14ff9d810dfe.html new file mode 100644 index 000000000..e32975870 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a480943c8c8407a36d77e14ff9d810dfe.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::append + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ append() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr void eosio::rope::append (rope && r)
+
+inlineconstexpr
+
+ +

См. определение в файле rope.hpp строка 170

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_a4c40c4f43561b05f6fe16edf7adbaef8.html b/docs/cdt/classeosio_1_1rope_a4c40c4f43561b05f6fe16edf7adbaef8.html new file mode 100644 index 000000000..9939048b4 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a4c40c4f43561b05f6fe16edf7adbaef8.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::operator[] + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator[]()

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr char eosio::rope::operator[] (size_t index)
+
+inlineconstexpr
+
+ +

См. определение в файле rope.hpp строка 175

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_a55c20ad2f4bddfe33423fc078a33f478.html b/docs/cdt/classeosio_1_1rope_a55c20ad2f4bddfe33423fc078a33f478.html new file mode 100644 index 000000000..e6852bef2 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a55c20ad2f4bddfe33423fc078a33f478.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::length + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ length()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr size_t eosio::rope::length ()
+
+inlineconstexpr
+
+ +

См. определение в файле rope.hpp строка 209

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_a7bb3cd3347e4718e40e175d6c76a5f2a.html b/docs/cdt/classeosio_1_1rope_a7bb3cd3347e4718e40e175d6c76a5f2a.html new file mode 100644 index 000000000..e86815a2c --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a7bb3cd3347e4718e40e175d6c76a5f2a.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::operator+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator+ [3/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
rope operator+ (rope lhs,
rope && rhs 
)
+
+friend
+
+ +

См. определение в файле rope.hpp строка 203

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_a87cd18373790ef056244f4a0e09b8f75.html b/docs/cdt/classeosio_1_1rope_a87cd18373790ef056244f4a0e09b8f75.html new file mode 100644 index 000000000..28a322892 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a87cd18373790ef056244f4a0e09b8f75.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::append + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ append() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr void eosio::rope::append (const roper)
+
+inlineconstexpr
+
+ +

См. определение в файле rope.hpp строка 165

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_a99225aa178aa038001e8f68d51a8aa57.html b/docs/cdt/classeosio_1_1rope_a99225aa178aa038001e8f68d51a8aa57.html new file mode 100644 index 000000000..c0d75385b --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a99225aa178aa038001e8f68d51a8aa57.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::rope + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ rope() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::rope::rope (std::string_view s = "")
+
+inline
+
+ +

См. определение в файле rope.hpp строка 140

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_a9c52934d5f70e38a50a46bc4a8c3b889.html b/docs/cdt/classeosio_1_1rope_a9c52934d5f70e38a50a46bc4a8c3b889.html new file mode 100644 index 000000000..a7d117a7d --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_a9c52934d5f70e38a50a46bc4a8c3b889.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::operator+= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator+=() [1/3]

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr rope & eosio::rope::operator+= (const char * s)
+
+inlineconstexpr
+
+ +

См. определение в файле rope.hpp строка 179

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_aa882baad43917693e1f93b5e546eb4d8.html b/docs/cdt/classeosio_1_1rope_aa882baad43917693e1f93b5e546eb4d8.html new file mode 100644 index 000000000..7a11c5e4f --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_aa882baad43917693e1f93b5e546eb4d8.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::operator+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator+ [1/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
rope operator+ (rope lhs,
const char * s 
)
+
+friend
+
+ +

См. определение в файле rope.hpp строка 193

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_aa977c345d7cd7d9b0ecd35c306a36983.html b/docs/cdt/classeosio_1_1rope_aa977c345d7cd7d9b0ecd35c306a36983.html new file mode 100644 index 000000000..a8244dcd2 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_aa977c345d7cd7d9b0ecd35c306a36983.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::sv + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ sv()

+ +
+
+ + + + + +
+ + + + + + + +
std::string_view eosio::rope::sv () const
+
+inline
+
+ +

См. определение в файле rope.hpp строка 227

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_ab0a0ba2be3a91de71ec2fc919ad73974.html b/docs/cdt/classeosio_1_1rope_ab0a0ba2be3a91de71ec2fc919ad73974.html new file mode 100644 index 000000000..7dbed99d0 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_ab0a0ba2be3a91de71ec2fc919ad73974.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::append + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ append() [1/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::rope::append (const char * s,
size_t len 
)
+
+inline
+
+ +

См. определение в файле rope.hpp строка 150

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_ab22f02eea1291499396242f9653db777.html b/docs/cdt/classeosio_1_1rope_ab22f02eea1291499396242f9653db777.html new file mode 100644 index 000000000..6aea141f4 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_ab22f02eea1291499396242f9653db777.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::c_str + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ c_str()

+ +
+
+ + + + + +
+ + + + + + + +
char * eosio::rope::c_str () const
+
+inline
+
+ +

См. определение в файле rope.hpp строка 217

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_acee48b4685b912e110c24f4cbd9caa4d.html b/docs/cdt/classeosio_1_1rope_acee48b4685b912e110c24f4cbd9caa4d.html new file mode 100644 index 000000000..c2c22e085 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_acee48b4685b912e110c24f4cbd9caa4d.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print()

+ +
+
+ + + + + +
+ + + + + + + +
void eosio::rope::print () const
+
+inline
+
+ +

См. определение в файле rope.hpp строка 213

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_aea2f5203db95839a376250f3c29e80f7.html b/docs/cdt/classeosio_1_1rope_aea2f5203db95839a376250f3c29e80f7.html new file mode 100644 index 000000000..ca8536269 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_aea2f5203db95839a376250f3c29e80f7.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::rope + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ rope() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::rope::rope (const char * s)
+
+inline
+
+ +

См. определение в файле rope.hpp строка 134

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1rope_afd7a932ec6f8603e333dc85f1284d6e2.html b/docs/cdt/classeosio_1_1rope_afd7a932ec6f8603e333dc85f1284d6e2.html new file mode 100644 index 000000000..7fccdaf55 --- /dev/null +++ b/docs/cdt/classeosio_1_1rope_afd7a932ec6f8603e333dc85f1284d6e2.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::rope::operator+= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator+=() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr rope & eosio::rope::operator+= (const roper)
+
+inlineconstexpr
+
+ +

См. определение в файле rope.hpp строка 184

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1singleton-members.html b/docs/cdt/classeosio_1_1singleton-members.html new file mode 100644 index 000000000..fa4bbd0f9 --- /dev/null +++ b/docs/cdt/classeosio_1_1singleton-members.html @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::singleton< SingletonName, T > Cписок членов класса
+
+
+ +

Полный список членов класса eosio::singleton< SingletonName, T >, включая наследуемые из базового класса

+ + + + + + + + +
exists()eosio::singleton< SingletonName, T >inline
get()eosio::singleton< SingletonName, T >inline
get_or_create(name bill_to_account, const T &def=T())eosio::singleton< SingletonName, T >inline
get_or_default(const T &def=T())eosio::singleton< SingletonName, T >inline
remove()eosio::singleton< SingletonName, T >inline
set(const T &value, name bill_to_account)eosio::singleton< SingletonName, T >inline
singleton(name code, uint64_t scope)eosio::singleton< SingletonName, T >inline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1singleton.html b/docs/cdt/classeosio_1_1singleton.html new file mode 100644 index 000000000..27179c00d --- /dev/null +++ b/docs/cdt/classeosio_1_1singleton.html @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон класса eosio::singleton< SingletonName, T > + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <singleton.hpp>

+ + + + + + + + + + + + + + + + + +

+Открытые члены

 singleton (name code, uint64_t scope)
 
bool exists ()
 
get ()
 Возвращает значение, хранящееся в singleton-таблице Подробнее...
 
get_or_default (const T &def=T())
 
get_or_create (name bill_to_account, const T &def=T())
 
void set (const T &value, name bill_to_account)
 
void remove ()
 
+

Подробное описание

+
template<name::raw SingletonName, typename T>
+class eosio::singleton< SingletonName, T >

Обёртка использует одну таблицу для хранения именованных объектов различных типов.

+
Параметры шаблона
+ + + +
SingletonName— имя этой singleton-переменной
T— тип singleton
+
+
+ +

См. определение в файле singleton.hpp строка 21

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1singleton.js b/docs/cdt/classeosio_1_1singleton.js new file mode 100644 index 000000000..832e2f392 --- /dev/null +++ b/docs/cdt/classeosio_1_1singleton.js @@ -0,0 +1,10 @@ +var classeosio_1_1singleton = +[ + [ "singleton", "classeosio_1_1singleton_aacf881ed97b04496be325d74f6b9d25e.html#aacf881ed97b04496be325d74f6b9d25e", null ], + [ "exists", "classeosio_1_1singleton_ae6eed2e5197e5b4216450e5940ab9141.html#ae6eed2e5197e5b4216450e5940ab9141", null ], + [ "get", "classeosio_1_1singleton_a53b56e4e8ed2fddd61175285afdf44d4.html#a53b56e4e8ed2fddd61175285afdf44d4", null ], + [ "get_or_create", "classeosio_1_1singleton_a7e632785eac3f1d05e08b34c49cb35dc.html#a7e632785eac3f1d05e08b34c49cb35dc", null ], + [ "get_or_default", "classeosio_1_1singleton_a6a252d888f4c0b20bb3045a443267951.html#a6a252d888f4c0b20bb3045a443267951", null ], + [ "remove", "classeosio_1_1singleton_afc70106337f2cec280dfd797a1c7920a.html#afc70106337f2cec280dfd797a1c7920a", null ], + [ "set", "classeosio_1_1singleton_aada28dbeaf0961614beff67a38553a3c.html#aada28dbeaf0961614beff67a38553a3c", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1singleton_a53b56e4e8ed2fddd61175285afdf44d4.html b/docs/cdt/classeosio_1_1singleton_a53b56e4e8ed2fddd61175285afdf44d4.html new file mode 100644 index 000000000..b0956ede6 --- /dev/null +++ b/docs/cdt/classeosio_1_1singleton_a53b56e4e8ed2fddd61175285afdf44d4.html @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::singleton::get + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get()

+ +
+
+
+template<name::raw SingletonName, typename T >
+ + + + + +
+ + + + + + + +
T eosio::singleton< SingletonName, T >::get ()
+
+inline
+
+ +

Возвращает значение, хранящееся в singleton-таблице

+

Возвращает значение из singleton-таблицы. Выбрасывает исключение, если записи нет

+
Возвращает
T — сохранённое значение
+ +

См. определение в файле singleton.hpp строка 75

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1singleton_a6a252d888f4c0b20bb3045a443267951.html b/docs/cdt/classeosio_1_1singleton_a6a252d888f4c0b20bb3045a443267951.html new file mode 100644 index 000000000..ff98404fb --- /dev/null +++ b/docs/cdt/classeosio_1_1singleton_a6a252d888f4c0b20bb3045a443267951.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::singleton::get_or_default + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_or_default()

+ +
+
+
+template<name::raw SingletonName, typename T >
+ + + + + +
+ + + + + + + + +
T eosio::singleton< SingletonName, T >::get_or_default (const T & def = T())
+
+inline
+
+

Возвращает значение из singleton-таблицы. Если записи нет — указанное значение по умолчанию

+
Аргументы
+ + +
def— значение по умолчанию, если данных нет
+
+
+
Возвращает
T — сохранённое значение
+ +

См. определение в файле singleton.hpp строка 87

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1singleton_a7e632785eac3f1d05e08b34c49cb35dc.html b/docs/cdt/classeosio_1_1singleton_a7e632785eac3f1d05e08b34c49cb35dc.html new file mode 100644 index 000000000..a4cf8b756 --- /dev/null +++ b/docs/cdt/classeosio_1_1singleton_a7e632785eac3f1d05e08b34c49cb35dc.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::singleton::get_or_create + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_or_create()

+ +
+
+
+template<name::raw SingletonName, typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
T eosio::singleton< SingletonName, T >::get_or_create (name bill_to_account,
const T & def = T() 
)
+
+inline
+
+

Возвращает значение из singleton-таблицы. Если записи нет — создаёт её с указанным значением по умолчанию

+
Аргументы
+ + + +
bill_to_account— аккаунт, с которого списывается оплата за новые данные, если записи не было
def— значение по умолчанию при создании записи
+
+
+
Возвращает
T — сохранённое значение
+ +

См. определение в файле singleton.hpp строка 99

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1singleton_aacf881ed97b04496be325d74f6b9d25e.html b/docs/cdt/classeosio_1_1singleton_aacf881ed97b04496be325d74f6b9d25e.html new file mode 100644 index 000000000..f9b5ff717 --- /dev/null +++ b/docs/cdt/classeosio_1_1singleton_aacf881ed97b04496be325d74f6b9d25e.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::singleton::singleton + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ singleton()

+ +
+
+
+template<name::raw SingletonName, typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
eosio::singleton< SingletonName, T >::singleton (name code,
uint64_t scope 
)
+
+inline
+
+

Создаёт объект singleton по владельцу таблицы и области видимости (scope)

+
Аргументы
+ + + +
code— владелец таблицы
scope— scope таблицы
+
+
+ +

См. определение в файле singleton.hpp строка 57

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1singleton_aada28dbeaf0961614beff67a38553a3c.html b/docs/cdt/classeosio_1_1singleton_aada28dbeaf0961614beff67a38553a3c.html new file mode 100644 index 000000000..e0de0ae94 --- /dev/null +++ b/docs/cdt/classeosio_1_1singleton_aada28dbeaf0961614beff67a38553a3c.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::singleton::set + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ set()

+ +
+
+
+template<name::raw SingletonName, typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::singleton< SingletonName, T >::set (const T & value,
name bill_to_account 
)
+
+inline
+
+

Записывает новое значение в singleton-таблицу

+
Аргументы
+ + + +
value— новое значение
bill_to_account— аккаунт, с которого списывается оплата за запись
+
+
+ +

См. определение в файле singleton.hpp строка 111

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1singleton_ae6eed2e5197e5b4216450e5940ab9141.html b/docs/cdt/classeosio_1_1singleton_ae6eed2e5197e5b4216450e5940ab9141.html new file mode 100644 index 000000000..a551bffc0 --- /dev/null +++ b/docs/cdt/classeosio_1_1singleton_ae6eed2e5197e5b4216450e5940ab9141.html @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::singleton::exists + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ exists()

+ +
+
+
+template<name::raw SingletonName, typename T >
+ + + + + +
+ + + + + + + +
bool eosio::singleton< SingletonName, T >::exists ()
+
+inline
+
+

Проверяет существование singleton-таблицы

+
Возвращает
true — если существует
+
+false — иначе
+ +

См. определение в файле singleton.hpp строка 65

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1singleton_afc70106337f2cec280dfd797a1c7920a.html b/docs/cdt/classeosio_1_1singleton_afc70106337f2cec280dfd797a1c7920a.html new file mode 100644 index 000000000..f865222d1 --- /dev/null +++ b/docs/cdt/classeosio_1_1singleton_afc70106337f2cec280dfd797a1c7920a.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::singleton::remove + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ remove()

+ +
+
+
+template<name::raw SingletonName, typename T >
+ + + + + +
+ + + + + + + +
void eosio::singleton< SingletonName, T >::remove ()
+
+inline
+
+

Удаляет единственную запись в singleton-таблице

+ +

См. определение в файле singleton.hpp строка 123

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string-members.html b/docs/cdt/classeosio_1_1string-members.html new file mode 100644 index 000000000..8bcad0e48 --- /dev/null +++ b/docs/cdt/classeosio_1_1string-members.html @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::string Cписок членов класса
+
+
+ +

Полный список членов класса eosio::string, включая наследуемые из базового класса

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
append(const char *str)eosio::stringinline
append(const string &str)eosio::stringinline
at(const size_t n)eosio::stringinline
at(const size_t n) consteosio::stringinline
back()eosio::stringinline
back() consteosio::stringinline
begin()eosio::stringinline
c_str() consteosio::stringinline
capacity() consteosio::stringinline
cbegin() consteosio::stringinline
cend() consteosio::stringinline
clear()eosio::stringinline
copy(char *s, size_t len, size_t pos=0) consteosio::stringinline
data()eosio::stringinline
data() consteosio::stringinline
empty() consteosio::stringinline
end()eosio::stringinline
erase(size_t pos=0, size_t len=npos)eosio::stringinline
front()eosio::stringinline
front() consteosio::stringinline
insert(const size_t pos, const char *str)eosio::stringinline
insert(const size_t pos, const char *str, const size_t len)eosio::stringinline
insert(const size_t pos, const string &str)eosio::stringinline
length() consteosio::stringinline
max_size() consteosio::stringinline
nposeosio::stringstatic
operator!=eosio::stringfriend
operator+eosio::stringfriend
operator+=(const char c)eosio::stringinline
operator+=(const char *rhs)eosio::stringinline
operator+=(const string &rhs)eosio::stringinline
operator<eosio::stringfriend
operator<=eosio::stringfriend
operator=(const string &str)eosio::stringinline
operator=(string &&str)eosio::stringinline
operator=(const char *str)eosio::stringinline
operator==eosio::stringfriend
operator>eosio::stringfriend
operator>=eosio::stringfriend
operator[](const size_t n)eosio::stringinline
operator[](const size_t n) consteosio::stringinline
pop_back()eosio::stringinline
print() consteosio::stringinline
push_back(const char c)eosio::stringinline
reserve(const size_t n)eosio::stringinline
resize(const size_t n)eosio::stringinline
shrink_to_fit()eosio::stringinline
size() consteosio::stringinline
string(const char(&str)[N])eosio::stringinline
string()eosio::stringinline
string(const char *str, const size_t n)eosio::stringinline
string(const size_t n, const char c)eosio::stringinline
string(const string &str, const size_t pos, const size_t n)eosio::stringinline
string(const string &str)eosio::stringinline
string(string &&str)eosio::stringinline
substr(size_t pos=0, size_t len=npos) consteosio::stringinline
swap(string &str)eosio::stringinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string.html b/docs/cdt/classeosio_1_1string.html new file mode 100644 index 000000000..44c129d11 --- /dev/null +++ b/docs/cdt/classeosio_1_1string.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <string.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Открытые члены

template<size_t N>
constexpr string (const char(&str)[N])
 
constexpr string ()
 
constexpr string (const char *str, const size_t n)
 
constexpr string (const size_t n, const char c)
 
constexpr string (const string &str, const size_t pos, const size_t n)
 
constexpr string (const string &str)
 
constexpr string (string &&str)
 
stringoperator= (const string &str)
 
stringoperator= (string &&str)
 
stringoperator= (const char *str)
 
char & operator[] (const size_t n)
 
const char operator[] (const size_t n) const
 
char & at (const size_t n)
 
const char at (const size_t n) const
 
char & front ()
 
const char front () const
 
char & back ()
 
const char back () const
 
char * data ()
 
const char * data () const
 
const char * c_str () const
 
char * begin ()
 
const char * cbegin () const
 
char * end ()
 
const char * cend () const
 
bool empty () const
 
size_t size () const
 
size_t length () const
 
size_t capacity () const
 
size_t max_size () const
 
void reserve (const size_t n)
 
void shrink_to_fit ()
 
void clear ()
 
void resize (const size_t n)
 
void swap (string &str)
 
void push_back (const char c)
 
void pop_back ()
 
string substr (size_t pos=0, size_t len=npos) const
 
size_t copy (char *s, size_t len, size_t pos=0) const
 
stringinsert (const size_t pos, const char *str)
 
stringinsert (const size_t pos, const char *str, const size_t len)
 
stringinsert (const size_t pos, const string &str)
 
stringerase (size_t pos=0, size_t len=npos)
 
stringappend (const char *str)
 
stringappend (const string &str)
 
stringoperator+= (const char c)
 
stringoperator+= (const char *rhs)
 
stringoperator+= (const string &rhs)
 
void print () const
 
+ + + +

+Статические открытые данные

static constexpr size_t npos = -1
 
+ + + + + + + + + + + + + + + +

+Друзья

bool operator< (const string &lhs, const string &rhs)
 
bool operator> (const string &lhs, const string &rhs)
 
bool operator<= (const string &lhs, const string &rhs)
 
bool operator>= (const string &lhs, const string &rhs)
 
bool operator== (const string &lhs, const string &rhs)
 
bool operator!= (const string &lhs, const string &rhs)
 
string operator+ (const string &lhs, const string &rhs)
 
+

Подробное описание

+
+

См. определение в файле string.hpp строка 19

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string.js b/docs/cdt/classeosio_1_1string.js new file mode 100644 index 000000000..5e971810b --- /dev/null +++ b/docs/cdt/classeosio_1_1string.js @@ -0,0 +1,59 @@ +var classeosio_1_1string = +[ + [ "string", "classeosio_1_1string_a9b25b59100bf5c70971fa6f55fe65191.html#a9b25b59100bf5c70971fa6f55fe65191", null ], + [ "string", "classeosio_1_1string_abbdba4b5d2a09bbc117792a412f19a6f.html#abbdba4b5d2a09bbc117792a412f19a6f", null ], + [ "string", "classeosio_1_1string_aaea5e2703fbc37b3a1e2b3947d926bf0.html#aaea5e2703fbc37b3a1e2b3947d926bf0", null ], + [ "string", "classeosio_1_1string_adf203bd5325ece9f37ff3fcd0b220e49.html#adf203bd5325ece9f37ff3fcd0b220e49", null ], + [ "string", "classeosio_1_1string_ac7a16a5fc722b604a74d553beba58a44.html#ac7a16a5fc722b604a74d553beba58a44", null ], + [ "string", "classeosio_1_1string_a38a9b5399dc2a4eadafe11abeff1b77c.html#a38a9b5399dc2a4eadafe11abeff1b77c", null ], + [ "string", "classeosio_1_1string_abed2244638c61753c2b33c3a5f8def30.html#abed2244638c61753c2b33c3a5f8def30", null ], + [ "append", "classeosio_1_1string_a8781cfc0e0a9aa9187da9cbb5c7f2cf0.html#a8781cfc0e0a9aa9187da9cbb5c7f2cf0", null ], + [ "append", "classeosio_1_1string_a8873fa94d7a035c56314c041a5ac749d.html#a8873fa94d7a035c56314c041a5ac749d", null ], + [ "at", "classeosio_1_1string_a564871216e7138e5d896bb9031b7c43f.html#a564871216e7138e5d896bb9031b7c43f", null ], + [ "at", "classeosio_1_1string_a4899eeb275df620049b5fd69f49d3e69.html#a4899eeb275df620049b5fd69f49d3e69", null ], + [ "back", "classeosio_1_1string_acf5eac6989461a16465ba449c449e3fc.html#acf5eac6989461a16465ba449c449e3fc", null ], + [ "back", "classeosio_1_1string_a7e00ad0b11736822e954ca0aaace79f4.html#a7e00ad0b11736822e954ca0aaace79f4", null ], + [ "begin", "classeosio_1_1string_a480fa3a83a379532c4caf2ccbf5d7487.html#a480fa3a83a379532c4caf2ccbf5d7487", null ], + [ "c_str", "classeosio_1_1string_a91c0860a7e6b0c176f64ea9ee5cdff59.html#a91c0860a7e6b0c176f64ea9ee5cdff59", null ], + [ "capacity", "classeosio_1_1string_a67e73c263a77517ecce1d1cceb0089ee.html#a67e73c263a77517ecce1d1cceb0089ee", null ], + [ "cbegin", "classeosio_1_1string_ab9f769b1a15bd18493e3200238fa656f.html#ab9f769b1a15bd18493e3200238fa656f", null ], + [ "cend", "classeosio_1_1string_a6a25a174666da578f25cae60943be262.html#a6a25a174666da578f25cae60943be262", null ], + [ "clear", "classeosio_1_1string_aac90a49eab4c1c047f40bf7e34fb46c9.html#aac90a49eab4c1c047f40bf7e34fb46c9", null ], + [ "copy", "classeosio_1_1string_ab276b4902cb95bfeb853eee8684c0916.html#ab276b4902cb95bfeb853eee8684c0916", null ], + [ "data", "classeosio_1_1string_a6cd7a8bb3495205f9cd7a3c56527ea67.html#a6cd7a8bb3495205f9cd7a3c56527ea67", null ], + [ "data", "classeosio_1_1string_a803e3faedd3eb97e0db9847824a14d80.html#a803e3faedd3eb97e0db9847824a14d80", null ], + [ "empty", "classeosio_1_1string_a153185b2a085cea1e6bf513cf66205d9.html#a153185b2a085cea1e6bf513cf66205d9", null ], + [ "end", "classeosio_1_1string_a395ebf42a73b271ea68f9b8cb45bfdcf.html#a395ebf42a73b271ea68f9b8cb45bfdcf", null ], + [ "erase", "classeosio_1_1string_ad62910f1b924929fafcd862e8eb71e5b.html#ad62910f1b924929fafcd862e8eb71e5b", null ], + [ "front", "classeosio_1_1string_a1665b4aff2487ecf7b5de5a539283e59.html#a1665b4aff2487ecf7b5de5a539283e59", null ], + [ "front", "classeosio_1_1string_ace4cb4b04068b19569df2ddfd5072922.html#ace4cb4b04068b19569df2ddfd5072922", null ], + [ "insert", "classeosio_1_1string_a237c8d55ce3141f492db1277f18a410b.html#a237c8d55ce3141f492db1277f18a410b", null ], + [ "insert", "classeosio_1_1string_aede6037e2778f095d1dc51730d161573.html#aede6037e2778f095d1dc51730d161573", null ], + [ "insert", "classeosio_1_1string_af587de1d8dc0628a4a3216d43e739f21.html#af587de1d8dc0628a4a3216d43e739f21", null ], + [ "length", "classeosio_1_1string_a5ac65214871aeb5aa277315e3730b478.html#a5ac65214871aeb5aa277315e3730b478", null ], + [ "max_size", "classeosio_1_1string_a78b71a3a602620d706457f4a68dbcd73.html#a78b71a3a602620d706457f4a68dbcd73", null ], + [ "operator+=", "classeosio_1_1string_ac03654f5a94a384fc920af2a77a5e16a.html#ac03654f5a94a384fc920af2a77a5e16a", null ], + [ "operator+=", "classeosio_1_1string_a96cbb276511418046dda2629673bbcc3.html#a96cbb276511418046dda2629673bbcc3", null ], + [ "operator+=", "classeosio_1_1string_a45e00f754d8166d1ecd15db8eed22285.html#a45e00f754d8166d1ecd15db8eed22285", null ], + [ "operator=", "classeosio_1_1string_a7eb1ef7915ed4be6078d6233bce6f12d.html#a7eb1ef7915ed4be6078d6233bce6f12d", null ], + [ "operator=", "classeosio_1_1string_a25817fd1b016911c9d93e991447ceb05.html#a25817fd1b016911c9d93e991447ceb05", null ], + [ "operator=", "classeosio_1_1string_a4794d6760c9ec69edaf7b3bfb4a63b3f.html#a4794d6760c9ec69edaf7b3bfb4a63b3f", null ], + [ "operator[]", "classeosio_1_1string_a580f518725730c3a2a6aa8ad7f525381.html#a580f518725730c3a2a6aa8ad7f525381", null ], + [ "operator[]", "classeosio_1_1string_aeb96086b5c3611e1f4c195853ea9f5d8.html#aeb96086b5c3611e1f4c195853ea9f5d8", null ], + [ "pop_back", "classeosio_1_1string_a6cf5e0f41fcf2d8d9665fede53303e7a.html#a6cf5e0f41fcf2d8d9665fede53303e7a", null ], + [ "print", "classeosio_1_1string_afe503d29eaae256ea611fbe5e1525b7e.html#afe503d29eaae256ea611fbe5e1525b7e", null ], + [ "push_back", "classeosio_1_1string_a5f9020ff29f0631f18fcdd825e32f577.html#a5f9020ff29f0631f18fcdd825e32f577", null ], + [ "reserve", "classeosio_1_1string_aceced69d12b071a4669277d8a7ec767a.html#aceced69d12b071a4669277d8a7ec767a", null ], + [ "resize", "classeosio_1_1string_a1f95dcbc241a91a8aa9306b599a826c3.html#a1f95dcbc241a91a8aa9306b599a826c3", null ], + [ "shrink_to_fit", "classeosio_1_1string_a9dfae8e14598a5b45c2333253f9ad13f.html#a9dfae8e14598a5b45c2333253f9ad13f", null ], + [ "size", "classeosio_1_1string_a651faa2c73ac0376e3efe94a5a192e55.html#a651faa2c73ac0376e3efe94a5a192e55", null ], + [ "substr", "classeosio_1_1string_aaabc6d219686805ea57157fb47d1d293.html#aaabc6d219686805ea57157fb47d1d293", null ], + [ "swap", "classeosio_1_1string_a365349b85f2fffc2d6a57de046fa5782.html#a365349b85f2fffc2d6a57de046fa5782", null ], + [ "operator!=", "classeosio_1_1string_ab8b27a889dc5ffef4a9cc7a1d1905b9c.html#ab8b27a889dc5ffef4a9cc7a1d1905b9c", null ], + [ "operator+", "classeosio_1_1string_afea8d616a05e9815f57ad6b9740f846f.html#afea8d616a05e9815f57ad6b9740f846f", null ], + [ "operator<", "classeosio_1_1string_a91fd184cf0f9333c217130cebd4d7876.html#a91fd184cf0f9333c217130cebd4d7876", null ], + [ "operator<=", "classeosio_1_1string_a45321af08ebc945f2036e4208f6a3897.html#a45321af08ebc945f2036e4208f6a3897", null ], + [ "operator==", "classeosio_1_1string_a747feeacef8c26d89dafe7a9e32e2439.html#a747feeacef8c26d89dafe7a9e32e2439", null ], + [ "operator>", "classeosio_1_1string_abf763aa94a8644b190f43d6b026893a2.html#abf763aa94a8644b190f43d6b026893a2", null ], + [ "operator>=", "classeosio_1_1string_a3d90c57bde93934ad912b1078a70b3e4.html#a3d90c57bde93934ad912b1078a70b3e4", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1string_a153185b2a085cea1e6bf513cf66205d9.html b/docs/cdt/classeosio_1_1string_a153185b2a085cea1e6bf513cf66205d9.html new file mode 100644 index 000000000..8039c14a2 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a153185b2a085cea1e6bf513cf66205d9.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::empty + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ empty()

+ +
+
+ + + + + +
+ + + + + + + +
bool eosio::string::empty () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 213

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a1665b4aff2487ecf7b5de5a539283e59.html b/docs/cdt/classeosio_1_1string_a1665b4aff2487ecf7b5de5a539283e59.html new file mode 100644 index 000000000..f80efaea2 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a1665b4aff2487ecf7b5de5a539283e59.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::front + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ front() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
char & eosio::string::front ()
+
+inline
+
+ +

См. определение в файле string.hpp строка 146

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a1f95dcbc241a91a8aa9306b599a826c3.html b/docs/cdt/classeosio_1_1string_a1f95dcbc241a91a8aa9306b599a826c3.html new file mode 100644 index 000000000..c9daec4ea --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a1f95dcbc241a91a8aa9306b599a826c3.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::resize + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ resize()

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::string::resize (const size_t n)
+
+inline
+
+ +

См. определение в файле string.hpp строка 256

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a237c8d55ce3141f492db1277f18a410b.html b/docs/cdt/classeosio_1_1string_a237c8d55ce3141f492db1277f18a410b.html new file mode 100644 index 000000000..4f8b04364 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a237c8d55ce3141f492db1277f18a410b.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::insert + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ insert() [1/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
string & eosio::string::insert (const size_t pos,
const char * str 
)
+
+inline
+
+ +

См. определение в файле string.hpp строка 298

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a25817fd1b016911c9d93e991447ceb05.html b/docs/cdt/classeosio_1_1string_a25817fd1b016911c9d93e991447ceb05.html new file mode 100644 index 000000000..6c0235b29 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a25817fd1b016911c9d93e991447ceb05.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator=() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
string & eosio::string::operator= (const stringstr)
+
+inline
+
+ +

См. определение в файле string.hpp строка 88

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a365349b85f2fffc2d6a57de046fa5782.html b/docs/cdt/classeosio_1_1string_a365349b85f2fffc2d6a57de046fa5782.html new file mode 100644 index 000000000..9a8e3d624 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a365349b85f2fffc2d6a57de046fa5782.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::swap + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ swap()

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::string::swap (stringstr)
+
+inline
+
+ +

См. определение в файле string.hpp строка 270

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a38a9b5399dc2a4eadafe11abeff1b77c.html b/docs/cdt/classeosio_1_1string_a38a9b5399dc2a4eadafe11abeff1b77c.html new file mode 100644 index 000000000..54837a8da --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a38a9b5399dc2a4eadafe11abeff1b77c.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ string() [6/7]

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr eosio::string::string (const stringstr)
+
+inlineconstexpr
+
+ +

См. определение в файле string.hpp строка 68

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a395ebf42a73b271ea68f9b8cb45bfdcf.html b/docs/cdt/classeosio_1_1string_a395ebf42a73b271ea68f9b8cb45bfdcf.html new file mode 100644 index 000000000..1e1253bcf --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a395ebf42a73b271ea68f9b8cb45bfdcf.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::end + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ end()

+ +
+
+ + + + + +
+ + + + + + + +
char * eosio::string::end ()
+
+inline
+
+ +

См. определение в файле string.hpp строка 205

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a3d90c57bde93934ad912b1078a70b3e4.html b/docs/cdt/classeosio_1_1string_a3d90c57bde93934ad912b1078a70b3e4.html new file mode 100644 index 000000000..f4756f0fa --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a3d90c57bde93934ad912b1078a70b3e4.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator>= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator>=

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator>= (const stringlhs,
const stringrhs 
)
+
+friend
+
+ +

См. определение в файле string.hpp строка 449

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a45321af08ebc945f2036e4208f6a3897.html b/docs/cdt/classeosio_1_1string_a45321af08ebc945f2036e4208f6a3897.html new file mode 100644 index 000000000..bf8abc55f --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a45321af08ebc945f2036e4208f6a3897.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator<= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator<=

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator<= (const stringlhs,
const stringrhs 
)
+
+friend
+
+ +

См. определение в файле string.hpp строка 445

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a45e00f754d8166d1ecd15db8eed22285.html b/docs/cdt/classeosio_1_1string_a45e00f754d8166d1ecd15db8eed22285.html new file mode 100644 index 000000000..1a6e8ec15 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a45e00f754d8166d1ecd15db8eed22285.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator+= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator+=() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
string & eosio::string::operator+= (const stringrhs)
+
+inline
+
+ +

См. определение в файле string.hpp строка 386

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a4794d6760c9ec69edaf7b3bfb4a63b3f.html b/docs/cdt/classeosio_1_1string_a4794d6760c9ec69edaf7b3bfb4a63b3f.html new file mode 100644 index 000000000..81d82ddd8 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a4794d6760c9ec69edaf7b3bfb4a63b3f.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator=() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
string & eosio::string::operator= (string && str)
+
+inline
+
+ +

См. определение в файле string.hpp строка 103

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a480fa3a83a379532c4caf2ccbf5d7487.html b/docs/cdt/classeosio_1_1string_a480fa3a83a379532c4caf2ccbf5d7487.html new file mode 100644 index 000000000..391a70a29 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a480fa3a83a379532c4caf2ccbf5d7487.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::begin + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ begin()

+ +
+
+ + + + + +
+ + + + + + + +
char * eosio::string::begin ()
+
+inline
+
+ +

См. определение в файле string.hpp строка 192

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a4899eeb275df620049b5fd69f49d3e69.html b/docs/cdt/classeosio_1_1string_a4899eeb275df620049b5fd69f49d3e69.html new file mode 100644 index 000000000..c04a782f6 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a4899eeb275df620049b5fd69f49d3e69.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::at + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ at() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
const char eosio::string::at (const size_t n) const
+
+inline
+
+ +

См. определение в файле string.hpp строка 141

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a4f5cb8bf0e4336ffdcba55fb5073bfcf.html b/docs/cdt/classeosio_1_1string_a4f5cb8bf0e4336ffdcba55fb5073bfcf.html new file mode 100644 index 000000000..9a8b88b1c --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a4f5cb8bf0e4336ffdcba55fb5073bfcf.html @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::npos + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ npos

+ +
+
+ + + + + +
+ + + + +
constexpr size_t eosio::string::npos = -1
+
+staticconstexpr
+
+ +

См. определение в файле string.hpp строка 21

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a564871216e7138e5d896bb9031b7c43f.html b/docs/cdt/classeosio_1_1string_a564871216e7138e5d896bb9031b7c43f.html new file mode 100644 index 000000000..fabcb5d37 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a564871216e7138e5d896bb9031b7c43f.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::at + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ at() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
char & eosio::string::at (const size_t n)
+
+inline
+
+ +

См. определение в файле string.hpp строка 136

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a580f518725730c3a2a6aa8ad7f525381.html b/docs/cdt/classeosio_1_1string_a580f518725730c3a2a6aa8ad7f525381.html new file mode 100644 index 000000000..6cb72f27f --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a580f518725730c3a2a6aa8ad7f525381.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator[] + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator[]() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
char & eosio::string::operator[] (const size_t n)
+
+inline
+
+ +

См. определение в файле string.hpp строка 126

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a5ac65214871aeb5aa277315e3730b478.html b/docs/cdt/classeosio_1_1string_a5ac65214871aeb5aa277315e3730b478.html new file mode 100644 index 000000000..c07113065 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a5ac65214871aeb5aa277315e3730b478.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::length + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ length()

+ +
+
+ + + + + +
+ + + + + + + +
size_t eosio::string::length () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 221

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a5f9020ff29f0631f18fcdd825e32f577.html b/docs/cdt/classeosio_1_1string_a5f9020ff29f0631f18fcdd825e32f577.html new file mode 100644 index 000000000..8a21640c2 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a5f9020ff29f0631f18fcdd825e32f577.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::push_back + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ push_back()

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::string::push_back (const char c)
+
+inline
+
+ +

См. определение в файле string.hpp строка 274

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a651faa2c73ac0376e3efe94a5a192e55.html b/docs/cdt/classeosio_1_1string_a651faa2c73ac0376e3efe94a5a192e55.html new file mode 100644 index 000000000..2a09a517d --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a651faa2c73ac0376e3efe94a5a192e55.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::size + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ size()

+ +
+
+ + + + + +
+ + + + + + + +
size_t eosio::string::size () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 217

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a67e73c263a77517ecce1d1cceb0089ee.html b/docs/cdt/classeosio_1_1string_a67e73c263a77517ecce1d1cceb0089ee.html new file mode 100644 index 000000000..e92ede35e --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a67e73c263a77517ecce1d1cceb0089ee.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::capacity + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ capacity()

+ +
+
+ + + + + +
+ + + + + + + +
size_t eosio::string::capacity () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 225

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a6a25a174666da578f25cae60943be262.html b/docs/cdt/classeosio_1_1string_a6a25a174666da578f25cae60943be262.html new file mode 100644 index 000000000..c4da530d3 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a6a25a174666da578f25cae60943be262.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::cend + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ cend()

+ +
+
+ + + + + +
+ + + + + + + +
const char * eosio::string::cend () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 209

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a6cd7a8bb3495205f9cd7a3c56527ea67.html b/docs/cdt/classeosio_1_1string_a6cd7a8bb3495205f9cd7a3c56527ea67.html new file mode 100644 index 000000000..f4cd62470 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a6cd7a8bb3495205f9cd7a3c56527ea67.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::data + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ data() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
char * eosio::string::data ()
+
+inline
+
+ +

См. определение в файле string.hpp строка 162

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a6cf5e0f41fcf2d8d9665fede53303e7a.html b/docs/cdt/classeosio_1_1string_a6cf5e0f41fcf2d8d9665fede53303e7a.html new file mode 100644 index 000000000..de33ea6ed --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a6cf5e0f41fcf2d8d9665fede53303e7a.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::pop_back + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ pop_back()

+ +
+
+ + + + + +
+ + + + + + + +
void eosio::string::pop_back ()
+
+inline
+
+ +

См. определение в файле string.hpp строка 278

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a747feeacef8c26d89dafe7a9e32e2439.html b/docs/cdt/classeosio_1_1string_a747feeacef8c26d89dafe7a9e32e2439.html new file mode 100644 index 000000000..0b7798635 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a747feeacef8c26d89dafe7a9e32e2439.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator== + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator==

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator== (const stringlhs,
const stringrhs 
)
+
+friend
+
+ +

См. определение в файле string.hpp строка 453

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a78b71a3a602620d706457f4a68dbcd73.html b/docs/cdt/classeosio_1_1string_a78b71a3a602620d706457f4a68dbcd73.html new file mode 100644 index 000000000..7350012e3 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a78b71a3a602620d706457f4a68dbcd73.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::max_size + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ max_size()

+ +
+
+ + + + + +
+ + + + + + + +
size_t eosio::string::max_size () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 229

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a7e00ad0b11736822e954ca0aaace79f4.html b/docs/cdt/classeosio_1_1string_a7e00ad0b11736822e954ca0aaace79f4.html new file mode 100644 index 000000000..49afd24da --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a7e00ad0b11736822e954ca0aaace79f4.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::back + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ back() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char eosio::string::back () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 158

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a7eb1ef7915ed4be6078d6233bce6f12d.html b/docs/cdt/classeosio_1_1string_a7eb1ef7915ed4be6078d6233bce6f12d.html new file mode 100644 index 000000000..b72bd3f75 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a7eb1ef7915ed4be6078d6233bce6f12d.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator=() [1/3]

+ +
+
+ + + + + +
+ + + + + + + + +
string & eosio::string::operator= (const char * str)
+
+inline
+
+ +

См. определение в файле string.hpp строка 118

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a803e3faedd3eb97e0db9847824a14d80.html b/docs/cdt/classeosio_1_1string_a803e3faedd3eb97e0db9847824a14d80.html new file mode 100644 index 000000000..d7f4c3feb --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a803e3faedd3eb97e0db9847824a14d80.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::data + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ data() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char * eosio::string::data () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 166

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a8781cfc0e0a9aa9187da9cbb5c7f2cf0.html b/docs/cdt/classeosio_1_1string_a8781cfc0e0a9aa9187da9cbb5c7f2cf0.html new file mode 100644 index 000000000..405a8f29f --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a8781cfc0e0a9aa9187da9cbb5c7f2cf0.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::append + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ append() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
string & eosio::string::append (const char * str)
+
+inline
+
+ +

См. определение в файле string.hpp строка 350

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a8873fa94d7a035c56314c041a5ac749d.html b/docs/cdt/classeosio_1_1string_a8873fa94d7a035c56314c041a5ac749d.html new file mode 100644 index 000000000..43c5c4429 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a8873fa94d7a035c56314c041a5ac749d.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::append + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ append() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
string & eosio::string::append (const stringstr)
+
+inline
+
+ +

См. определение в файле string.hpp строка 357

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a91c0860a7e6b0c176f64ea9ee5cdff59.html b/docs/cdt/classeosio_1_1string_a91c0860a7e6b0c176f64ea9ee5cdff59.html new file mode 100644 index 000000000..f8186770e --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a91c0860a7e6b0c176f64ea9ee5cdff59.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::c_str + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ c_str()

+ +
+
+ + + + + +
+ + + + + + + +
const char * eosio::string::c_str () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 170

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a91fd184cf0f9333c217130cebd4d7876.html b/docs/cdt/classeosio_1_1string_a91fd184cf0f9333c217130cebd4d7876.html new file mode 100644 index 000000000..685fa2ed8 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a91fd184cf0f9333c217130cebd4d7876.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator< + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator< (const stringlhs,
const stringrhs 
)
+
+friend
+
+ +

См. определение в файле string.hpp строка 427

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a96cbb276511418046dda2629673bbcc3.html b/docs/cdt/classeosio_1_1string_a96cbb276511418046dda2629673bbcc3.html new file mode 100644 index 000000000..13ed5c7e0 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a96cbb276511418046dda2629673bbcc3.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator+= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator+=() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
string & eosio::string::operator+= (const char c)
+
+inline
+
+ +

См. определение в файле string.hpp строка 362

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a9b25b59100bf5c70971fa6f55fe65191.html b/docs/cdt/classeosio_1_1string_a9b25b59100bf5c70971fa6f55fe65191.html new file mode 100644 index 000000000..a81a067a3 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a9b25b59100bf5c70971fa6f55fe65191.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ string() [1/7]

+ +
+
+
+template<size_t N>
+ + + + + +
+ + + + + + + + +
constexpr eosio::string::string (const char(&) str[N])
+
+inlineconstexpr
+
+ +

См. определение в файле string.hpp строка 24

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_a9dfae8e14598a5b45c2333253f9ad13f.html b/docs/cdt/classeosio_1_1string_a9dfae8e14598a5b45c2333253f9ad13f.html new file mode 100644 index 000000000..2c51690e3 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_a9dfae8e14598a5b45c2333253f9ad13f.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::shrink_to_fit + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ shrink_to_fit()

+ +
+
+ + + + + +
+ + + + + + + +
void eosio::string::shrink_to_fit ()
+
+inline
+
+ +

См. определение в файле string.hpp строка 244

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_aaabc6d219686805ea57157fb47d1d293.html b/docs/cdt/classeosio_1_1string_aaabc6d219686805ea57157fb47d1d293.html new file mode 100644 index 000000000..dbcce7c93 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_aaabc6d219686805ea57157fb47d1d293.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::substr + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ substr()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
string eosio::string::substr (size_t pos = 0,
size_t len = npos 
) const
+
+inline
+
+ +

См. определение в файле string.hpp строка 284

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_aac90a49eab4c1c047f40bf7e34fb46c9.html b/docs/cdt/classeosio_1_1string_aac90a49eab4c1c047f40bf7e34fb46c9.html new file mode 100644 index 000000000..5fdb529b4 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_aac90a49eab4c1c047f40bf7e34fb46c9.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::clear + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ clear()

+ +
+
+ + + + + +
+ + + + + + + +
void eosio::string::clear ()
+
+inline
+
+ +

См. определение в файле string.hpp строка 248

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_aaea5e2703fbc37b3a1e2b3947d926bf0.html b/docs/cdt/classeosio_1_1string_aaea5e2703fbc37b3a1e2b3947d926bf0.html new file mode 100644 index 000000000..7fb29d776 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_aaea5e2703fbc37b3a1e2b3947d926bf0.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ string() [3/7]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr eosio::string::string (const char * str,
const size_t n 
)
+
+inlineconstexpr
+
+ +

См. определение в файле string.hpp строка 38

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_ab276b4902cb95bfeb853eee8684c0916.html b/docs/cdt/classeosio_1_1string_ab276b4902cb95bfeb853eee8684c0916.html new file mode 100644 index 000000000..a8b0979d6 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_ab276b4902cb95bfeb853eee8684c0916.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::copy + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ copy()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t eosio::string::copy (char * s,
size_t len,
size_t pos = 0 
) const
+
+inline
+
+ +

См. определение в файле string.hpp строка 288

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_ab8b27a889dc5ffef4a9cc7a1d1905b9c.html b/docs/cdt/classeosio_1_1string_ab8b27a889dc5ffef4a9cc7a1d1905b9c.html new file mode 100644 index 000000000..ba4c86302 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_ab8b27a889dc5ffef4a9cc7a1d1905b9c.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator!= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator!=

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator!= (const stringlhs,
const stringrhs 
)
+
+friend
+
+ +

См. определение в файле string.hpp строка 457

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_ab9f769b1a15bd18493e3200238fa656f.html b/docs/cdt/classeosio_1_1string_ab9f769b1a15bd18493e3200238fa656f.html new file mode 100644 index 000000000..2dbf3665a --- /dev/null +++ b/docs/cdt/classeosio_1_1string_ab9f769b1a15bd18493e3200238fa656f.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::cbegin + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ cbegin()

+ +
+
+ + + + + +
+ + + + + + + +
const char * eosio::string::cbegin () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 201

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_abbdba4b5d2a09bbc117792a412f19a6f.html b/docs/cdt/classeosio_1_1string_abbdba4b5d2a09bbc117792a412f19a6f.html new file mode 100644 index 000000000..610d2ccac --- /dev/null +++ b/docs/cdt/classeosio_1_1string_abbdba4b5d2a09bbc117792a412f19a6f.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ string() [2/7]

+ +
+
+ + + + + +
+ + + + + + + +
constexpr eosio::string::string ()
+
+inlineconstexpr
+
+ +

См. определение в файле string.hpp строка 31

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_abed2244638c61753c2b33c3a5f8def30.html b/docs/cdt/classeosio_1_1string_abed2244638c61753c2b33c3a5f8def30.html new file mode 100644 index 000000000..6b53f36da --- /dev/null +++ b/docs/cdt/classeosio_1_1string_abed2244638c61753c2b33c3a5f8def30.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ string() [7/7]

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr eosio::string::string (string && str)
+
+inlineconstexpr
+
+ +

См. определение в файле string.hpp строка 78

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_abf763aa94a8644b190f43d6b026893a2.html b/docs/cdt/classeosio_1_1string_abf763aa94a8644b190f43d6b026893a2.html new file mode 100644 index 000000000..2b867fbbc --- /dev/null +++ b/docs/cdt/classeosio_1_1string_abf763aa94a8644b190f43d6b026893a2.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator> + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator>

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool operator> (const stringlhs,
const stringrhs 
)
+
+friend
+
+ +

См. определение в файле string.hpp строка 441

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_ac03654f5a94a384fc920af2a77a5e16a.html b/docs/cdt/classeosio_1_1string_ac03654f5a94a384fc920af2a77a5e16a.html new file mode 100644 index 000000000..88f00e8ea --- /dev/null +++ b/docs/cdt/classeosio_1_1string_ac03654f5a94a384fc920af2a77a5e16a.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator+= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator+=() [1/3]

+ +
+
+ + + + + +
+ + + + + + + + +
string & eosio::string::operator+= (const char * rhs)
+
+inline
+
+ +

См. определение в файле string.hpp строка 381

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_ac7a16a5fc722b604a74d553beba58a44.html b/docs/cdt/classeosio_1_1string_ac7a16a5fc722b604a74d553beba58a44.html new file mode 100644 index 000000000..7d4c344a9 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_ac7a16a5fc722b604a74d553beba58a44.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ string() [5/7]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
constexpr eosio::string::string (const stringstr,
const size_t pos,
const size_t n 
)
+
+inlineconstexpr
+
+ +

См. определение в файле string.hpp строка 56

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_ace4cb4b04068b19569df2ddfd5072922.html b/docs/cdt/classeosio_1_1string_ace4cb4b04068b19569df2ddfd5072922.html new file mode 100644 index 000000000..3d4819f45 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_ace4cb4b04068b19569df2ddfd5072922.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::front + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ front() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char eosio::string::front () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 150

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_aceced69d12b071a4669277d8a7ec767a.html b/docs/cdt/classeosio_1_1string_aceced69d12b071a4669277d8a7ec767a.html new file mode 100644 index 000000000..2d5ed5186 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_aceced69d12b071a4669277d8a7ec767a.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::reserve + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ reserve()

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::string::reserve (const size_t n)
+
+inline
+
+ +

См. определение в файле string.hpp строка 233

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_acf5eac6989461a16465ba449c449e3fc.html b/docs/cdt/classeosio_1_1string_acf5eac6989461a16465ba449c449e3fc.html new file mode 100644 index 000000000..e4a06a599 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_acf5eac6989461a16465ba449c449e3fc.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::back + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ back() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
char & eosio::string::back ()
+
+inline
+
+ +

См. определение в файле string.hpp строка 154

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_ad62910f1b924929fafcd862e8eb71e5b.html b/docs/cdt/classeosio_1_1string_ad62910f1b924929fafcd862e8eb71e5b.html new file mode 100644 index 000000000..8a0ba83d0 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_ad62910f1b924929fafcd862e8eb71e5b.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::erase + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ erase()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
string & eosio::string::erase (size_t pos = 0,
size_t len = npos 
)
+
+inline
+
+ +

См. определение в файле string.hpp строка 334

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_adf203bd5325ece9f37ff3fcd0b220e49.html b/docs/cdt/classeosio_1_1string_adf203bd5325ece9f37ff3fcd0b220e49.html new file mode 100644 index 000000000..380a1383f --- /dev/null +++ b/docs/cdt/classeosio_1_1string_adf203bd5325ece9f37ff3fcd0b220e49.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ string() [4/7]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr eosio::string::string (const size_t n,
const char c 
)
+
+inlineconstexpr
+
+ +

См. определение в файле string.hpp строка 47

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_aeb96086b5c3611e1f4c195853ea9f5d8.html b/docs/cdt/classeosio_1_1string_aeb96086b5c3611e1f4c195853ea9f5d8.html new file mode 100644 index 000000000..89a3ceef3 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_aeb96086b5c3611e1f4c195853ea9f5d8.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator[] + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator[]() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
const char eosio::string::operator[] (const size_t n) const
+
+inline
+
+ +

См. определение в файле string.hpp строка 132

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_aede6037e2778f095d1dc51730d161573.html b/docs/cdt/classeosio_1_1string_aede6037e2778f095d1dc51730d161573.html new file mode 100644 index 000000000..65ff5ce68 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_aede6037e2778f095d1dc51730d161573.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::insert + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ insert() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
string & eosio::string::insert (const size_t pos,
const char * str,
const size_t len 
)
+
+inline
+
+ +

См. определение в файле string.hpp строка 302

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_af587de1d8dc0628a4a3216d43e739f21.html b/docs/cdt/classeosio_1_1string_af587de1d8dc0628a4a3216d43e739f21.html new file mode 100644 index 000000000..44d0e142b --- /dev/null +++ b/docs/cdt/classeosio_1_1string_af587de1d8dc0628a4a3216d43e739f21.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::insert + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ insert() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
string & eosio::string::insert (const size_t pos,
const stringstr 
)
+
+inline
+
+ +

См. определение в файле string.hpp строка 329

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_afe503d29eaae256ea611fbe5e1525b7e.html b/docs/cdt/classeosio_1_1string_afe503d29eaae256ea611fbe5e1525b7e.html new file mode 100644 index 000000000..40e8a55a2 --- /dev/null +++ b/docs/cdt/classeosio_1_1string_afe503d29eaae256ea611fbe5e1525b7e.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print()

+ +
+
+ + + + + +
+ + + + + + + +
void eosio::string::print () const
+
+inline
+
+ +

См. определение в файле string.hpp строка 391

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1string_afea8d616a05e9815f57ad6b9740f846f.html b/docs/cdt/classeosio_1_1string_afea8d616a05e9815f57ad6b9740f846f.html new file mode 100644 index 000000000..dca3791ee --- /dev/null +++ b/docs/cdt/classeosio_1_1string_afea8d616a05e9815f57ad6b9740f846f.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::string::operator+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator+

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
string operator+ (const stringlhs,
const stringrhs 
)
+
+friend
+
+ +

См. определение в файле string.hpp строка 461

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol-members.html b/docs/cdt/classeosio_1_1symbol-members.html new file mode 100644 index 000000000..a778d8067 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol-members.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::symbol Cписок членов класса
+
+
+ +

Полный список членов класса eosio::symbol, включая наследуемые из базового класса

+ + + + + + + + + + + + + + +
code() consteosio::symbolinline
is_valid() consteosio::symbolinline
operator bool() consteosio::symbolinlineexplicit
operator!=eosio::symbolfriend
operator<eosio::symbolfriend
operator==eosio::symbolfriend
precision() consteosio::symbolinline
print(bool show_precision=true) consteosio::symbolinline
raw() consteosio::symbolinline
symbol()eosio::symbolinline
symbol(uint64_t raw)eosio::symbolinlineexplicit
symbol(symbol_code sc, uint8_t precision)eosio::symbolinline
symbol(std::string_view ss, uint8_t precision)eosio::symbolinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol.html b/docs/cdt/classeosio_1_1symbol.html new file mode 100644 index 000000000..7f951491d --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol.html @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::symbol + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <symbol.hpp>

+ + + + + + + + + + + + + + + + + + + + + + +

+Открытые члены

constexpr symbol ()
 
constexpr symbol (uint64_t raw)
 
constexpr symbol (symbol_code sc, uint8_t precision)
 
constexpr symbol (std::string_view ss, uint8_t precision)
 
constexpr bool is_valid () const
 
constexpr uint8_t precision () const
 
constexpr symbol_code code () const
 
constexpr uint64_t raw () const
 
constexpr operator bool () const
 
void print (bool show_precision=true) const
 
+ + + + + + + + +

+Друзья

constexpr bool operator== (const symbol &a, const symbol &b)
 
constexpr bool operator!= (const symbol &a, const symbol &b)
 
constexpr bool operator< (const symbol &a, const symbol &b)
 Оператор «меньше» Подробнее...
 
+

Подробное описание

+

Символ токена: код (до 7 символов) и точность (число десятичных знаков).

+ +

См. определение в файле symbol.hpp строка 242

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol.js b/docs/cdt/classeosio_1_1symbol.js new file mode 100644 index 000000000..4a495656d --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol.js @@ -0,0 +1,16 @@ +var classeosio_1_1symbol = +[ + [ "symbol", "classeosio_1_1symbol_a6604372bb0cc9d3c70a3b77973517e41.html#a6604372bb0cc9d3c70a3b77973517e41", null ], + [ "symbol", "classeosio_1_1symbol_abcbc25794d1a3e0477be40441be6b210.html#abcbc25794d1a3e0477be40441be6b210", null ], + [ "symbol", "classeosio_1_1symbol_a990e99879ecbebb194e5de43932ec59b.html#a990e99879ecbebb194e5de43932ec59b", null ], + [ "symbol", "classeosio_1_1symbol_afc5e4be9944b51deac6484128deb2ce2.html#afc5e4be9944b51deac6484128deb2ce2", null ], + [ "code", "classeosio_1_1symbol_a559c818f42e9d0df1a4c4823d7c6ecd8.html#a559c818f42e9d0df1a4c4823d7c6ecd8", null ], + [ "is_valid", "classeosio_1_1symbol_af52f86a82390abe6be09e9745df30815.html#af52f86a82390abe6be09e9745df30815", null ], + [ "operator bool", "classeosio_1_1symbol_a6c974f93f06131859376b75c4df03a53.html#a6c974f93f06131859376b75c4df03a53", null ], + [ "precision", "classeosio_1_1symbol_af2153bf9cfc5bd79c3f1787f8028646a.html#af2153bf9cfc5bd79c3f1787f8028646a", null ], + [ "print", "classeosio_1_1symbol_a9f8042d110a6fff15ea1813987c0fbe6.html#a9f8042d110a6fff15ea1813987c0fbe6", null ], + [ "raw", "classeosio_1_1symbol_a9cb96662a0965ac03e1bf5acfbbda011.html#a9cb96662a0965ac03e1bf5acfbbda011", null ], + [ "operator!=", "classeosio_1_1symbol_a62adc71177b7a104162f7618cb0bac44.html#a62adc71177b7a104162f7618cb0bac44", null ], + [ "operator<", "classeosio_1_1symbol_a5ffd3dd1dfad342b30aed2c53993c548.html#a5ffd3dd1dfad342b30aed2c53993c548", null ], + [ "operator==", "classeosio_1_1symbol_aec9fbc4e4aff91276e8c1f71f113c494.html#aec9fbc4e4aff91276e8c1f71f113c494", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1symbol__code-members.html b/docs/cdt/classeosio_1_1symbol__code-members.html new file mode 100644 index 000000000..736967331 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code-members.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::symbol_code Cписок членов класса
+
+
+ +

Полный список членов класса eosio::symbol_code, включая наследуемые из базового класса

+ + + + + + + + + + + + + + +
is_valid() consteosio::symbol_codeinline
length() consteosio::symbol_codeinline
operator bool() consteosio::symbol_codeinlineexplicit
operator!=eosio::symbol_codefriend
operator<eosio::symbol_codefriend
operator==eosio::symbol_codefriend
print() consteosio::symbol_codeinline
raw() consteosio::symbol_codeinline
symbol_code()eosio::symbol_codeinline
symbol_code(uint64_t raw)eosio::symbol_codeinlineexplicit
symbol_code(std::string_view str)eosio::symbol_codeinlineexplicit
to_string() consteosio::symbol_codeinline
write_as_string(char *begin, char *end, bool dry_run=false) consteosio::symbol_codeinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code.html b/docs/cdt/classeosio_1_1symbol__code.html new file mode 100644 index 000000000..91db9190d --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::symbol_code + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <symbol.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Открытые члены

constexpr symbol_code ()
 Конструктор symbol_code со значением по умолчанию 0. Подробнее...
 
constexpr symbol_code (uint64_t raw)
 Конструктор symbol_code; инициализация поля value из raw. Подробнее...
 
constexpr symbol_code (std::string_view str)
 Конструктор symbol_code; инициализация поля value из строки str. Подробнее...
 
constexpr bool is_valid () const
 
constexpr uint32_t length () const
 
constexpr uint64_t raw () const
 
constexpr operator bool () const
 
char * write_as_string (char *begin, char *end, bool dry_run=false) const
 Записывает symbol_code в виде строки в переданный буфер char. Подробнее...
 
std::string to_string () const
 
void print () const
 
+ + + + + + + + +

+Друзья

constexpr bool operator== (const symbol_code &a, const symbol_code &b)
 
constexpr bool operator!= (const symbol_code &a, const symbol_code &b)
 
constexpr bool operator< (const symbol_code &a, const symbol_code &b)
 Оператор «меньше» Подробнее...
 
+

Подробное описание

+

Код символа токена, упакованный в uint64_t

+ +

См. определение в файле symbol.hpp строка 29

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code.js b/docs/cdt/classeosio_1_1symbol__code.js new file mode 100644 index 000000000..069d1d791 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code.js @@ -0,0 +1,16 @@ +var classeosio_1_1symbol__code = +[ + [ "symbol_code", "classeosio_1_1symbol__code_a9d8538c2ff41df391b45cfb6190a1ed4.html#a9d8538c2ff41df391b45cfb6190a1ed4", null ], + [ "symbol_code", "classeosio_1_1symbol__code_a5a95bedec99aff1d70a782b365bc28d0.html#a5a95bedec99aff1d70a782b365bc28d0", null ], + [ "symbol_code", "classeosio_1_1symbol__code_afba617179edadad41667b707176943fc.html#afba617179edadad41667b707176943fc", null ], + [ "is_valid", "classeosio_1_1symbol__code_a87acfd4b3bd04ca4b9ba84f6ea12d5d0.html#a87acfd4b3bd04ca4b9ba84f6ea12d5d0", null ], + [ "length", "classeosio_1_1symbol__code_adf291364853aa746ddc32942881b2e64.html#adf291364853aa746ddc32942881b2e64", null ], + [ "operator bool", "classeosio_1_1symbol__code_a9b45275437c716ebc9ba95d199c04ed1.html#a9b45275437c716ebc9ba95d199c04ed1", null ], + [ "print", "classeosio_1_1symbol__code_aac85cf2211c7f763232ecc05d473f7ff.html#aac85cf2211c7f763232ecc05d473f7ff", null ], + [ "raw", "classeosio_1_1symbol__code_a9c4430961f11cf7a207ac7d4c4827210.html#a9c4430961f11cf7a207ac7d4c4827210", null ], + [ "to_string", "classeosio_1_1symbol__code_a075d0d69307bd9180b147a809f07bad5.html#a075d0d69307bd9180b147a809f07bad5", null ], + [ "write_as_string", "classeosio_1_1symbol__code_a65ea077da3315b0a94ad0e9478911efc.html#a65ea077da3315b0a94ad0e9478911efc", null ], + [ "operator!=", "classeosio_1_1symbol__code_acd21f55772dbdf25fe5dbc182683fee0.html#acd21f55772dbdf25fe5dbc182683fee0", null ], + [ "operator<", "classeosio_1_1symbol__code_a8dd79cc2a20dc7bf2788fd6416003891.html#a8dd79cc2a20dc7bf2788fd6416003891", null ], + [ "operator==", "classeosio_1_1symbol__code_a679be838b5e39b806fa42577124a214a.html#a679be838b5e39b806fa42577124a214a", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1symbol__code_a075d0d69307bd9180b147a809f07bad5.html b/docs/cdt/classeosio_1_1symbol__code_a075d0d69307bd9180b147a809f07bad5.html new file mode 100644 index 000000000..7e4307261 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_a075d0d69307bd9180b147a809f07bad5.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::to_string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ to_string()

+ +
+
+ + + + + +
+ + + + + + + +
std::string eosio::symbol_code::to_string () const
+
+inline
+
+

Строковое представление кода символа через write_as_string()

+ +

См. определение в файле symbol.hpp строка 158

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_a5a95bedec99aff1d70a782b365bc28d0.html b/docs/cdt/classeosio_1_1symbol__code_a5a95bedec99aff1d70a782b365bc28d0.html new file mode 100644 index 000000000..9b29ddbf8 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_a5a95bedec99aff1d70a782b365bc28d0.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::symbol_code + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ symbol_code() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr eosio::symbol_code::symbol_code (uint64_t raw)
+
+inlineexplicitconstexpr
+
+ +

Конструктор symbol_code; инициализация поля value из raw.

+

Создаёт symbol_code из сырого значения uint64_t.

+
Аргументы
+ + +
raw— сырое значение (uint64_t)
+
+
+ +

См. определение в файле symbol.hpp строка 47

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_a65ea077da3315b0a94ad0e9478911efc.html b/docs/cdt/classeosio_1_1symbol__code_a65ea077da3315b0a94ad0e9478911efc.html new file mode 100644 index 000000000..238e9fa29 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_a65ea077da3315b0a94ad0e9478911efc.html @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::write_as_string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ write_as_string()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
char * eosio::symbol_code::write_as_string (char * begin,
char * end,
bool dry_run = false 
) const
+
+inline
+
+ +

Записывает symbol_code в виде строки в переданный буфер char.

+

Записывает symbol_code в виде строки в буфер char

+
Предусловие
is_valid() == true
+
+диапазон [begin, end) — допустимая область памяти для записи
+
Аргументы
+ + + + +
begin— начало буфера
end— конец буфера (не включая end)
dry_run— если true, ничего не записывать
+
+
+
Возвращает
char* — указатель сразу за последним записанным символом (при dry_run == false и достаточном буфере; смысл только если возврат ≥ begin)
+
Постусловие
при успехе и dry_run == false в [begin, возврат) — строка; иначе запись может не выполняться
+ +

См. определение в файле symbol.hpp строка 136

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_a679be838b5e39b806fa42577124a214a.html b/docs/cdt/classeosio_1_1symbol__code_a679be838b5e39b806fa42577124a214a.html new file mode 100644 index 000000000..5a3597aa9 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_a679be838b5e39b806fa42577124a214a.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::operator== + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator==

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator== (const symbol_codea,
const symbol_codeb 
)
+
+friend
+
+

Оператор равенства

+
Возвращает
true — коды совпадают
+ +

См. определение в файле symbol.hpp строка 180

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_a87acfd4b3bd04ca4b9ba84f6ea12d5d0.html b/docs/cdt/classeosio_1_1symbol__code_a87acfd4b3bd04ca4b9ba84f6ea12d5d0.html new file mode 100644 index 000000000..6f6ab8eec --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_a87acfd4b3bd04ca4b9ba84f6ea12d5d0.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::is_valid + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ is_valid()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool eosio::symbol_code::is_valid () const
+
+inlineconstexpr
+
+

Проверяет корректность кода символа

Возвращает
true — символ допустим
+ +

См. определение в файле symbol.hpp строка 77

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_a8dd79cc2a20dc7bf2788fd6416003891.html b/docs/cdt/classeosio_1_1symbol__code_a8dd79cc2a20dc7bf2788fd6416003891.html new file mode 100644 index 000000000..3ef6a4d46 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_a8dd79cc2a20dc7bf2788fd6416003891.html @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::operator< + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator< (const symbol_codea,
const symbol_codeb 
)
+
+friend
+
+ +

Оператор «меньше»

+

Оператор «меньше»

Возвращает
true — значение a меньше b
+ +

См. определение в файле symbol.hpp строка 198

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_a9b45275437c716ebc9ba95d199c04ed1.html b/docs/cdt/classeosio_1_1symbol__code_a9b45275437c716ebc9ba95d199c04ed1.html new file mode 100644 index 000000000..6043231ba --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_a9b45275437c716ebc9ba95d199c04ed1.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::operator bool + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator bool()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr eosio::symbol_code::operator bool () const
+
+inlineexplicitconstexpr
+
+

Явное приведение к bool

+
Возвращает
true — если value не равен 0; иначе false
+ +

См. определение в файле symbol.hpp строка 121

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_a9c4430961f11cf7a207ac7d4c4827210.html b/docs/cdt/classeosio_1_1symbol__code_a9c4430961f11cf7a207ac7d4c4827210.html new file mode 100644 index 000000000..0ef041410 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_a9c4430961f11cf7a207ac7d4c4827210.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::raw + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ raw()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr uint64_t eosio::symbol_code::raw () const
+
+inlineconstexpr
+
+

Возвращает сырое значение uint64_t

+
Возвращает
значение поля value
+ +

См. определение в файле symbol.hpp строка 114

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_a9d8538c2ff41df391b45cfb6190a1ed4.html b/docs/cdt/classeosio_1_1symbol__code_a9d8538c2ff41df391b45cfb6190a1ed4.html new file mode 100644 index 000000000..0a808359b --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_a9d8538c2ff41df391b45cfb6190a1ed4.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::symbol_code + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ symbol_code() [1/3]

+ +
+
+ + + + + +
+ + + + + + + +
constexpr eosio::symbol_code::symbol_code ()
+
+inlineconstexpr
+
+ +

Конструктор symbol_code со значением по умолчанию 0.

+

Конструктор по умолчанию; создаёт symbol_code со значением 0

+ +

См. определение в файле symbol.hpp строка 38

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_aac85cf2211c7f763232ecc05d473f7ff.html b/docs/cdt/classeosio_1_1symbol__code_aac85cf2211c7f763232ecc05d473f7ff.html new file mode 100644 index 000000000..df1e6014f --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_aac85cf2211c7f763232ecc05d473f7ff.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print()

+ +
+
+ + + + + +
+ + + + + + + +
void eosio::symbol_code::print () const
+
+inline
+
+

Печать symbol_code в лог контракта COOPOS

+ +

См. определение в файле symbol.hpp строка 168

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_acd21f55772dbdf25fe5dbc182683fee0.html b/docs/cdt/classeosio_1_1symbol__code_acd21f55772dbdf25fe5dbc182683fee0.html new file mode 100644 index 000000000..692bf61c4 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_acd21f55772dbdf25fe5dbc182683fee0.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::operator!= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator!=

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator!= (const symbol_codea,
const symbol_codeb 
)
+
+friend
+
+

Оператор неравенства

+
Возвращает
true — коды различаются
+ +

См. определение в файле symbol.hpp строка 189

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_adf291364853aa746ddc32942881b2e64.html b/docs/cdt/classeosio_1_1symbol__code_adf291364853aa746ddc32942881b2e64.html new file mode 100644 index 000000000..f28c60ee6 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_adf291364853aa746ddc32942881b2e64.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::length + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ length()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr uint32_t eosio::symbol_code::length () const
+
+inlineconstexpr
+
+

Возвращает длину кода символа в символах

+
Возвращает
length — число значащих символов
+ +

См. определение в файле symbol.hpp строка 99

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol__code_afba617179edadad41667b707176943fc.html b/docs/cdt/classeosio_1_1symbol__code_afba617179edadad41667b707176943fc.html new file mode 100644 index 000000000..d9c192e61 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol__code_afba617179edadad41667b707176943fc.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol_code::symbol_code + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ symbol_code() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr eosio::symbol_code::symbol_code (std::string_view str)
+
+inlineexplicitconstexpr
+
+ +

Конструктор symbol_code; инициализация поля value из строки str.

+

Создаёт symbol_code из строки (до 7 заглавных букв A–Z).

+
Аргументы
+ + +
str— строка; после проверки преобразуется в uint64_t
+
+
+ +

См. определение в файле symbol.hpp строка 58

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_a559c818f42e9d0df1a4c4823d7c6ecd8.html b/docs/cdt/classeosio_1_1symbol_a559c818f42e9d0df1a4c4823d7c6ecd8.html new file mode 100644 index 000000000..7e05e52aa --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_a559c818f42e9d0df1a4c4823d7c6ecd8.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::code + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ code()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr symbol_code eosio::symbol::code () const
+
+inlineconstexpr
+
+

Код символа (symbol_code)

+ +

См. определение в файле symbol.hpp строка 289

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_a5ffd3dd1dfad342b30aed2c53993c548.html b/docs/cdt/classeosio_1_1symbol_a5ffd3dd1dfad342b30aed2c53993c548.html new file mode 100644 index 000000000..76826a611 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_a5ffd3dd1dfad342b30aed2c53993c548.html @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::operator< + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator< (const symbola,
const symbolb 
)
+
+friend
+
+ +

Оператор «меньше»

+

Оператор «меньше»

Возвращает
true — значение a меньше b
+ +

См. определение в файле symbol.hpp строка 334

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_a62adc71177b7a104162f7618cb0bac44.html b/docs/cdt/classeosio_1_1symbol_a62adc71177b7a104162f7618cb0bac44.html new file mode 100644 index 000000000..312604339 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_a62adc71177b7a104162f7618cb0bac44.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::operator!= + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator!=

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator!= (const symbola,
const symbolb 
)
+
+friend
+
+

Оператор неравенства

+
Возвращает
true — символы различаются
+ +

См. определение в файле symbol.hpp строка 325

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_a6604372bb0cc9d3c70a3b77973517e41.html b/docs/cdt/classeosio_1_1symbol_a6604372bb0cc9d3c70a3b77973517e41.html new file mode 100644 index 000000000..3eddb8a3b --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_a6604372bb0cc9d3c70a3b77973517e41.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::symbol + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ symbol() [1/4]

+ +
+
+ + + + + +
+ + + + + + + +
constexpr eosio::symbol::symbol ()
+
+inlineconstexpr
+
+

Конструктор по умолчанию; значение 0

+ +

См. определение в файле symbol.hpp строка 247

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_a6c974f93f06131859376b75c4df03a53.html b/docs/cdt/classeosio_1_1symbol_a6c974f93f06131859376b75c4df03a53.html new file mode 100644 index 000000000..ef004e353 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_a6c974f93f06131859376b75c4df03a53.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::operator bool + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator bool()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr eosio::symbol::operator bool () const
+
+inlineexplicitconstexpr
+
+ +

См. определение в файле symbol.hpp строка 296

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_a990e99879ecbebb194e5de43932ec59b.html b/docs/cdt/classeosio_1_1symbol_a990e99879ecbebb194e5de43932ec59b.html new file mode 100644 index 000000000..4a6c41db4 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_a990e99879ecbebb194e5de43932ec59b.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::symbol + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ symbol() [3/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr eosio::symbol::symbol (symbol_code sc,
uint8_t precision 
)
+
+inlineconstexpr
+
+

Создаёт symbol по коду символа и точности.

+
Аргументы
+ + + +
sc— код символа
precision— число десятичных знаков
+
+
+ +

См. определение в файле symbol.hpp строка 262

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_a9cb96662a0965ac03e1bf5acfbbda011.html b/docs/cdt/classeosio_1_1symbol_a9cb96662a0965ac03e1bf5acfbbda011.html new file mode 100644 index 000000000..fbc47661c --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_a9cb96662a0965ac03e1bf5acfbbda011.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::raw + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ raw()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr uint64_t eosio::symbol::raw () const
+
+inlineconstexpr
+
+

Упакованное представление symbol в uint64_t

+ +

См. определение в файле symbol.hpp строка 294

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_a9f8042d110a6fff15ea1813987c0fbe6.html b/docs/cdt/classeosio_1_1symbol_a9f8042d110a6fff15ea1813987c0fbe6.html new file mode 100644 index 000000000..c2fec5fde --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_a9f8042d110a6fff15ea1813987c0fbe6.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print()

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::symbol::print (bool show_precision = true) const
+
+inline
+
+

Печать символа в лог контракта COOPOS

+ +

См. определение в файле symbol.hpp строка 301

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_abcbc25794d1a3e0477be40441be6b210.html b/docs/cdt/classeosio_1_1symbol_abcbc25794d1a3e0477be40441be6b210.html new file mode 100644 index 000000000..ba426c647 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_abcbc25794d1a3e0477be40441be6b210.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::symbol + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ symbol() [2/4]

+ +
+
+ + + + + +
+ + + + + + + + +
constexpr eosio::symbol::symbol (uint64_t raw)
+
+inlineexplicitconstexpr
+
+

Создаёт symbol из упакованного uint64_t (код и точность).

+
Аргументы
+ + +
raw— сырое значение uint64_t
+
+
+ +

См. определение в файле symbol.hpp строка 254

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_aec9fbc4e4aff91276e8c1f71f113c494.html b/docs/cdt/classeosio_1_1symbol_aec9fbc4e4aff91276e8c1f71f113c494.html new file mode 100644 index 000000000..2c4f96d5a --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_aec9fbc4e4aff91276e8c1f71f113c494.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::operator== + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator==

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator== (const symbola,
const symbolb 
)
+
+friend
+
+

Оператор равенства

+
Возвращает
true — символы совпадают
+ +

См. определение в файле symbol.hpp строка 316

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_af2153bf9cfc5bd79c3f1787f8028646a.html b/docs/cdt/classeosio_1_1symbol_af2153bf9cfc5bd79c3f1787f8028646a.html new file mode 100644 index 000000000..e3340af08 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_af2153bf9cfc5bd79c3f1787f8028646a.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::precision + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ precision()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr uint8_t eosio::symbol::precision () const
+
+inlineconstexpr
+
+

Точность символа (десятичные знаки)

+ +

См. определение в файле symbol.hpp строка 284

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_af52f86a82390abe6be09e9745df30815.html b/docs/cdt/classeosio_1_1symbol_af52f86a82390abe6be09e9745df30815.html new file mode 100644 index 000000000..e06898b05 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_af52f86a82390abe6be09e9745df30815.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::is_valid + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ is_valid()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool eosio::symbol::is_valid () const
+
+inlineconstexpr
+
+

Допустим ли символ

+ +

См. определение в файле symbol.hpp строка 279

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1symbol_afc5e4be9944b51deac6484128deb2ce2.html b/docs/cdt/classeosio_1_1symbol_afc5e4be9944b51deac6484128deb2ce2.html new file mode 100644 index 000000000..b6a47c453 --- /dev/null +++ b/docs/cdt/classeosio_1_1symbol_afc5e4be9944b51deac6484128deb2ce2.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::symbol::symbol + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ symbol() [4/4]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr eosio::symbol::symbol (std::string_view ss,
uint8_t precision 
)
+
+inlineconstexpr
+
+

Создаёт symbol по строке кода и точности.

+
Аргументы
+ + + +
ss— строка с кодом символа
precision— число десятичных знаков
+
+
+ +

См. определение в файле symbol.hpp строка 272

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point-members.html b/docs/cdt/classeosio_1_1time__point-members.html new file mode 100644 index 000000000..a9217e359 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point-members.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::time_point Cписок членов класса
+
+
+ +

Полный список членов класса eosio::time_point, включая наследуемые из базового класса

+ + + + + + +
from_iso_string(const std::string &date_str)eosio::time_pointinlinestatic
sec_since_epoch() consteosio::time_pointinline
time_point(microseconds e=microseconds())eosio::time_pointinlineexplicit
time_since_epoch() consteosio::time_pointinline
to_string() consteosio::time_pointinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point.html b/docs/cdt/classeosio_1_1time__point.html new file mode 100644 index 000000000..0cfa83a67 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point.html @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::time_point + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <time.hpp>

+ + + + + + + + + + +

+Открытые члены

 time_point (microseconds e=microseconds())
 
const microsecondstime_since_epoch () const
 
uint32_t sec_since_epoch () const
 
std::string to_string () const
 
+ + + +

+Открытые статические члены

static time_point from_iso_string (const std::string &date_str)
 
+

Подробное описание

+

High resolution time point in microseconds

+ +

См. определение в файле time.hpp строка 58

+

Объявления и описания членов класса находятся в файле:
    +
  • libraries/eosiolib/core/eosio/time.hpp
  • +
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point.js b/docs/cdt/classeosio_1_1time__point.js new file mode 100644 index 000000000..32ea5d867 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point.js @@ -0,0 +1,7 @@ +var classeosio_1_1time__point = +[ + [ "time_point", "classeosio_1_1time__point_a307b17c8475291a97892a1f9cd76fa36.html#a307b17c8475291a97892a1f9cd76fa36", null ], + [ "sec_since_epoch", "classeosio_1_1time__point_aedda68d4c06c12b9dcf27a8964f2c6a9.html#aedda68d4c06c12b9dcf27a8964f2c6a9", null ], + [ "time_since_epoch", "classeosio_1_1time__point_ad011eb25db435de048b2a5a00dcee066.html#ad011eb25db435de048b2a5a00dcee066", null ], + [ "to_string", "classeosio_1_1time__point_ac96d4680cf94a4a75bccd52ff2d5930e.html#ac96d4680cf94a4a75bccd52ff2d5930e", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1time__point__sec-members.html b/docs/cdt/classeosio_1_1time__point__sec-members.html new file mode 100644 index 000000000..e3a3e8e25 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec-members.html @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::time_point_sec Cписок членов класса
+
+
+ +

Полный список членов класса eosio::time_point_sec, включая наследуемые из базового класса

+ + + + + + + + + + +
from_iso_string(const std::string &date_str)eosio::time_point_secinlinestatic
maximum()eosio::time_point_secinlinestatic
min()eosio::time_point_secinlinestatic
operator time_point() consteosio::time_point_secinline
sec_since_epoch() consteosio::time_point_secinline
time_point_sec()eosio::time_point_secinline
time_point_sec(uint32_t seconds)eosio::time_point_secinlineexplicit
time_point_sec(const time_point &t)eosio::time_point_secinline
to_string() consteosio::time_point_secinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point__sec.html b/docs/cdt/classeosio_1_1time__point__sec.html new file mode 100644 index 000000000..590385355 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec.html @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::time_point_sec + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <time.hpp>

+ + + + + + + + + + + + + + +

+Открытые члены

 time_point_sec ()
 
 time_point_sec (uint32_t seconds)
 
 time_point_sec (const time_point &t)
 
std::string to_string () const
 
 operator time_point () const
 
uint32_t sec_since_epoch () const
 
+ + + + + + + +

+Открытые статические члены

static time_point_sec maximum ()
 
static time_point_sec min ()
 
static time_point_sec from_iso_string (const std::string &date_str)
 
+

Подробное описание

+

Момент времени с точностью до секунд с 1 января 1970 (UTC)

+ +

См. определение в файле time.hpp строка 106

+

Объявления и описания членов класса находятся в файле:
    +
  • libraries/eosiolib/core/eosio/time.hpp
  • +
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point__sec.js b/docs/cdt/classeosio_1_1time__point__sec.js new file mode 100644 index 000000000..d5048da5c --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec.js @@ -0,0 +1,9 @@ +var classeosio_1_1time__point__sec = +[ + [ "time_point_sec", "classeosio_1_1time__point__sec_ab0f6a00b7d53d82a9c68ee385d35c0cb.html#ab0f6a00b7d53d82a9c68ee385d35c0cb", null ], + [ "time_point_sec", "classeosio_1_1time__point__sec_a119a4edea2590a1152db08c4fc51e811.html#a119a4edea2590a1152db08c4fc51e811", null ], + [ "time_point_sec", "classeosio_1_1time__point__sec_afc6c67209c28cd9e5d70a4298deb39ad.html#afc6c67209c28cd9e5d70a4298deb39ad", null ], + [ "operator time_point", "classeosio_1_1time__point__sec_acd75205a33a0ccbb5e2d3ceea12182a7.html#acd75205a33a0ccbb5e2d3ceea12182a7", null ], + [ "sec_since_epoch", "classeosio_1_1time__point__sec_a9f061ae99cc49726e27ac9c29a460b5f.html#a9f061ae99cc49726e27ac9c29a460b5f", null ], + [ "to_string", "classeosio_1_1time__point__sec_a697e77fb6964d691d97aa6cd0c59e217.html#a697e77fb6964d691d97aa6cd0c59e217", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1time__point__sec_a090e65b6dc831f54eed58059b1718714.html b/docs/cdt/classeosio_1_1time__point__sec_a090e65b6dc831f54eed58059b1718714.html new file mode 100644 index 000000000..4e54feee0 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec_a090e65b6dc831f54eed58059b1718714.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point_sec::min + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ min()

+ +
+
+ + + + + +
+ + + + + + + +
static time_point_sec eosio::time_point_sec::min ()
+
+inlinestatic
+
+ +

См. определение в файле time.hpp строка 119

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point__sec_a119a4edea2590a1152db08c4fc51e811.html b/docs/cdt/classeosio_1_1time__point__sec_a119a4edea2590a1152db08c4fc51e811.html new file mode 100644 index 000000000..fb536cb12 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec_a119a4edea2590a1152db08c4fc51e811.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point_sec::time_point_sec + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ time_point_sec() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::time_point_sec::time_point_sec (uint32_t seconds)
+
+inlineexplicit
+
+ +

См. определение в файле time.hpp строка 112

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point__sec_a6911add79fa8b0e013f01a168c0af50e.html b/docs/cdt/classeosio_1_1time__point__sec_a6911add79fa8b0e013f01a168c0af50e.html new file mode 100644 index 000000000..f41b221c9 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec_a6911add79fa8b0e013f01a168c0af50e.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point_sec::from_iso_string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ from_iso_string()

+ +
+
+ + + + + +
+ + + + + + + + +
static time_point_sec eosio::time_point_sec::from_iso_string (const std::string & date_str)
+
+inlinestatic
+
+ +

См. определение в файле time.hpp строка 121

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point__sec_a697e77fb6964d691d97aa6cd0c59e217.html b/docs/cdt/classeosio_1_1time__point__sec_a697e77fb6964d691d97aa6cd0c59e217.html new file mode 100644 index 000000000..e6575d7ce --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec_a697e77fb6964d691d97aa6cd0c59e217.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point_sec::to_string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ to_string()

+ +
+
+ + + + + +
+ + + + + + + +
std::string eosio::time_point_sec::to_string () const
+
+inline
+
+ +

См. определение в файле time.hpp строка 126

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point__sec_a7e1d564816b972cf8c5962fc3ad348a9.html b/docs/cdt/classeosio_1_1time__point__sec_a7e1d564816b972cf8c5962fc3ad348a9.html new file mode 100644 index 000000000..dd592a699 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec_a7e1d564816b972cf8c5962fc3ad348a9.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point_sec::maximum + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ maximum()

+ +
+
+ + + + + +
+ + + + + + + +
static time_point_sec eosio::time_point_sec::maximum ()
+
+inlinestatic
+
+ +

См. определение в файле time.hpp строка 118

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point__sec_a9f061ae99cc49726e27ac9c29a460b5f.html b/docs/cdt/classeosio_1_1time__point__sec_a9f061ae99cc49726e27ac9c29a460b5f.html new file mode 100644 index 000000000..89ed5e380 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec_a9f061ae99cc49726e27ac9c29a460b5f.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point_sec::sec_since_epoch + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ sec_since_epoch()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t eosio::time_point_sec::sec_since_epoch () const
+
+inline
+
+ +

См. определение в файле time.hpp строка 131

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point__sec_ab0f6a00b7d53d82a9c68ee385d35c0cb.html b/docs/cdt/classeosio_1_1time__point__sec_ab0f6a00b7d53d82a9c68ee385d35c0cb.html new file mode 100644 index 000000000..de232000f --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec_ab0f6a00b7d53d82a9c68ee385d35c0cb.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point_sec::time_point_sec + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ time_point_sec() [1/3]

+ +
+
+ + + + + +
+ + + + + + + +
eosio::time_point_sec::time_point_sec ()
+
+inline
+
+ +

См. определение в файле time.hpp строка 109

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point__sec_acd75205a33a0ccbb5e2d3ceea12182a7.html b/docs/cdt/classeosio_1_1time__point__sec_acd75205a33a0ccbb5e2d3ceea12182a7.html new file mode 100644 index 000000000..0cebbfeb9 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec_acd75205a33a0ccbb5e2d3ceea12182a7.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point_sec::operator time_point + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator time_point()

+ +
+
+ + + + + +
+ + + + + + + +
eosio::time_point_sec::operator time_point () const
+
+inline
+
+ +

См. определение в файле time.hpp строка 130

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point__sec_afc6c67209c28cd9e5d70a4298deb39ad.html b/docs/cdt/classeosio_1_1time__point__sec_afc6c67209c28cd9e5d70a4298deb39ad.html new file mode 100644 index 000000000..6169b6327 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point__sec_afc6c67209c28cd9e5d70a4298deb39ad.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point_sec::time_point_sec + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ time_point_sec() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::time_point_sec::time_point_sec (const time_pointt)
+
+inline
+
+ +

См. определение в файле time.hpp строка 115

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point_a307b17c8475291a97892a1f9cd76fa36.html b/docs/cdt/classeosio_1_1time__point_a307b17c8475291a97892a1f9cd76fa36.html new file mode 100644 index 000000000..802a37c3b --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point_a307b17c8475291a97892a1f9cd76fa36.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point::time_point + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ time_point()

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::time_point::time_point (microseconds e = microseconds())
+
+inlineexplicit
+
+ +

См. определение в файле time.hpp строка 60

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point_a6c42fb4f6f6ae1f893502b8b30571625.html b/docs/cdt/classeosio_1_1time__point_a6c42fb4f6f6ae1f893502b8b30571625.html new file mode 100644 index 000000000..2798c49b5 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point_a6c42fb4f6f6ae1f893502b8b30571625.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point::from_iso_string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ from_iso_string()

+ +
+
+ + + + + +
+ + + + + + + + +
static time_point eosio::time_point::from_iso_string (const std::string & date_str)
+
+inlinestatic
+
+ +

См. определение в файле time.hpp строка 64

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point_ac96d4680cf94a4a75bccd52ff2d5930e.html b/docs/cdt/classeosio_1_1time__point_ac96d4680cf94a4a75bccd52ff2d5930e.html new file mode 100644 index 000000000..d6edc6001 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point_ac96d4680cf94a4a75bccd52ff2d5930e.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point::to_string + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ to_string()

+ +
+
+ + + + + +
+ + + + + + + +
std::string eosio::time_point::to_string () const
+
+inline
+
+ +

См. определение в файле time.hpp строка 73

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point_ad011eb25db435de048b2a5a00dcee066.html b/docs/cdt/classeosio_1_1time__point_ad011eb25db435de048b2a5a00dcee066.html new file mode 100644 index 000000000..605c38d03 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point_ad011eb25db435de048b2a5a00dcee066.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point::time_since_epoch + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ time_since_epoch()

+ +
+
+ + + + + +
+ + + + + + + +
const microseconds & eosio::time_point::time_since_epoch () const
+
+inline
+
+ +

См. определение в файле time.hpp строка 61

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1time__point_aedda68d4c06c12b9dcf27a8964f2c6a9.html b/docs/cdt/classeosio_1_1time__point_aedda68d4c06c12b9dcf27a8964f2c6a9.html new file mode 100644 index 000000000..2cbbea973 --- /dev/null +++ b/docs/cdt/classeosio_1_1time__point_aedda68d4c06c12b9dcf27a8964f2c6a9.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::time_point::sec_since_epoch + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ sec_since_epoch()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t eosio::time_point::sec_since_epoch () const
+
+inline
+
+ +

См. определение в файле time.hpp строка 62

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction-members.html b/docs/cdt/classeosio_1_1transaction-members.html new file mode 100644 index 000000000..6a4855159 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction-members.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::transaction Cписок членов класса
+
+
+ +

Полный список членов класса eosio::transaction, включая наследуемые из базового класса

+ + + + + + + + + + + + + +
actionseosio::transaction
context_free_actionseosio::transaction
delay_seceosio::transaction_header
expirationeosio::transaction_header
max_cpu_usage_mseosio::transaction_header
max_net_usage_wordseosio::transaction_header
ref_block_numeosio::transaction_header
ref_block_prefixeosio::transaction_header
send(const uint128_t &sender_id, name payer, bool replace_existing=false) consteosio::transactioninline
transaction(time_point_sec exp=time_point_sec(current_time_point())+60)eosio::transactioninline
transaction_extensionseosio::transaction
transaction_header(time_point_sec exp=time_point_sec(current_time_point())+60)eosio::transaction_headerinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction.html b/docs/cdt/classeosio_1_1transaction.html new file mode 100644 index 000000000..46337bce5 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction.html @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::transaction + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

#include <transaction.hpp>

+
+Граф наследования:eosio::transaction:
+
+
+ + +eosio::transaction_header + +
+ + + + + + + + + + +

+Открытые члены

 transaction (time_point_sec exp=time_point_sec(current_time_point())+60)
 
void send (const uint128_t &sender_id, name payer, bool replace_existing=false) const
 
- Открытые члены унаследованные от eosio::transaction_header
 transaction_header (time_point_sec exp=time_point_sec(current_time_point())+60)
 Создаёт объект transaction_header со сроком действия заголовка транзакции «сейчас + 60 с» Подробнее...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Открытые атрибуты

std::vector< actioncontext_free_actions
 
std::vector< actionactions
 
extensions_type transaction_extensions
 
- Открытые атрибуты унаследованные от eosio::transaction_header
time_point_sec expiration
 
uint16_t ref_block_num
 
uint32_t ref_block_prefix
 
unsigned_int max_net_usage_words = 0UL
 
uint8_t max_cpu_usage_ms = 0UL
 число 8-байтовых слов, в которые может быть сериализована транзакция после сжатия Подробнее...
 
unsigned_int delay_sec = 0UL
 число единиц использования CPU для тарификации транзакции Подробнее...
 
+

Подробное описание

+

Класс transaction содержит действия, context_free_actions и расширения транзакции

+ +

См. определение в файле transaction.hpp строка 106

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction.js b/docs/cdt/classeosio_1_1transaction.js new file mode 100644 index 000000000..8c32a7e71 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction.js @@ -0,0 +1,8 @@ +var classeosio_1_1transaction = +[ + [ "transaction", "classeosio_1_1transaction_aa1c104e5e613662ae3d5c6f66313b352.html#aa1c104e5e613662ae3d5c6f66313b352", null ], + [ "send", "classeosio_1_1transaction_aff16436e52fff284fabc0b748be342b4.html#aff16436e52fff284fabc0b748be342b4", null ], + [ "actions", "classeosio_1_1transaction_ad53cc19e62742bf205934509c1363e42.html#ad53cc19e62742bf205934509c1363e42", null ], + [ "context_free_actions", "classeosio_1_1transaction_a38263b68fda9925f2c6472777a04179c.html#a38263b68fda9925f2c6472777a04179c", null ], + [ "transaction_extensions", "classeosio_1_1transaction_a445fd87e3465a1ca647c711c1ac0c711.html#a445fd87e3465a1ca647c711c1ac0c711", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1transaction.png b/docs/cdt/classeosio_1_1transaction.png new file mode 100644 index 000000000..d748faaeb Binary files /dev/null and b/docs/cdt/classeosio_1_1transaction.png differ diff --git a/docs/cdt/classeosio_1_1transaction__header-members.html b/docs/cdt/classeosio_1_1transaction__header-members.html new file mode 100644 index 000000000..bff4925b9 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction__header-members.html @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio::transaction_header Cписок членов класса
+
+
+ +

Полный список членов класса eosio::transaction_header, включая наследуемые из базового класса

+ + + + + + + + +
delay_seceosio::transaction_header
expirationeosio::transaction_header
max_cpu_usage_mseosio::transaction_header
max_net_usage_wordseosio::transaction_header
ref_block_numeosio::transaction_header
ref_block_prefixeosio::transaction_header
transaction_header(time_point_sec exp=time_point_sec(current_time_point())+60)eosio::transaction_headerinline
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction__header.html b/docs/cdt/classeosio_1_1transaction__header.html new file mode 100644 index 000000000..ef2fcfcc0 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction__header.html @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + +CDT: Класс eosio::transaction_header + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Содержит сведения о транзакции + Подробнее...

+ +

#include <transaction.hpp>

+
+Граф наследования:eosio::transaction_header:
+
+
+ + +eosio::transaction + +
+ + + + + +

+Открытые члены

 transaction_header (time_point_sec exp=time_point_sec(current_time_point())+60)
 Создаёт объект transaction_header со сроком действия заголовка транзакции «сейчас + 60 с» Подробнее...
 
+ + + + + + + + + + + + + + + +

+Открытые атрибуты

time_point_sec expiration
 
uint16_t ref_block_num
 
uint32_t ref_block_prefix
 
unsigned_int max_net_usage_words = 0UL
 
uint8_t max_cpu_usage_ms = 0UL
 число 8-байтовых слов, в которые может быть сериализована транзакция после сжатия Подробнее...
 
unsigned_int delay_sec = 0UL
 число единиц использования CPU для тарификации транзакции Подробнее...
 
+

Подробное описание

+

Содержит сведения о транзакции

+

Класс transaction_header содержит сведения о транзакции

+ +

См. определение в файле transaction.hpp строка 79

+

Объявления и описания членов класса находятся в файле: +
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction__header.js b/docs/cdt/classeosio_1_1transaction__header.js new file mode 100644 index 000000000..85e9dff48 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction__header.js @@ -0,0 +1,10 @@ +var classeosio_1_1transaction__header = +[ + [ "transaction_header", "classeosio_1_1transaction__header_a6abf412b441f881616bad00837503075.html#a6abf412b441f881616bad00837503075", null ], + [ "delay_sec", "classeosio_1_1transaction__header_adbe5ee5f38a82db68162188c49d62f39.html#adbe5ee5f38a82db68162188c49d62f39", null ], + [ "expiration", "classeosio_1_1transaction__header_a32a532f21d5a5eeadd892723d9171e05.html#a32a532f21d5a5eeadd892723d9171e05", null ], + [ "max_cpu_usage_ms", "classeosio_1_1transaction__header_a5fbc5f8eef0093ad65598953156d4359.html#a5fbc5f8eef0093ad65598953156d4359", null ], + [ "max_net_usage_words", "classeosio_1_1transaction__header_aad5eeaa9d26473ae8faa0d9c5cf44c0e.html#aad5eeaa9d26473ae8faa0d9c5cf44c0e", null ], + [ "ref_block_num", "classeosio_1_1transaction__header_a7bd1f446f3a9a212183787d223d89766.html#a7bd1f446f3a9a212183787d223d89766", null ], + [ "ref_block_prefix", "classeosio_1_1transaction__header_aed4b528cd8a73ac9fa9cb5b7c429f90c.html#aed4b528cd8a73ac9fa9cb5b7c429f90c", null ] +]; \ No newline at end of file diff --git a/docs/cdt/classeosio_1_1transaction__header.png b/docs/cdt/classeosio_1_1transaction__header.png new file mode 100644 index 000000000..45ae5df80 Binary files /dev/null and b/docs/cdt/classeosio_1_1transaction__header.png differ diff --git a/docs/cdt/classeosio_1_1transaction__header_a32a532f21d5a5eeadd892723d9171e05.html b/docs/cdt/classeosio_1_1transaction__header_a32a532f21d5a5eeadd892723d9171e05.html new file mode 100644 index 000000000..c0beabde5 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction__header_a32a532f21d5a5eeadd892723d9171e05.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction_header::expiration + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ expiration

+ +
+
+ + + + +
time_point_sec eosio::transaction_header::expiration
+
+ +

См. определение в файле transaction.hpp строка 91

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction__header_a5fbc5f8eef0093ad65598953156d4359.html b/docs/cdt/classeosio_1_1transaction__header_a5fbc5f8eef0093ad65598953156d4359.html new file mode 100644 index 000000000..88458e096 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction__header_a5fbc5f8eef0093ad65598953156d4359.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction_header::max_cpu_usage_ms + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ max_cpu_usage_ms

+ +
+
+ + + + +
uint8_t eosio::transaction_header::max_cpu_usage_ms = 0UL
+
+ +

число 8-байтовых слов, в которые может быть сериализована транзакция после сжатия

+ +

См. определение в файле transaction.hpp строка 95

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction__header_a6abf412b441f881616bad00837503075.html b/docs/cdt/classeosio_1_1transaction__header_a6abf412b441f881616bad00837503075.html new file mode 100644 index 000000000..12b3a254a --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction__header_a6abf412b441f881616bad00837503075.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction_header::transaction_header + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ transaction_header()

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::transaction_header::transaction_header (time_point_sec exp = time_point_sec(current_time_point()) + 60)
+
+inline
+
+ +

Создаёт объект transaction_header со сроком действия заголовка транзакции «сейчас + 60 с»

+

Создаёт новый transaction_header со сроком действия «сейчас + 60 с».

+ +

См. определение в файле transaction.hpp строка 87

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction__header_a7bd1f446f3a9a212183787d223d89766.html b/docs/cdt/classeosio_1_1transaction__header_a7bd1f446f3a9a212183787d223d89766.html new file mode 100644 index 000000000..be61cf2f7 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction__header_a7bd1f446f3a9a212183787d223d89766.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction_header::ref_block_num + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ ref_block_num

+ +
+
+ + + + +
uint16_t eosio::transaction_header::ref_block_num
+
+ +

См. определение в файле transaction.hpp строка 92

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction__header_aad5eeaa9d26473ae8faa0d9c5cf44c0e.html b/docs/cdt/classeosio_1_1transaction__header_aad5eeaa9d26473ae8faa0d9c5cf44c0e.html new file mode 100644 index 000000000..38b25259b --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction__header_aad5eeaa9d26473ae8faa0d9c5cf44c0e.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction_header::max_net_usage_words + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ max_net_usage_words

+ +
+
+ + + + +
unsigned_int eosio::transaction_header::max_net_usage_words = 0UL
+
+ +

См. определение в файле transaction.hpp строка 94

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction__header_adbe5ee5f38a82db68162188c49d62f39.html b/docs/cdt/classeosio_1_1transaction__header_adbe5ee5f38a82db68162188c49d62f39.html new file mode 100644 index 000000000..90951b704 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction__header_adbe5ee5f38a82db68162188c49d62f39.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction_header::delay_sec + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ delay_sec

+ +
+
+ + + + +
unsigned_int eosio::transaction_header::delay_sec = 0UL
+
+ +

число единиц использования CPU для тарификации транзакции

+ +

См. определение в файле transaction.hpp строка 96

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction__header_aed4b528cd8a73ac9fa9cb5b7c429f90c.html b/docs/cdt/classeosio_1_1transaction__header_aed4b528cd8a73ac9fa9cb5b7c429f90c.html new file mode 100644 index 000000000..acb67152a --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction__header_aed4b528cd8a73ac9fa9cb5b7c429f90c.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction_header::ref_block_prefix + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ ref_block_prefix

+ +
+
+ + + + +
uint32_t eosio::transaction_header::ref_block_prefix
+
+ +

См. определение в файле transaction.hpp строка 93

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction_a38263b68fda9925f2c6472777a04179c.html b/docs/cdt/classeosio_1_1transaction_a38263b68fda9925f2c6472777a04179c.html new file mode 100644 index 000000000..ab27a8d1e --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction_a38263b68fda9925f2c6472777a04179c.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction::context_free_actions + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ context_free_actions

+ +
+
+ + + + +
std::vector<action> eosio::transaction::context_free_actions
+
+ +

См. определение в файле transaction.hpp строка 126

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction_a445fd87e3465a1ca647c711c1ac0c711.html b/docs/cdt/classeosio_1_1transaction_a445fd87e3465a1ca647c711c1ac0c711.html new file mode 100644 index 000000000..853e19782 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction_a445fd87e3465a1ca647c711c1ac0c711.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction::transaction_extensions + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ transaction_extensions

+ +
+
+ + + + +
extensions_type eosio::transaction::transaction_extensions
+
+ +

См. определение в файле transaction.hpp строка 128

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction_aa1c104e5e613662ae3d5c6f66313b352.html b/docs/cdt/classeosio_1_1transaction_aa1c104e5e613662ae3d5c6f66313b352.html new file mode 100644 index 000000000..b7e2ce8c6 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction_aa1c104e5e613662ae3d5c6f66313b352.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction::transaction + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ transaction()

+ +
+
+ + + + + +
+ + + + + + + + +
eosio::transaction::transaction (time_point_sec exp = time_point_sec(current_time_point()) + 60)
+
+inline
+
+

Создаёт новую транзакцию со сроком действия «сейчас + 60 с».

+ +

См. определение в файле transaction.hpp строка 112

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction_ad53cc19e62742bf205934509c1363e42.html b/docs/cdt/classeosio_1_1transaction_ad53cc19e62742bf205934509c1363e42.html new file mode 100644 index 000000000..31ffa58e5 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction_ad53cc19e62742bf205934509c1363e42.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction::actions + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ actions

+ +
+
+ + + + +
std::vector<action> eosio::transaction::actions
+
+ +

См. определение в файле transaction.hpp строка 127

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classeosio_1_1transaction_aff16436e52fff284fabc0b748be342b4.html b/docs/cdt/classeosio_1_1transaction_aff16436e52fff284fabc0b748be342b4.html new file mode 100644 index 000000000..bd0f3a295 --- /dev/null +++ b/docs/cdt/classeosio_1_1transaction_aff16436e52fff284fabc0b748be342b4.html @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction::send + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ send()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::transaction::send (const uint128_t & sender_id,
name payer,
bool replace_existing = false 
) const
+
+inline
+
+

Отправляет эту транзакцию: упаковывает её и отправляет как отложенную (deferred)

+
Аргументы
+ + + + +
sender_id— идентификатор отправителя
payer— аккаунт, оплачивающий RAM
replace_existing— по умолчанию false: при 0/false, если указанный sender_id уже занят выполняющейся транзакцией этого контракта, сработает неуспешный assert. При 1 транзакция атомарно отменит/заменит текущую «в полёте»
+
+
+ +

См. определение в файле transaction.hpp строка 121

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/classes.html b/docs/cdt/classes.html new file mode 100644 index 000000000..7bf5ead4e --- /dev/null +++ b/docs/cdt/classes.html @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + +CDT: Алфавитный указатель классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Алфавитный указатель классов
+
+
+
A | B | C | D | E | F | I | K | L | M | N | O | P | R | S | T | U | V
+
+
+
A
+
action (eosio)
action_wrapper (eosio)
asset (eosio)
+
+
B
+
block_signing_authority_v0 (eosio)
block_timestamp (eosio)
blockchain_parameters (eosio)
+
+
C
+
code_hash_result (eosio)
concat_t (eosio::impl)
multi_index::const_iterator (eosio)
multi_index::index::const_iterator (eosio)
const_mem_fun (eosio)
contract (eosio)
+
+
D
+
datastream (eosio)
datastream< size_t > (eosio)
+
+
E
+
ec_point (eosio)
ec_point_view (eosio)
extended_asset (eosio)
extended_symbol (eosio)
+
+
F
+
fixed_bytes (eosio)
+
+
I
+
ignore (eosio)
ignore_wrapper (eosio)
indexed_by (eosio)
inline_dispatcher (eosio)
inline_dispatcher< void(T::*)(Args...), Name > (eosio)
iostream (eosio)
is_datastream (eosio::_datastream_detail)
is_datastream< datastream< T > > (eosio::_datastream_detail)
+
+
K
+
key_weight (eosio)
+
+
L
+
largest_power (eosio::detail)
largest_power_helper (eosio::detail)
largest_power_helper< T, Base, Exponent, Value, true > (eosio::detail)
+
+
M
+
microseconds (eosio)
multi_index (eosio)
+
+
N
+
name (eosio)
+
+
O
+
onerror (eosio)
overloaded (eosio)
+
+
P
+
permission_level (eosio)
producer_authority (eosio)
producer_key (eosio)
producer_schedule (eosio)
+
+
R
+
rope (eosio)
+
+
S
+
secondary_index_db_functions (eosio::_multi_index_detail)
secondary_key_traits (eosio::_multi_index_detail)
secondary_key_traits< double > (eosio::_multi_index_detail)
secondary_key_traits< eosio::fixed_bytes< 32 > > (eosio::_multi_index_detail)
secondary_key_traits< long double > (eosio::_multi_index_detail)
security_group (eosio)
signed_int (eosio)
singleton (eosio)
str_t (eosio::impl)
string (eosio)
symbol (eosio)
symbol_code (eosio)
+
+
T
+
time_point (eosio)
time_point_sec (eosio)
to_const_char_arr (eosio::detail)
transaction (eosio)
transaction_header (eosio)
+
+
U
+
unsigned_int (eosio)
+
+
V
+
variant_action_wrapper (eosio)
+
+
+
+ + + + + + diff --git a/docs/cdt/closed.png b/docs/cdt/closed.png new file mode 100644 index 000000000..98cc2c909 Binary files /dev/null and b/docs/cdt/closed.png differ diff --git a/docs/cdt/context_8hpp.html b/docs/cdt/context_8hpp.html new file mode 100644 index 000000000..a9e05a3a6 --- /dev/null +++ b/docs/cdt/context_8hpp.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/context.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
#include "name.hpp"
+
+

См. исходные тексты.

+ + + + + + +

+Пространства имен

namespace  eosio
 
namespace  eosio::internal_use_do_not_use
 
+ + + +

+Функции

name eosio::current_context_contract ()
 
+ + + +

+Переменные

uint64_t eosio::internal_use_do_not_use::eosio_contract_name
 
+
+
+ + + + + + diff --git a/docs/cdt/context_8hpp.js b/docs/cdt/context_8hpp.js new file mode 100644 index 000000000..179f2456a --- /dev/null +++ b/docs/cdt/context_8hpp.js @@ -0,0 +1,5 @@ +var context_8hpp = +[ + [ "current_context_contract", "context_8hpp.html#af30ec535f8c8483b8779abcfbf73275e", null ], + [ "eosio_contract_name", "context_8hpp.html#a795262482ae507e5517c19e1ddaa606f", null ] +]; \ No newline at end of file diff --git a/docs/cdt/context_8hpp_source.html b/docs/cdt/context_8hpp_source.html new file mode 100644 index 000000000..77b7679ff --- /dev/null +++ b/docs/cdt/context_8hpp_source.html @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/context.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
context.hpp
+
+
+См. документацию.
1#pragma once
+
2
+
3#include "name.hpp"
+
4
+
5namespace eosio {
+
6 namespace internal_use_do_not_use {
+ +
8 }
+
9
+ +
11}
+
+
+ + + + + + diff --git a/docs/cdt/contract_8hpp.html b/docs/cdt/contract_8hpp.html new file mode 100644 index 000000000..73e061bda --- /dev/null +++ b/docs/cdt/contract_8hpp.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/contract.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

См. исходные тексты.

+ + + + +

+Классы

class  eosio::contract
 
+ + + +

+Пространства имен

namespace  eosio
 
+ + + + + + + +

+Макросы

#define CONTRACT   class [[eosio::contract]]
 
#define ACTION   [[eosio::action]] void
 
#define TABLE   struct [[eosio::table]]
 
+
+
+ + + + + + diff --git a/docs/cdt/contract_8hpp.js b/docs/cdt/contract_8hpp.js new file mode 100644 index 000000000..e1682feed --- /dev/null +++ b/docs/cdt/contract_8hpp.js @@ -0,0 +1,6 @@ +var contract_8hpp = +[ + [ "ACTION", "contract_8hpp_abeb73dfe8d6e8c280ebce28d84190c7e.html#abeb73dfe8d6e8c280ebce28d84190c7e", null ], + [ "CONTRACT", "group__contract_ga3dd8a1be2fbf980ee66578476244d85f.html#ga3dd8a1be2fbf980ee66578476244d85f", null ], + [ "TABLE", "contract_8hpp_acadaccd8321f8569f31a11bdad1829da.html#acadaccd8321f8569f31a11bdad1829da", null ] +]; \ No newline at end of file diff --git a/docs/cdt/contract_8hpp_abeb73dfe8d6e8c280ebce28d84190c7e.html b/docs/cdt/contract_8hpp_abeb73dfe8d6e8c280ebce28d84190c7e.html new file mode 100644 index 000000000..1d59ee8aa --- /dev/null +++ b/docs/cdt/contract_8hpp_abeb73dfe8d6e8c280ebce28d84190c7e.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: ACTION + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ ACTION

+ +
+
+ + + + +
#define ACTION   [[eosio::action]] void
+
+ +

См. определение в файле contract.hpp строка 19

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/contract_8hpp_acadaccd8321f8569f31a11bdad1829da.html b/docs/cdt/contract_8hpp_acadaccd8321f8569f31a11bdad1829da.html new file mode 100644 index 000000000..a74f2ae40 --- /dev/null +++ b/docs/cdt/contract_8hpp_acadaccd8321f8569f31a11bdad1829da.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: TABLE + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ TABLE

+ +
+
+ + + + +
#define TABLE   struct [[eosio::table]]
+
+ +

См. определение в файле contract.hpp строка 20

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/contract_8hpp_source.html b/docs/cdt/contract_8hpp_source.html new file mode 100644 index 000000000..5e08109b7 --- /dev/null +++ b/docs/cdt/contract_8hpp_source.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/contract.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
contract.hpp
+
+
+См. документацию.
1#pragma once
+
2
+
3#include "../../core/eosio/name.hpp"
+
4#include "../../core/eosio/datastream.hpp"
+
5
+
6
+
18#define CONTRACT class [[eosio::contract]]
+
19#define ACTION [[eosio::action]] void
+
20#define TABLE struct [[eosio::table]]
+
21
+
22namespace eosio {
+
23
+
30class contract {
+
31 public:
+
39 contract( name self, name first_receiver, datastream<const char*> ds ):_self(self),_first_receiver(first_receiver),_ds(ds) {}
+
40
+
47 inline name get_self()const { return _self; }
+
48
+
54 [[deprecated]]
+
55 inline name get_code()const { return _first_receiver; }
+
56
+
62 inline name get_first_receiver()const { return _first_receiver; }
+
63
+ +
70
+
76 inline const datastream<const char*>& get_datastream()const { return _ds; }
+
77
+
78 protected:
+ +
83
+ +
88
+ +
93};
+
94}
+
+
+ + + + + + diff --git a/docs/cdt/crypto_8hpp.html b/docs/cdt/crypto_8hpp.html new file mode 100644 index 000000000..11007b6dc --- /dev/null +++ b/docs/cdt/crypto_8hpp.html @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/crypto.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Файл crypto.hpp
+
+
+
#include "fixed_bytes.hpp"
+#include "varint.hpp"
+#include "serialize.hpp"
+#include "name.hpp"
+#include <array>
+
+

См. исходные тексты.

+

Подробное описание

+
+ +

См. определение в файле crypto.hpp

+
+
+ + + + + + diff --git a/docs/cdt/crypto_8hpp_source.html b/docs/cdt/crypto_8hpp_source.html new file mode 100644 index 000000000..f7e3b8ecf --- /dev/null +++ b/docs/cdt/crypto_8hpp_source.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/crypto.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
crypto.hpp
+
+
+См. документацию.
1
+
5#pragma once
+
6
+
7#include "fixed_bytes.hpp"
+
8#include "varint.hpp"
+
9#include "serialize.hpp"
+
10#include "name.hpp"
+
11
+
12#include <array>
+
13
+
14namespace eosio {
+
15
+
30 using ecc_public_key = std::array<char, 33>;
+
31
+
37 struct webauthn_public_key {
+
42 enum class user_presence_t : uint8_t {
+
43 USER_PRESENCE_NONE,
+
44 USER_PRESENCE_PRESENT,
+
45 USER_PRESENCE_VERIFIED
+
46 };
+
47
+
51 ecc_public_key key;
+
52
+
57 user_presence_t user_presence;
+
58
+
63 std::string rpid;
+
64
+
66
+
67 friend bool operator == ( const webauthn_public_key& a, const webauthn_public_key& b ) {
+
68 return std::tie(a.key,a.user_presence,a.rpid) == std::tie(b.key,b.user_presence,b.rpid);
+
69 }
+
70 friend bool operator != ( const webauthn_public_key& a, const webauthn_public_key& b ) {
+
71 return std::tie(a.key,a.user_presence,a.rpid) != std::tie(b.key,b.user_presence,b.rpid);
+
72 }
+
73 friend bool operator < ( const webauthn_public_key& a, const webauthn_public_key& b ) {
+
74 return std::tie(a.key,a.user_presence,a.rpid) < std::tie(b.key,b.user_presence,b.rpid);
+
75 }
+
76 friend bool operator <= ( const webauthn_public_key& a, const webauthn_public_key& b ) {
+
77 return std::tie(a.key,a.user_presence,a.rpid) <= std::tie(b.key,b.user_presence,b.rpid);
+
78 }
+
79 friend bool operator > ( const webauthn_public_key& a, const webauthn_public_key& b ) {
+
80 return std::tie(a.key,a.user_presence,a.rpid) > std::tie(b.key,b.user_presence,b.rpid);
+
81 }
+
82 friend bool operator >= ( const webauthn_public_key& a, const webauthn_public_key& b ) {
+
83 return std::tie(a.key,a.user_presence,a.rpid) >= std::tie(b.key,b.user_presence,b.rpid);
+
84 }
+
85
+
87 };
+
88
+
99 using public_key = std::variant<ecc_public_key, ecc_public_key, webauthn_public_key>;
+
100
+
101
+
103
+
113 template<typename DataStream>
+
114 inline DataStream& operator<<(DataStream& ds, const eosio::webauthn_public_key& pubkey) {
+
115 ds << pubkey.key << pubkey.user_presence << pubkey.rpid;
+
116 return ds;
+
117 }
+
118
+
128 template<typename DataStream>
+
129 inline DataStream& operator>>(DataStream& ds, eosio::webauthn_public_key& pubkey) {
+
130 ds >> pubkey.key >> pubkey.user_presence >> pubkey.rpid;
+
131 return ds;
+
132 }
+
133
+
135
+
150 using ecc_signature = std::array<char, 65>;
+
151
+
157 struct webauthn_signature {
+
161 ecc_signature compact_signature;
+
162
+
167 std::vector<uint8_t> auth_data;
+
168
+
173 std::string client_json;
+
174
+
176
+
177 friend bool operator == ( const webauthn_signature& a, const webauthn_signature& b ) {
+
178 return std::tie(a.compact_signature,a.auth_data,a.client_json) == std::tie(b.compact_signature,b.auth_data,b.client_json);
+
179 }
+
180 friend bool operator != ( const webauthn_signature& a, const webauthn_signature& b ) {
+
181 return std::tie(a.compact_signature,a.auth_data,a.client_json) != std::tie(b.compact_signature,b.auth_data,b.client_json);
+
182 }
+
183
+
185 };
+
186
+
197 using signature = std::variant<ecc_signature, ecc_signature, webauthn_signature>;
+
198
+
200
+
209 template<typename DataStream>
+
210 inline DataStream& operator<<(DataStream& ds, const eosio::webauthn_signature& sig) {
+
211 ds << sig.compact_signature << sig.auth_data << sig.client_json;
+
212 return ds;
+
213 }
+
214
+
223 template<typename DataStream>
+
224 inline DataStream& operator>>(DataStream& ds, eosio::webauthn_signature& sig) {
+
225 ds >> sig.compact_signature >> sig.auth_data >> sig.client_json;
+
226 return ds;
+
227 }
+
228
+
230
+
246 void assert_sha256( const char* data, uint32_t length, const eosio::checksum256& hash );
+
247
+
257 void assert_sha1( const char* data, uint32_t length, const eosio::checksum160& hash );
+
258
+
268 void assert_sha512( const char* data, uint32_t length, const eosio::checksum512& hash );
+
269
+
278 void assert_ripemd160( const char* data, uint32_t length, const eosio::checksum160& hash );
+
279
+
288 eosio::checksum256 sha256( const char* data, uint32_t length );
+
289
+
299 eosio::checksum160 sha1( const char* data, uint32_t length );
+
300
+
309 eosio::checksum512 sha512( const char* data, uint32_t length );
+
310
+
319 eosio::checksum160 ripemd160( const char* data, uint32_t length );
+
320
+
329 eosio::public_key recover_key( const eosio::checksum256& digest, const eosio::signature& sig );
+
330
+
339 void assert_recover_key( const eosio::checksum256& digest, const eosio::signature& sig, const eosio::public_key& pubkey );
+
340
+
359 void assert_recover_key_account( const eosio::checksum256& digest, const eosio::signature& sig, const eosio::public_key& pubkey, eosio::name account, eosio::name permission );
+
360}
+
+
+ + + + + + diff --git a/docs/cdt/crypto__ext_8hpp.html b/docs/cdt/crypto__ext_8hpp.html new file mode 100644 index 000000000..2ee68963e --- /dev/null +++ b/docs/cdt/crypto__ext_8hpp.html @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/crypto_ext.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
#include "check.hpp"
+#include "fixed_bytes.hpp"
+#include "varint.hpp"
+#include "serialize.hpp"
+#include <array>
+
+

См. исходные тексты.

+ + + + + + +

+Классы

struct  eosio::ec_point< Size >
 
struct  eosio::ec_point_view< Size >
 
+ + + + + +

+Пространства имен

namespace  eosio
 
namespace  eosio::internal_use_do_not_use
 
+ + + + + + + + + + + +

+Определения типов

using eosio::g1_point = ec_point< g1_coordinate_size >
 
using eosio::g2_point = ec_point< g2_coordinate_size >
 
using eosio::g1_point_view = ec_point_view< g1_coordinate_size >
 
using eosio::g2_point_view = ec_point_view< g2_coordinate_size >
 
using eosio::bigint = std::vector< char >
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Функции

struct eosio::internal_use_do_not_use::__attribute__ ((aligned(16))) capi_checksum256_ext
 
 eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
 
template<typename T >
g1_point eosio::alt_bn128_add (const T &op1, const T &op2)
 
int32_t eosio::alt_bn128_add (const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, char *result, uint32_t result_len)
 
template<typename T >
g1_point eosio::alt_bn128_mul (const T &g1, const bigint &scalar)
 
int32_t eosio::alt_bn128_mul (const char *g1, uint32_t g1_len, const char *scalar, uint32_t scalar_len, char *result, uint32_t result_len)
 
template<typename G1_T , typename G2_T >
int32_t eosio::alt_bn128_pair (const std::vector< std::pair< G1_T, G2_T > > &pairs)
 
int32_t eosio::alt_bn128_pair (const char *pairs, uint32_t pairs_len)
 
int32_t eosio::mod_exp (const bigint &base, const bigint &exp, const bigint &mod, bigint &result)
 
int32_t eosio::mod_exp (const char *base, uint32_t base_len, const char *exp, uint32_t exp_len, const char *mod, uint32_t mod_len, char *result, uint32_t result_len)
 
int32_t eosio::blake2_f (uint32_t rounds, const std::vector< char > &state, const std::vector< char > &msg, const std::vector< char > &t0_offset, const std::vector< char > &t1_offset, bool final, std::vector< char > &result)
 
int32_t eosio::blake2_f (uint32_t rounds, const char *state, uint32_t state_len, const char *msg, uint32_t msg_len, const char *t0_offset, uint32_t t0_len, const char *t1_offset, uint32_t t1_len, int32_t final, char *result, uint32_t result_len)
 
eosio::checksum256 eosio::sha3 (const char *data, uint32_t length)
 
void eosio::assert_sha3 (const char *data, uint32_t length, const eosio::checksum256 &hash)
 
eosio::checksum256 eosio::keccak (const char *data, uint32_t length)
 
void eosio::assert_keccak (const char *data, uint32_t length, const eosio::checksum256 &hash)
 
int32_t eosio::k1_recover (const char *sig, uint32_t sig_len, const char *dig, uint32_t dig_len, char *pub, uint32_t pub_len)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Переменные

uint32_t eosio::internal_use_do_not_use::op1_len
 
uint32_t const char * eosio::internal_use_do_not_use::op2
 
uint32_t const char uint32_t eosio::internal_use_do_not_use::op2_len
 
uint32_t const char uint32_t char * eosio::internal_use_do_not_use::result
 
uint32_t const char uint32_t char uint32_t eosio::internal_use_do_not_use::result_len
 
uint32_t eosio::internal_use_do_not_use::g1_len
 
uint32_t const char * eosio::internal_use_do_not_use::scalar
 
uint32_t const char uint32_t eosio::internal_use_do_not_use::scalar_len
 
uint32_t eosio::internal_use_do_not_use::pairs_len
 
uint32_t eosio::internal_use_do_not_use::base_len
 
uint32_t const char * eosio::internal_use_do_not_use::exp
 
uint32_t const char uint32_t eosio::internal_use_do_not_use::exp_len
 
uint32_t const char uint32_t const char * eosio::internal_use_do_not_use::mod
 
uint32_t const char uint32_t const char uint32_t eosio::internal_use_do_not_use::mod_len
 
const char * eosio::internal_use_do_not_use::state
 
const char uint32_t eosio::internal_use_do_not_use::state_len
 
const char uint32_t const char uint32_t const char * eosio::internal_use_do_not_use::t0_offset
 
const char uint32_t const char uint32_t const char uint32_t eosio::internal_use_do_not_use::t0_len
 
const char uint32_t const char uint32_t const char uint32_t const char * eosio::internal_use_do_not_use::t1_offset
 
const char uint32_t const char uint32_t const char uint32_t const char uint32_t eosio::internal_use_do_not_use::t1_len
 
const char uint32_t const char uint32_t const char uint32_t const char uint32_t int32_t eosio::internal_use_do_not_use::final
 
uint32_t eosio::internal_use_do_not_use::sig_len
 
uint32_t const char * eosio::internal_use_do_not_use::dig
 
uint32_t const char uint32_t eosio::internal_use_do_not_use::dig_len
 
uint32_t const char uint32_t char * eosio::internal_use_do_not_use::pub
 
uint32_t const char uint32_t char uint32_t eosio::internal_use_do_not_use::pub_len
 
uint32_t eosio::internal_use_do_not_use::data_len
 
uint32_t char * eosio::internal_use_do_not_use::hash
 
uint32_t char uint32_t eosio::internal_use_do_not_use::hash_len
 
uint32_t char uint32_t int32_t eosio::internal_use_do_not_use::keccak
 
+

Подробное описание

+
+ +

См. определение в файле crypto_ext.hpp

+
+
+ + + + + + diff --git a/docs/cdt/crypto__ext_8hpp.js b/docs/cdt/crypto__ext_8hpp.js new file mode 100644 index 000000000..ecfde6b21 --- /dev/null +++ b/docs/cdt/crypto__ext_8hpp.js @@ -0,0 +1,55 @@ +var crypto__ext_8hpp = +[ + [ "bigint", "crypto__ext_8hpp.html#ga3abd9c96d56e0547488cae1cd186cc6f", null ], + [ "g1_point", "crypto__ext_8hpp.html#ae29c5ec8317e597280bc1073b514036a", null ], + [ "g1_point_view", "crypto__ext_8hpp.html#a4df4bd625daf8e623fe79be6335657a0", null ], + [ "g2_point", "crypto__ext_8hpp.html#a4aff021c9a288ba2455ebe78af8fb8e1", null ], + [ "g2_point_view", "crypto__ext_8hpp.html#a56573a7efad7729714195ac50d6c1a52", null ], + [ "__attribute__", "crypto__ext_8hpp.html#a81a3d531420e3eb3b02b3fdf9a4302ec", null ], + [ "__attribute__", "crypto__ext_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387", null ], + [ "alt_bn128_add", "crypto__ext_8hpp.html#gad6c7cb31acc6ad2034928b0f4f838f1f", null ], + [ "alt_bn128_add", "crypto__ext_8hpp.html#ga15d62eb0cc4e802cebf37acdeb244347", null ], + [ "alt_bn128_mul", "crypto__ext_8hpp.html#ga0a1860ebd5b856a263d61fb3486c6bac", null ], + [ "alt_bn128_mul", "crypto__ext_8hpp.html#ga4c359bdfef5213a9d7469d4ce1d953be", null ], + [ "alt_bn128_pair", "crypto__ext_8hpp.html#gad09d0d106fbffeea5ae3fa11a4542060", null ], + [ "alt_bn128_pair", "crypto__ext_8hpp.html#ga6c07b3b9afd8013c8852a45906b7b021", null ], + [ "assert_keccak", "crypto__ext_8hpp.html#ga525a44f742b17926399841c745a4a7ec", null ], + [ "assert_sha3", "crypto__ext_8hpp.html#ga5911e4dd154cdc173eb05c44bbfe02d0", null ], + [ "blake2_f", "crypto__ext_8hpp.html#ga64df5cb191f12821722e306229ed19aa", null ], + [ "blake2_f", "crypto__ext_8hpp.html#gabd02565be968568862b0af73120e9831", null ], + [ "k1_recover", "crypto__ext_8hpp.html#gaa651eeb4147e53a045ccf1fd3c06f14d", null ], + [ "keccak", "crypto__ext_8hpp.html#gaee42036696553a2aab82c8beadc949cc", null ], + [ "mod_exp", "crypto__ext_8hpp.html#gafaa1bb4600feccd42acd799e76570291", null ], + [ "mod_exp", "crypto__ext_8hpp.html#ga30e83b1ef7aa5db6dc580c850a02801c", null ], + [ "sha3", "crypto__ext_8hpp.html#ga72b1a23b79771d3be88f1330bbe0e3cb", null ], + [ "base_len", "crypto__ext_8hpp.html#a8b7a014794e4538ddc62ad7773b10078", null ], + [ "data_len", "crypto__ext_8hpp.html#a2ff751e455a60d35e382a8736289a519", null ], + [ "dig", "crypto__ext_8hpp.html#aabb8743640fb7b223160bb05c913b3e2", null ], + [ "dig_len", "crypto__ext_8hpp.html#a8cf455f7e4857671db549f53ec502c95", null ], + [ "exp", "crypto__ext_8hpp.html#a7688a54920b50f9e80249718bc0bb2e1", null ], + [ "exp_len", "crypto__ext_8hpp.html#a91ba4c6181c491d6312d505e61227273", null ], + [ "final", "crypto__ext_8hpp.html#a841d16d09118f0268c4bbafced547818", null ], + [ "g1_len", "crypto__ext_8hpp.html#a534eba603614762626318e8679af9759", null ], + [ "hash", "crypto__ext_8hpp.html#ad42bdd88a64a703b94a11a89e3345a7c", null ], + [ "hash_len", "crypto__ext_8hpp.html#a30853e057dc485d7a41e6fc3ecadffe8", null ], + [ "keccak", "crypto__ext_8hpp.html#a80b6ad1bcafb20f5a29b03c22b52c748", null ], + [ "mod", "crypto__ext_8hpp.html#a027e383f00b6e7e1a84cbf1d748c497f", null ], + [ "mod_len", "crypto__ext_8hpp.html#adb452b37e25d266414ded2a0bcec1b45", null ], + [ "op1_len", "crypto__ext_8hpp.html#a1e7210a95265e4cc67895371e8e1d1a9", null ], + [ "op2", "crypto__ext_8hpp.html#a3cf08e393da6ced475992073668ae916", null ], + [ "op2_len", "crypto__ext_8hpp.html#af8ebf8425f3a88d9f6fd90e0cc362a9c", null ], + [ "pairs_len", "crypto__ext_8hpp.html#a3f4c3d55b6ee872679410d65c69d9793", null ], + [ "pub", "crypto__ext_8hpp.html#a93a8561c5ce93a3662e230570b7c2dc3", null ], + [ "pub_len", "crypto__ext_8hpp.html#a9eb916bf6dc3592b13ea43f058572fb1", null ], + [ "result", "crypto__ext_8hpp.html#ab8c965fa59dd909d6c40c9663d0e88a9", null ], + [ "result_len", "crypto__ext_8hpp.html#ac6c4dae93eb41be759cf0b9b6b9cc8bc", null ], + [ "scalar", "crypto__ext_8hpp.html#a38efe6447fc3d3b0f3d27fc883cc6c5e", null ], + [ "scalar_len", "crypto__ext_8hpp.html#a3177f19fc85c9e72ede34e3573a101e9", null ], + [ "sig_len", "crypto__ext_8hpp.html#a5fd9f46e4c5ed043c0fbb72feb401b1a", null ], + [ "state", "crypto__ext_8hpp.html#a68510fd663c8c85a2d88b27ac117d4a4", null ], + [ "state_len", "crypto__ext_8hpp.html#acca21e2be5ba5b6123e646f739e16ca0", null ], + [ "t0_len", "crypto__ext_8hpp.html#ac7be28ac54655c208de8137170324d33", null ], + [ "t0_offset", "crypto__ext_8hpp.html#aacd0bea153b8b67c940c638ea8a088b0", null ], + [ "t1_len", "crypto__ext_8hpp.html#a2388251ff5bfa4a7132e5684d9f4ea7c", null ], + [ "t1_offset", "crypto__ext_8hpp.html#a469d875a2db46706f7df9f2896c4a53c", null ] +]; \ No newline at end of file diff --git a/docs/cdt/crypto__ext_8hpp_source.html b/docs/cdt/crypto__ext_8hpp_source.html new file mode 100644 index 000000000..bc94d8237 --- /dev/null +++ b/docs/cdt/crypto__ext_8hpp_source.html @@ -0,0 +1,358 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/crypto_ext.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
crypto_ext.hpp
+
+
+См. документацию.
1
+
5#pragma once
+
6
+
7#include "check.hpp"
+
8#include "fixed_bytes.hpp"
+
9#include "varint.hpp"
+
10#include "serialize.hpp"
+
11
+
12#include <array>
+
13
+
14namespace eosio {
+
15
+
16 namespace internal_use_do_not_use {
+
17 extern "C" {
+
18
+
19 struct __attribute__((aligned (16))) capi_checksum256_ext { uint8_t hash[32]; };
+
20
+
21 __attribute__((eosio_wasm_import))
+
22 int32_t alt_bn128_add( const char* op1, uint32_t op1_len, const char* op2, uint32_t op2_len, char* result, uint32_t result_len);
+
23
+
24 __attribute__((eosio_wasm_import))
+
25 int32_t alt_bn128_mul( const char* g1, uint32_t g1_len, const char* scalar, uint32_t scalar_len, char* result, uint32_t result_len);
+
26
+
27 __attribute__((eosio_wasm_import))
+
28 int32_t alt_bn128_pair( const char* pairs, uint32_t pairs_len);
+
29
+
30 __attribute__((eosio_wasm_import))
+
31 int32_t mod_exp( const char* base, uint32_t base_len, const char* exp, uint32_t exp_len, const char* mod, uint32_t mod_len, char* result, uint32_t result_len);
+
32
+
33 __attribute__((eosio_wasm_import))
+
34 int32_t blake2_f( uint32_t rounds, const char* state, uint32_t state_len, const char* msg, uint32_t msg_len, const char* t0_offset, uint32_t t0_len, const char* t1_offset, uint32_t t1_len, int32_t final, char* result, uint32_t result_len);
+
35
+
36 __attribute__((eosio_wasm_import))
+
37 int32_t k1_recover( const char* sig, uint32_t sig_len, const char* dig, uint32_t dig_len, char* pub, uint32_t pub_len);
+
38
+
39 __attribute__((eosio_wasm_import))
+
40 void sha3( const char* data, uint32_t data_len, char* hash, uint32_t hash_len, int32_t keccak );
+
41 }
+
42
+
43 static inline auto sha3_helper(const char* data, uint32_t length, bool keccak) {
+
44 internal_use_do_not_use::capi_checksum256_ext hash;
+
45 internal_use_do_not_use::sha3( data, length, (char*)&hash, sizeof(hash), keccak);
+
46 eosio::checksum256 dg;
+
47 eosio::datastream<uint8_t*> ds = {&hash.hash[0], sizeof(hash)};
+
48 ds >> dg;
+
49 return dg;
+
50 }
+
51 }
+
52
+
65 template <std::size_t Size = 32>
+
66 struct ec_point {
+
70 std::vector<char> x;
+
71
+
75 std::vector<char> y;
+
76
+
83 ec_point(std::vector<char>& x_, std::vector<char>& y_)
+
84 :x(x_), y(y_)
+
85 {
+
86 eosio::check( x_.size() == y_.size(), "x's size must be equal to y's" );
+
87 eosio::check ( x_.size() == Size, "point size must match");
+
88 };
+
89
+
95 ec_point(std::vector<char>& p)
+
96 :x(p.data(), p.data() + Size), y(p.data() + Size, p.data() + p.size())
+
97 {
+
98 eosio::check ( p.size() == Size * 2, "point size must match");
+
99 };
+
100
+
104 std::vector<char> serialized() const {
+
105 std::vector<char> x_and_y( x );
+
106 x_and_y.insert( x_and_y.end(), y.begin(), y.end() );
+
107 return x_and_y;
+
108 }
+
109 };
+
110
+
116 template <std::size_t Size = 32>
+ +
121 const char* x;
+
122
+
126 const char* y;
+
127
+ +
132
+
141 ec_point_view(const char* x_, uint32_t x_size, const char* y_, uint32_t y_size)
+
142 :x(x_), y(y_), size(x_size)
+
143 {
+
144 eosio::check ( x_size == y_size, "x's size must be equal to y's");
+
145 eosio::check ( size == Size, "point size must match");
+
146 };
+
147
+
153 ec_point_view(const std::vector<char>& p)
+
154 :x(p.data()), y(p.data() + Size), size(Size)
+
155 {
+
156 eosio::check ( p.size() == Size * 2, "point size must match");
+
157 };
+
158
+ +
165 :x(p.x.data()), y(p.y.data()), size(Size)
+
166 {
+
167 };
+
168
+
172 std::vector<char> serialized() const {
+
173 std::vector<char> x_and_y( x, x + size );
+
174 x_and_y.insert( x_and_y.end(), y, y + size );
+
175 return x_and_y;
+
176 }
+
177 };
+
178
+
179 static constexpr size_t g1_coordinate_size = 32;
+
180 static constexpr size_t g2_coordinate_size = 64;
+
181
+ + + + +
186
+
192 using bigint = std::vector<char>;
+
193
+
202 template <typename T>
+
203 inline g1_point alt_bn128_add( const T& op1, const T& op2 ) {
+
204 auto op_1 = op1.serialized();
+
205 auto op_2 = op2.serialized();
+
206 std::vector<char> buf ( 2 * g1_coordinate_size ); // buffer storing x and y
+
207 auto ret = internal_use_do_not_use::alt_bn128_add( op_1.data(), op_1.size(), op_2.data(), op_2.size(), buf.data(), buf.size());
+
208 eosio::check ( ret == 0, "internal_use_do_not_use::alt_bn128_add failed" );
+
209 return g1_point { buf };
+
210 }
+
211
+
224 inline int32_t alt_bn128_add( const char* op1, uint32_t op1_len, const char* op2, uint32_t op2_len, char* result, uint32_t result_len ) {
+ +
226 }
+
227
+
236 template <typename T>
+
237 inline g1_point alt_bn128_mul( const T& g1, const bigint& scalar) {
+
238 auto g1_bin = g1.serialized();
+
239 std::vector<char> buf( 2 * g1_coordinate_size ); // buffer storing x and y
+
240 auto ret = internal_use_do_not_use::alt_bn128_mul( g1_bin.data(), g1_bin.size(), scalar.data(), scalar.size(), buf.data(), buf.size());
+
241 eosio::check ( ret == 0, "internal_use_do_not_use::alt_bn128_mul failed");
+
242 return g1_point { buf };
+
243 }
+
244
+
257 inline int32_t alt_bn128_mul( const char* g1, uint32_t g1_len, const char* scalar, uint32_t scalar_len, char* result, uint32_t result_len ) {
+ +
259 }
+
260
+
268 template <typename G1_T, typename G2_T>
+
269 inline int32_t alt_bn128_pair( const std::vector<std::pair<G1_T, G2_T>>& pairs ) {
+
270 std::vector<char> g1_g2_pairs;
+
271 for ( const auto& pair: pairs ) {
+
272 auto g1_bin = pair.first.serialized();
+
273 auto g2_bin = pair.second.serialized();
+
274 g1_g2_pairs.insert( g1_g2_pairs.end(), g1_bin.begin(), g1_bin.end() );
+
275 g1_g2_pairs.insert( g1_g2_pairs.end(), g2_bin.begin(), g2_bin.end() );
+
276 }
+
277 return internal_use_do_not_use::alt_bn128_pair( g1_g2_pairs.data(), g1_g2_pairs.size() );
+
278 }
+
279
+
288 inline int32_t alt_bn128_pair( const char* pairs, uint32_t pairs_len ) {
+ +
290 }
+
291
+
304 inline int32_t mod_exp( const bigint& base, const bigint& exp, const bigint& mod, bigint& result) {
+
305 eosio::check( result.size() >= mod.size(), "mod_exp result parameter's size must be >= mod's size" );
+
306 auto ret = internal_use_do_not_use::mod_exp( base.data(), base.size(), exp.data(), exp.size(), mod.data(), mod.size(), result.data(), result.size());
+
307 return ret;
+
308 }
+
309
+
326 inline int32_t mod_exp( const char* base, uint32_t base_len, const char* exp, uint32_t exp_len, const char* mod, uint32_t mod_len, char* result, uint32_t result_len ) {
+ +
328 }
+
329
+
330 static constexpr size_t blake2f_result_size = 64;
+
331
+
346 inline int32_t blake2_f( uint32_t rounds, const std::vector<char>& state, const std::vector<char>& msg, const std::vector<char>& t0_offset, const std::vector<char>& t1_offset, bool final, std::vector<char>& result) {
+
347 eosio::check( result.size() >= blake2f_result_size, "blake2_f result parameter's size must be >= 64" );
+
348 return internal_use_do_not_use::blake2_f( rounds, state.data(), state.size(), msg.data(), msg.size(), t0_offset.data(), t0_offset.size(), t1_offset.data(), t1_offset.size(), final, result.data(), result.size());
+
349 }
+
350
+
370 inline int32_t blake2_f( uint32_t rounds, const char* state, uint32_t state_len, const char* msg, uint32_t msg_len,
+
371 const char* t0_offset, uint32_t t0_len, const char* t1_offset, uint32_t t1_len, int32_t final, char* result, uint32_t result_len) {
+ +
373 }
+
374
+
383 inline eosio::checksum256 sha3(const char* data, uint32_t length) {
+
384 return internal_use_do_not_use::sha3_helper(data, length, false);
+
385 }
+
386
+
396 inline void assert_sha3(const char* data, uint32_t length, const eosio::checksum256& hash) {
+
397 const auto& res = internal_use_do_not_use::sha3_helper(data, length, false);
+
398 check( hash == res, "SHA3 hash of `data` does not match given `hash`");
+
399 }
+
400
+
409 inline eosio::checksum256 keccak(const char* data, uint32_t length) {
+
410 return internal_use_do_not_use::sha3_helper(data, length, true);
+
411 }
+
412
+
422 inline void assert_keccak(const char* data, uint32_t length, const eosio::checksum256& hash) {
+
423 const auto& res = internal_use_do_not_use::sha3_helper(data, length, true);
+
424 check( hash == res, "Keccak hash of `data` does not match given `hash`");
+
425 }
+
426
+
440 inline int32_t k1_recover( const char* sig, uint32_t sig_len, const char* dig, uint32_t dig_len, char* pub, uint32_t pub_len ) {
+ +
442 }
+
443}
+
+
+ + + + + + diff --git a/docs/cdt/custom.css b/docs/cdt/custom.css new file mode 100644 index 000000000..44c3ffdf4 --- /dev/null +++ b/docs/cdt/custom.css @@ -0,0 +1,70 @@ +dl.post { + margin-left: 25px !important; + padding: 10px !important; +} + +.anchor { + position: relative; + top: -200px; +} + +.github-corner svg { + fill: var(--primary-light-color); + color: var(--page-background-color); + width: 72px; + height: 72px; +} + +@media screen and (max-width: 767px) { + .github-corner svg { + width: 55px; + height: 55px; + } + #projectnumber { + margin-right: 22px; + } +} + +/* Делаем весь пункт меню кликабельным */ +#nav-tree .item { + cursor: pointer; + border-radius: 3px; + transition: background-color 0.2s ease; +} + + +/* Выделение активного пункта */ +#nav-tree .item.selected { + background-color: #d8e8f8; + font-weight: bold; +} + +h6 { + font-size: 1.1em; + padding-top: 10px; +} + +h5 { + font-size: 1.15em; + padding-top: 10px; +} + +h4 { + font-size: 1.2em; + padding-top: 10px; +} + +h3 { + font-size: 1.25em; + padding-top: 10px; +} + +h2 { + font-size: 1.3em; + padding-top: 10px; +} + +h1 { + font-size: 1.4em; + padding-top: 10px; +} \ No newline at end of file diff --git a/docs/cdt/custom.js b/docs/cdt/custom.js new file mode 100644 index 000000000..e69de29bb diff --git a/docs/cdt/datastream_8hpp.html b/docs/cdt/datastream_8hpp.html new file mode 100644 index 000000000..c20971999 --- /dev/null +++ b/docs/cdt/datastream_8hpp.html @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/datastream.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Файл datastream.hpp
+
+
+
#include "check.hpp"
+#include "varint.hpp"
+#include <bluegrass/meta/for_each.hpp>
+#include <list>
+#include <queue>
+#include <vector>
+#include <array>
+#include <set>
+#include <map>
+#include <string>
+#include <optional>
+#include <variant>
+#include <string.h>
+
+

См. исходные тексты.

+ + + + + + + + + + +

+Классы

class  eosio::datastream< T >
 
class  eosio::datastream< size_t >
 
struct  eosio::_datastream_detail::is_datastream< T >
 
struct  eosio::_datastream_detail::is_datastream< datastream< T > >
 
+ + + + + +

+Пространства имен

namespace  eosio
 
namespace  eosio::_datastream_detail
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Функции

template<typename Stream , typename T >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::list< T > &l)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::list< T > &l)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::deque< T > &d)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::deque< T > &d)
 
template<typename Stream , typename... Ts>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::variant< Ts... > &var)
 
template<int I, typename Stream , typename... Ts>
void eosio::deserialize (datastream< Stream > &ds, std::variant< Ts... > &var, int i)
 
template<typename Stream , typename... Ts>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::variant< Ts... > &var)
 
template<typename Stream , typename T1 , typename T2 >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::pair< T1, T2 > &t)
 
template<typename Stream , typename T1 , typename T2 >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::pair< T1, T2 > &t)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::optional< T > &opt)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::optional< T > &opt)
 
template<typename Stream >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const bool &d)
 
template<typename Stream >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, bool &d)
 
template<typename Stream >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::string &v)
 
template<typename Stream >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::string &v)
 
template<typename Stream , typename T , std::size_t N>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::array< T, N > &v)
 
template<typename Stream , typename T , std::size_t N>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::array< T, N > &v)
 
template<typename T >
constexpr bool eosio::_datastream_detail::is_pointer ()
 
template<typename T >
constexpr bool eosio::_datastream_detail::is_primitive ()
 
template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_pointer< T >()> * = nullptr>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, T)
 Указатель не должен сериализоваться; эта перегрузка всегда приводит к ошибке Подробнее...
 
template<typename Stream , typename T , std::size_t N, std::enable_if_t<!_datastream_detail::is_primitive< T >() &&!_datastream_detail::is_pointer< T >()> * = nullptr>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const T(&v)[N])
 
template<typename Stream , typename T , std::size_t N, std::enable_if_t<!_datastream_detail::is_primitive< T >() &&!_datastream_detail::is_pointer< T >()> * = nullptr>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, T(&v)[N])
 
template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::vector< T > &v)
 
template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::vector< T > &v)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::basic_string< T > &s)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::basic_string< T > &s)
 
template<typename Stream >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::basic_string< uint8_t > &s)
 
template<typename Stream >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::basic_string< uint8_t > &s)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::set< T > &s)
 
template<typename Stream , typename T >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::set< T > &s)
 
template<typename Stream , typename K , typename V >
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::map< K, V > &m)
 
template<typename Stream , typename K , typename V >
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::map< K, V > &m)
 
template<typename Stream , typename... Args>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const std::tuple< Args... > &t)
 
template<typename Stream , typename... Args>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, std::tuple< Args... > &t)
 
template<typename DataStream , typename T , std::enable_if_t< std::is_class< T >::value &&_datastream_detail::is_datastream< DataStream >::value > * = nullptr>
DataStream & eosio::operator<< (DataStream &ds, const T &v)
 
template<typename DataStream , typename T , std::enable_if_t< std::is_class< T >::value &&_datastream_detail::is_datastream< DataStream >::value > * = nullptr>
DataStream & eosio::operator>> (DataStream &ds, T &v)
 
template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
datastream< Stream > & eosio::operator<< (datastream< Stream > &ds, const T &v)
 
template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
datastream< Stream > & eosio::operator>> (datastream< Stream > &ds, T &v)
 
template<typename T >
eosio::unpack (const char *buffer, size_t len)
 
template<typename T >
void eosio::unpack (T &res, const char *buffer, size_t len)
 
template<typename T >
eosio::unpack (const std::vector< char > &bytes)
 
template<typename T >
size_t eosio::pack_size (const T &value)
 
template<typename T >
std::vector< char > eosio::pack (const T &value)
 
+

Подробное описание

+
+ +

См. определение в файле datastream.hpp

+
+
+ + + + + + diff --git a/docs/cdt/datastream_8hpp.js b/docs/cdt/datastream_8hpp.js new file mode 100644 index 000000000..88a306199 --- /dev/null +++ b/docs/cdt/datastream_8hpp.js @@ -0,0 +1,50 @@ +var datastream_8hpp = +[ + [ "eosio::datastream< T >", "classeosio_1_1datastream.html", "classeosio_1_1datastream" ], + [ "eosio::datastream< size_t >", "classeosio_1_1datastream_3_01size__t_01_4.html", "classeosio_1_1datastream_3_01size__t_01_4" ], + [ "eosio::_datastream_detail::is_datastream< T >", "structeosio_1_1__datastream__detail_1_1is__datastream.html", null ], + [ "eosio::_datastream_detail::is_datastream< datastream< T > >", "structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4.html", null ], + [ "deserialize", "datastream_8hpp.html#a11247ca58ee8acf29f3486c0e2772788", null ], + [ "is_pointer", "datastream_8hpp.html#a756af9772c5c98915bbdacafa7165278", null ], + [ "is_primitive", "datastream_8hpp.html#ab1b99c65e9a4c3ec9a0077b17466043d", null ], + [ "operator<<", "datastream_8hpp.html#a59511f8552dbf4a2aced270041c17f04", null ], + [ "operator<<", "datastream_8hpp.html#afe4a7f3bd49b821a6b3f0a3b9c45a4a5", null ], + [ "operator<<", "datastream_8hpp.html#aea5451fc739da28dc1a006d3f72e18b4", null ], + [ "operator<<", "datastream_8hpp.html#ae95c7ba8a4618dd4c006765742303329", null ], + [ "operator<<", "datastream_8hpp.html#a381a9f8735361fcbfb7b3a619764fad9", null ], + [ "operator<<", "datastream_8hpp.html#a290409b4cb05910111f068b83f65018f", null ], + [ "operator<<", "datastream_8hpp.html#ac9f0396ed775d5fe67df4b29bc7fc61f", null ], + [ "operator<<", "datastream_8hpp.html#a3257302604d39723e60f3431e4fab38a", null ], + [ "operator<<", "datastream_8hpp.html#a188287b053c352c204cf0ef83786cdcd", null ], + [ "operator<<", "datastream_8hpp.html#a97755f06683e48a1305a409ca3a6e9c3", null ], + [ "operator<<", "datastream_8hpp.html#a34f484a1bd28d77948b4166d0b92b6f1", null ], + [ "operator<<", "datastream_8hpp.html#a59e70f3361540d36ba192ca715a08adc", null ], + [ "operator<<", "datastream_8hpp.html#aabff7004d7cfc4fc8168bb0401f506e5", null ], + [ "operator<<", "datastream_8hpp.html#a0b5c48a772a3cc24ae76620483aceb23", null ], + [ "operator<<", "datastream_8hpp.html#a2c1d8a8d997953cd44283b2de8860c4a", null ], + [ "operator<<", "datastream_8hpp.html#a79dc07b5d636c1c341dc595c0fda9a85", null ], + [ "operator<<", "datastream_8hpp.html#ae800a5c9a4c8d9ea2546535d1a91c95b", null ], + [ "operator>>", "datastream_8hpp.html#a7d64e2f48bca13601cf6606934e6e8e6", null ], + [ "operator>>", "datastream_8hpp.html#a9b454140b1bb214fbd65d75887098864", null ], + [ "operator>>", "datastream_8hpp.html#af49a88acb71519dbd9e1c11c1e093625", null ], + [ "operator>>", "datastream_8hpp.html#a513f0adb057b01a6f5b5e6a67fc9d212", null ], + [ "operator>>", "datastream_8hpp.html#a58bac2858769a47b327004fb7dfacafa", null ], + [ "operator>>", "datastream_8hpp.html#a96515453c996337cf8a448415ea1997b", null ], + [ "operator>>", "datastream_8hpp.html#a0071f0e52a33e72d2b0da6fb69fd5a01", null ], + [ "operator>>", "datastream_8hpp.html#a66bd481ffeae8e16fbeb6244f57fdaa4", null ], + [ "operator>>", "datastream_8hpp.html#a37421e74f3192dbb7ca11ff9b9c0864c", null ], + [ "operator>>", "datastream_8hpp.html#ada409d460d12c2d64ef2b02b3f99ddef", null ], + [ "operator>>", "datastream_8hpp.html#a47a47165efbcc2cb38f68e8db90c377a", null ], + [ "operator>>", "datastream_8hpp.html#abfb0796f4c681681dfc3e28b1f581c14", null ], + [ "operator>>", "datastream_8hpp.html#a1033bcb60718baa8636b8639205cbb79", null ], + [ "operator>>", "datastream_8hpp.html#a057c7fbba3a58e93208c3901359e5896", null ], + [ "operator>>", "datastream_8hpp.html#a3ea13490e88014aa37e0bd98d45b4858", null ], + [ "operator>>", "datastream_8hpp.html#a394cc26970e40b355b4c946fffc5fd78", null ], + [ "operator>>", "datastream_8hpp.html#a8f65b4138ad6406630da2366a3f5b579", null ], + [ "operator>>", "datastream_8hpp.html#a92909b82c15215ec31eebe461e7d6403", null ], + [ "pack", "datastream_8hpp.html#ga13b3cd80e2641c0408f247c550e3d667", null ], + [ "pack_size", "datastream_8hpp.html#ga30aa7d1c92792afc7f78af37372d68b7", null ], + [ "unpack", "datastream_8hpp.html#ga2ffaa5bd18836b7d40db601fb20965bb", null ], + [ "unpack", "datastream_8hpp.html#ga666b4d583161e4db595e31565fbb6a3d", null ], + [ "unpack", "datastream_8hpp.html#gaeda637d2d16ecc6235bd072161bc07df", null ] +]; \ No newline at end of file diff --git a/docs/cdt/datastream_8hpp_source.html b/docs/cdt/datastream_8hpp_source.html new file mode 100644 index 000000000..b48a0ccb2 --- /dev/null +++ b/docs/cdt/datastream_8hpp_source.html @@ -0,0 +1,687 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/datastream.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
datastream.hpp
+
+
+См. документацию.
+
5#pragma once
+
6#include "check.hpp"
+
7#include "varint.hpp"
+
8#include <bluegrass/meta/for_each.hpp>
+
9
+
10#include <list>
+
11#include <queue>
+
12#include <vector>
+
13#include <array>
+
14#include <set>
+
15#include <map>
+
16#include <string>
+
17#include <optional>
+
18#include <variant>
+
19
+
20#include <string.h>
+
21
+
22namespace eosio {
+
23
+
35template<typename T>
+ +
37 public:
+
45 datastream( T start, size_t s )
+
46 :_start(start),_pos(start),_end(start+s){}
+
47
+
53 inline void skip( size_t s ){ _pos += s; }
+
54
+
62 inline bool read( void* d, size_t s ) {
+
63 eosio::check( size_t(_end - _pos) >= (size_t)s, "datastream attempted to read past the end" );
+
64 memcpy( d, _pos, s );
+
65 _pos += s;
+
66 return true;
+
67 }
+
68
+
76 inline bool write( const char* d, size_t s ) {
+
77 eosio::check( _end - _pos >= (int32_t)s, "datastream attempted to write past the end" );
+
78 memcpy( (void*)_pos, d, s );
+
79 _pos += s;
+
80 return true;
+
81 }
+
82
+
89 inline bool write( char d ) {
+
90 eosio::check( _end - _pos >= 1, "datastream attempted to write past the end" );
+
91 *_pos++ = d;
+
92 return true;
+
93 }
+
94
+
102 inline bool write( const void* d, size_t s ) {
+
103 eosio::check( _end - _pos >= (int32_t)s, "datastream attempted to write past the end" );
+
104 memcpy( (void*)_pos, d, s );
+
105 _pos += s;
+
106 return true;
+
107 }
+
108
+
115 inline bool put(char c) {
+
116 eosio::check( _pos < _end, "put" );
+
117 *_pos = c;
+
118 ++_pos;
+
119 return true;
+
120 }
+
121
+
128 inline bool get( unsigned char& c ) { return get( *(char*)&c ); }
+
129
+
136 inline bool get( char& c )
+
137 {
+
138 eosio::check( _pos < _end, "get" );
+
139 c = *_pos;
+
140 ++_pos;
+
141 return true;
+
142 }
+
143
+
149 T pos()const { return _pos; }
+
150 inline bool valid()const { return _pos <= _end && _pos >= _start; }
+
151
+
159 inline bool seekp(size_t p) { _pos = _start + p; return _pos <= _end; }
+
160
+
166 inline size_t tellp()const { return size_t(_pos - _start); }
+
167
+
173 inline size_t remaining()const { return _end - _pos; }
+
174 private:
+
178 T _start;
+
182 T _pos;
+
186 T _end;
+
187};
+
188
+
192template<>
+ +
194 public:
+
200 datastream( size_t init_size = 0):_size(init_size){}
+
201
+
208 inline bool skip( size_t s ) { _size += s; return true; }
+
209
+
216 inline bool write( const char* ,size_t s ) { _size += s; return true; }
+
217
+
224 inline bool write( char ) { _size++; return true; }
+
225
+
232 inline bool write( const void* ,size_t s ) { _size += s; return true; }
+
233
+
239 inline bool put(char ) { ++_size; return true; }
+
240
+
246 inline bool valid()const { return true; }
+
247
+
254 inline bool seekp(size_t p) { _size = p; return true; }
+
255
+
261 inline size_t tellp()const { return _size; }
+
262
+
268 inline size_t remaining()const { return 0; }
+
269 private:
+
273 size_t _size;
+
274};
+
275
+
284template<typename Stream, typename T>
+
285inline datastream<Stream>& operator<<(datastream<Stream>& ds, const std::list<T>& l) {
+
286 ds << unsigned_int( l.size() );
+
287 for ( const auto& elem : l )
+
288 ds << elem;
+
289 return ds;
+
290}
+
291
+
300template<typename Stream, typename T>
+
301inline datastream<Stream>& operator>>(datastream<Stream>& ds, std::list<T>& l) {
+
302 unsigned_int s;
+
303 ds >> s;
+
304 l.resize(s.value);
+
305 for( auto& i : l )
+
306 ds >> i;
+
307 return ds;
+
308}
+
309
+
318template<typename Stream, typename T>
+
319inline datastream<Stream>& operator<<(datastream<Stream>& ds, const std::deque<T>& d) {
+
320 ds << unsigned_int( d.size() );
+
321 for ( const auto& elem : d )
+
322 ds << elem;
+
323 return ds;
+
324}
+
325
+
334template<typename Stream, typename T>
+
335inline datastream<Stream>& operator>>(datastream<Stream>& ds, std::deque<T>& d) {
+
336 unsigned_int s;
+
337 ds >> s;
+
338 d.resize(s.value);
+
339 for( auto& i : d )
+
340 ds >> i;
+
341 return ds;
+
342}
+
343
+
352template<typename Stream, typename... Ts>
+
353inline datastream<Stream>& operator<<(datastream<Stream>& ds, const std::variant<Ts...>& var) {
+
354 unsigned_int index = var.index();
+
355 ds << index;
+
356 std::visit([&ds](auto& val){ ds << val; }, var);
+
357 return ds;
+
358}
+
359
+
360template<int I, typename Stream, typename... Ts>
+
361void deserialize(datastream<Stream>& ds, std::variant<Ts...>& var, int i) {
+
362 if constexpr (I < std::variant_size_v<std::variant<Ts...>>) {
+
363 if (i == I) {
+
364 std::variant_alternative_t<I, std::variant<Ts...>> tmp;
+
365 ds >> tmp;
+
366 var.template emplace<I>(std::move(tmp));
+
367 } else {
+
368 deserialize<I+1>(ds,var,i);
+
369 }
+
370 } else {
+
371 eosio::check(false, "invalid variant index");
+
372 }
+
373}
+
374
+
383template<typename Stream, typename... Ts>
+
384inline datastream<Stream>& operator>>(datastream<Stream>& ds, std::variant<Ts...>& var) {
+
385 unsigned_int index;
+
386 ds >> index;
+
387 deserialize<0>(ds,var,index);
+
388 return ds;
+
389}
+
390
+
400template<typename Stream, typename T1, typename T2>
+
401datastream<Stream>& operator<<( datastream<Stream>& ds, const std::pair<T1, T2>& t ) {
+
402 ds << std::get<0>(t);
+
403 ds << std::get<1>(t);
+
404 return ds;
+
405}
+
406
+
416template<typename Stream, typename T1, typename T2>
+
417datastream<Stream>& operator>>( datastream<Stream>& ds, std::pair<T1, T2>& t ) {
+
418 T1 t1;
+
419 T2 t2;
+
420 ds >> t1;
+
421 ds >> t2;
+
422 t = std::pair<T1, T2>{t1, t2};
+
423 return ds;
+
424}
+
425
+
434template<typename Stream, typename T>
+
435inline datastream<Stream>& operator<<(datastream<Stream>& ds, const std::optional<T>& opt) {
+
436 char valid = opt.has_value();
+
437 ds << valid;
+
438 if (valid)
+
439 ds << *opt;
+
440 return ds;
+
441}
+
442
+
451template<typename Stream, typename T>
+
452inline datastream<Stream>& operator>>(datastream<Stream>& ds, std::optional<T>& opt) {
+
453 char valid = 0;
+
454 ds >> valid;
+
455 if (valid) {
+
456 T val;
+
457 ds >> val;
+
458 opt = val;
+
459 }
+
460 return ds;
+
461}
+
462
+
463
+
472template<typename Stream>
+
473inline datastream<Stream>& operator<<(datastream<Stream>& ds, const bool& d) {
+
474 return ds << uint8_t(d);
+
475}
+
476
+
485template<typename Stream>
+ +
487 uint8_t t;
+
488 ds >> t;
+
489 d = t;
+
490 return ds;
+
491}
+
492
+
501template<typename Stream>
+
502datastream<Stream>& operator << ( datastream<Stream>& ds, const std::string& v ) {
+
503 ds << unsigned_int( v.size() );
+
504 if (v.size())
+
505 ds.write(v.data(), v.size());
+
506 return ds;
+
507}
+
508
+
517template<typename Stream>
+ +
519 std::vector<char> tmp;
+
520 ds >> tmp;
+
521 if( tmp.size() )
+
522 v = std::string(tmp.data(),tmp.data()+tmp.size());
+
523 else
+
524 v = std::string();
+
525 return ds;
+
526}
+
527
+
538template<typename Stream, typename T, std::size_t N>
+
539datastream<Stream>& operator << ( datastream<Stream>& ds, const std::array<T,N>& v ) {
+
540 for( const auto& i : v )
+
541 ds << i;
+
542 return ds;
+
543}
+
544
+
545
+
556template<typename Stream, typename T, std::size_t N>
+ +
558 for( auto& i : v )
+
559 ds >> i;
+
560 return ds;
+
561}
+
562
+
563namespace _datastream_detail {
+
571 template<typename T>
+
572 constexpr bool is_pointer() {
+
573 return std::is_pointer<T>::value ||
+
574 std::is_null_pointer<T>::value ||
+
575 std::is_member_pointer<T>::value;
+
576 }
+
577
+
585 template<typename T>
+
586 constexpr bool is_primitive() {
+
587 return std::is_arithmetic<T>::value ||
+
588 std::is_enum<T>::value;
+
589 }
+
590
+
591 /*
+
592 * Проверяет, является ли T специализацией datastream
+
593 *
+
594 * @tparam T - Проверяемый тип
+
595 */
+
596 template<typename T>
+
597 struct is_datastream { static constexpr bool value = false; };
+
598 template<typename T>
+
599 struct is_datastream<datastream<T>> { static constexpr bool value = true; };
+
600}
+
601
+
612template<typename Stream, typename T, std::enable_if_t<_datastream_detail::is_pointer<T>()>* = nullptr>
+ +
614 static_assert(!_datastream_detail::is_pointer<T>(), "Pointers should not be serialized" );
+
615 return ds;
+
616}
+
617
+
627template<typename Stream, typename T, std::size_t N,
+
628 std::enable_if_t<!_datastream_detail::is_primitive<T>() &&
+
629 !_datastream_detail::is_pointer<T>()>* = nullptr>
+
630datastream<Stream>& operator << ( datastream<Stream>& ds, const T (&v)[N] ) {
+
631 ds << unsigned_int( N );
+
632 for( uint32_t i = 0; i < N; ++i )
+
633 ds << v[i];
+
634 return ds;
+
635}
+
636
+
646template<typename Stream, typename T, std::size_t N,
+
647 std::enable_if_t<_datastream_detail::is_primitive<T>()>* = nullptr>
+
648datastream<Stream>& operator << ( datastream<Stream>& ds, const T (&v)[N] ) {
+
649 ds << unsigned_int( N );
+
650 ds.write((char*)&v[0], sizeof(v));
+
651 return ds;
+
652}
+
653
+
664template<typename Stream, typename T, std::size_t N,
+
665 std::enable_if_t<!_datastream_detail::is_primitive<T>() &&
+
666 !_datastream_detail::is_pointer<T>()>* = nullptr>
+ +
668 unsigned_int s;
+
669 ds >> s;
+
670 eosio::check( N == s.value, "T[] size and unpacked size don't match");
+
671 for( uint32_t i = 0; i < N; ++i )
+
672 ds >> v[i];
+
673 return ds;
+
674}
+
675
+
686template<typename Stream, typename T, std::size_t N,
+
687 std::enable_if_t<_datastream_detail::is_primitive<T>()>* = nullptr>
+ +
689 unsigned_int s;
+
690 ds >> s;
+
691 eosio::check( N == s.value, "T[] size and unpacked size don't match");
+
692 ds.read((char*)&v[0], sizeof(v));
+
693 return ds;
+
694}
+
695
+
704template<typename Stream, typename T,
+
705 std::enable_if_t<_datastream_detail::is_primitive<T>()>* = nullptr>
+
706datastream<Stream>& operator << ( datastream<Stream>& ds, const std::vector<T>& v ) {
+
707 ds << unsigned_int( v.size() );
+
708 ds.write( (const void*)v.data(), v.size()*sizeof(T) );
+
709 return ds;
+
710}
+
711
+
721template<typename Stream, typename T,
+
722 std::enable_if_t<!_datastream_detail::is_primitive<T>()>* = nullptr>
+
723datastream<Stream>& operator << ( datastream<Stream>& ds, const std::vector<T>& v ) {
+
724 ds << unsigned_int( v.size() );
+
725 for( const auto& i : v )
+
726 ds << i;
+
727 return ds;
+
728}
+
729
+
738template<typename Stream, typename T,
+
739 std::enable_if_t<_datastream_detail::is_primitive<T>()>* = nullptr>
+ +
741 unsigned_int s;
+
742 ds >> s;
+
743 v.resize( s.value );
+
744 ds.read( (char*)v.data(), v.size()*sizeof(T) );
+
745 return ds;
+
746}
+
747
+
757template<typename Stream, typename T,
+
758 std::enable_if_t<!_datastream_detail::is_primitive<T>()>* = nullptr>
+ +
760 unsigned_int s;
+
761 ds >> s;
+
762 v.resize(s.value);
+
763 for( auto& i : v )
+
764 ds >> i;
+
765 return ds;
+
766}
+
767
+
777template<typename Stream, typename T>
+
778datastream<Stream>& operator << ( datastream<Stream>& ds, const std::basic_string<T>& s ) {
+
779 ds << unsigned_int(s.size());
+
780 if (s.size())
+
781 ds.write(s.data(), s.size()*sizeof(T));
+
782 return ds;
+
783}
+
784
+
794template<typename Stream, typename T>
+
795datastream<Stream>& operator >> ( datastream<Stream>& ds, std::basic_string<T>& s ) {
+
796 unsigned_int v;
+
797 ds >> v;
+
798 s.resize(v.value);
+
799 ds.read(s.data(), s.size()*sizeof(T));
+
800 return ds;
+
801}
+
802
+
812template<typename Stream>
+
813datastream<Stream>& operator << ( datastream<Stream>& ds, const std::basic_string<uint8_t>& s ) {
+
814 ds << unsigned_int(s.size());
+
815 if (s.size())
+
816 ds.write(s.data(), s.size());
+
817 return ds;
+
818}
+
819
+
829template<typename Stream>
+
830datastream<Stream>& operator >> ( datastream<Stream>& ds, std::basic_string<uint8_t>& s ) {
+
831 unsigned_int v;
+
832 ds >> v;
+
833 s.resize(v.value);
+
834 ds.read(s.data(), s.size());
+
835 return ds;
+
836}
+
837
+
838
+
848template<typename Stream, typename T>
+
849datastream<Stream>& operator << ( datastream<Stream>& ds, const std::set<T>& s ) {
+
850 ds << unsigned_int( s.size() );
+
851 for( const auto& i : s ) {
+
852 ds << i;
+
853 }
+
854 return ds;
+
855}
+
856
+
857
+
867template<typename Stream, typename T>
+ +
869 s.clear();
+
870 unsigned_int sz; ds >> sz;
+
871
+
872 for( uint32_t i = 0; i < sz.value; ++i ) {
+
873 T v;
+
874 ds >> v;
+
875 s.emplace( std::move(v) );
+
876 }
+
877 return ds;
+
878}
+
879
+
890template<typename Stream, typename K, typename V>
+
891datastream<Stream>& operator << ( datastream<Stream>& ds, const std::map<K,V>& m ) {
+
892 ds << unsigned_int( m.size() );
+
893 for( const auto& i : m ) {
+
894 ds << i.first << i.second;
+
895 }
+
896 return ds;
+
897}
+
898
+
909template<typename Stream, typename K, typename V>
+ +
911 m.clear();
+
912 unsigned_int s; ds >> s;
+
913
+
914 for (uint32_t i = 0; i < s.value; ++i) {
+
915 K k; V v;
+
916 ds >> k >> v;
+
917 m.emplace( std::move(k), std::move(v) );
+
918 }
+
919 return ds;
+
920}
+
921
+
931template<typename Stream, typename... Args>
+
932datastream<Stream>& operator<<( datastream<Stream>& ds, const std::tuple<Args...>& t ) {
+
933 bluegrass::meta::for_each( t, [&]( const auto& i ) {
+
934 ds << i;
+
935 });
+
936 return ds;
+
937}
+
938
+
948template<typename Stream, typename... Args>
+
949datastream<Stream>& operator>>( datastream<Stream>& ds, std::tuple<Args...>& t ) {
+
950 bluegrass::meta::for_each( t, [&]( auto& i ) {
+
951 ds >> i;
+
952 });
+
953 return ds;
+
954}
+
955
+
965template<typename DataStream, typename T, std::enable_if_t<std::is_class<T>::value && _datastream_detail::is_datastream<DataStream>::value>* = nullptr>
+
966DataStream& operator<<( DataStream& ds, const T& v ) {
+
967 bluegrass::meta::for_each_field(v, [&](const auto& field) {
+
968 ds << field;
+
969 });
+
970 return ds;
+
971}
+
972
+
982template<typename DataStream, typename T, std::enable_if_t<std::is_class<T>::value && _datastream_detail::is_datastream<DataStream>::value>* = nullptr>
+
983DataStream& operator>>( DataStream& ds, T& v ) {
+
984 bluegrass::meta::for_each_field(v, [&](auto& field) {
+
985 ds >> field;
+
986 });
+
987 return ds;
+
988}
+
989
+
999template<typename Stream, typename T, std::enable_if_t<_datastream_detail::is_primitive<T>()>* = nullptr>
+
1000datastream<Stream>& operator<<( datastream<Stream>& ds, const T& v ) {
+
1001 ds.write( (const char*)&v, sizeof(T) );
+
1002 return ds;
+
1003}
+
1004
+
1014template<typename Stream, typename T, std::enable_if_t<_datastream_detail::is_primitive<T>()>* = nullptr>
+ +
1016 ds.read( (char*)&v, sizeof(T) );
+
1017 return ds;
+
1018}
+
1019
+
1029template<typename T>
+
1030T unpack( const char* buffer, size_t len ) {
+
1031 T result;
+
1032 datastream<const char*> ds(buffer,len);
+
1033 ds >> result;
+
1034 return result;
+
1035}
+
1036
+
1046template<typename T>
+
1047void unpack( T& res, const char* buffer, size_t len ) {
+
1048 datastream<const char*> ds(buffer,len);
+
1049 ds >> res;
+
1050}
+
1051
+
1060template<typename T>
+
1061T unpack( const std::vector<char>& bytes ) {
+
1062 return unpack<T>( bytes.data(), bytes.size() );
+
1063}
+
1064
+
1073template<typename T>
+
1074size_t pack_size( const T& value ) {
+ +
1076 ps << value;
+
1077 return ps.tellp();
+
1078}
+
1079
+
1088template<typename T>
+
1089std::vector<char> pack( const T& value ) {
+
1090 std::vector<char> result;
+
1091 result.resize(pack_size(value));
+
1092
+
1093 datastream<char*> ds( result.data(), result.size() );
+
1094 ds << value;
+
1095 return result;
+
1096}
+
1097}
+
+
+ + + + + + diff --git a/docs/cdt/dir_6973a5be5f0104fdfb8b76a272d58cb0.html b/docs/cdt/dir_6973a5be5f0104fdfb8b76a272d58cb0.html new file mode 100644 index 000000000..f72c8bf22 --- /dev/null +++ b/docs/cdt/dir_6973a5be5f0104fdfb8b76a272d58cb0.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: Содержание директории libraries/eosiolib/core/eosio + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/dir_6973a5be5f0104fdfb8b76a272d58cb0.js b/docs/cdt/dir_6973a5be5f0104fdfb8b76a272d58cb0.js new file mode 100644 index 000000000..a65f454f4 --- /dev/null +++ b/docs/cdt/dir_6973a5be5f0104fdfb8b76a272d58cb0.js @@ -0,0 +1,23 @@ +var dir_6973a5be5f0104fdfb8b76a272d58cb0 = +[ + [ "asset.hpp", "asset_8hpp.html", "asset_8hpp" ], + [ "binary_extension.hpp", "binary__extension_8hpp.html", null ], + [ "check.hpp", "check_8hpp.html", "check_8hpp" ], + [ "context.hpp", "context_8hpp.html", "context_8hpp" ], + [ "crypto.hpp", "crypto_8hpp.html", null ], + [ "crypto_ext.hpp", "crypto__ext_8hpp.html", "crypto__ext_8hpp" ], + [ "datastream.hpp", "datastream_8hpp.html", "datastream_8hpp" ], + [ "fixed_bytes.hpp", "fixed__bytes_8hpp.html", null ], + [ "ignore.hpp", "ignore_8hpp.html", "ignore_8hpp" ], + [ "key_utils.hpp", "key__utils_8hpp.html", "key__utils_8hpp" ], + [ "name.hpp", "name_8hpp.html", "name_8hpp" ], + [ "powers.hpp", "powers_8hpp.html", "powers_8hpp" ], + [ "print.hpp", "print_8hpp.html", "print_8hpp" ], + [ "reflect.hpp", "reflect_8hpp.html", null ], + [ "rope.hpp", "rope_8hpp.html", "rope_8hpp" ], + [ "serialize.hpp", "serialize_8hpp.html", "serialize_8hpp" ], + [ "string.hpp", "string_8hpp.html", "string_8hpp" ], + [ "symbol.hpp", "symbol_8hpp.html", "symbol_8hpp" ], + [ "time.hpp", "time_8hpp.html", "time_8hpp" ], + [ "varint.hpp", "varint_8hpp.html", null ] +]; \ No newline at end of file diff --git a/docs/cdt/dir_7e917b7566708c24627b3b828f138985.html b/docs/cdt/dir_7e917b7566708c24627b3b828f138985.html new file mode 100644 index 000000000..92bb5bfb5 --- /dev/null +++ b/docs/cdt/dir_7e917b7566708c24627b3b828f138985.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Содержание директории libraries/eosiolib/contracts + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Содержание директории contracts
+
+
+ + + + +

+Директории

директория  eosio
 
+
+
+ + + + + + diff --git a/docs/cdt/dir_7e917b7566708c24627b3b828f138985.js b/docs/cdt/dir_7e917b7566708c24627b3b828f138985.js new file mode 100644 index 000000000..9136e62e5 --- /dev/null +++ b/docs/cdt/dir_7e917b7566708c24627b3b828f138985.js @@ -0,0 +1,4 @@ +var dir_7e917b7566708c24627b3b828f138985 = +[ + [ "eosio", "dir_e6eaa0c1a89a74634a56cba5556371ea.html", "dir_e6eaa0c1a89a74634a56cba5556371ea" ] +]; \ No newline at end of file diff --git a/docs/cdt/dir_850c7dbae88cf75e5ded2d8d64345058.html b/docs/cdt/dir_850c7dbae88cf75e5ded2d8d64345058.html new file mode 100644 index 000000000..912075c32 --- /dev/null +++ b/docs/cdt/dir_850c7dbae88cf75e5ded2d8d64345058.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Содержание директории libraries/eosiolib/core + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Содержание директории core
+
+
+ + + + +

+Директории

директория  eosio
 
+
+
+ + + + + + diff --git a/docs/cdt/dir_850c7dbae88cf75e5ded2d8d64345058.js b/docs/cdt/dir_850c7dbae88cf75e5ded2d8d64345058.js new file mode 100644 index 000000000..5a31c615e --- /dev/null +++ b/docs/cdt/dir_850c7dbae88cf75e5ded2d8d64345058.js @@ -0,0 +1,4 @@ +var dir_850c7dbae88cf75e5ded2d8d64345058 = +[ + [ "eosio", "dir_6973a5be5f0104fdfb8b76a272d58cb0.html", "dir_6973a5be5f0104fdfb8b76a272d58cb0" ] +]; \ No newline at end of file diff --git a/docs/cdt/dir_9e60c71e6dfb8d92b39aded6f4ab9fa8.html b/docs/cdt/dir_9e60c71e6dfb8d92b39aded6f4ab9fa8.html new file mode 100644 index 000000000..c4fa5b3d8 --- /dev/null +++ b/docs/cdt/dir_9e60c71e6dfb8d92b39aded6f4ab9fa8.html @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + +CDT: Содержание директории libraries/eosiolib + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Содержание директории eosiolib
+
+
+ + + + + + +

+Директории

директория  contracts
 
директория  core
 
+
+
+ + + + + + diff --git a/docs/cdt/dir_9e60c71e6dfb8d92b39aded6f4ab9fa8.js b/docs/cdt/dir_9e60c71e6dfb8d92b39aded6f4ab9fa8.js new file mode 100644 index 000000000..762da458d --- /dev/null +++ b/docs/cdt/dir_9e60c71e6dfb8d92b39aded6f4ab9fa8.js @@ -0,0 +1,5 @@ +var dir_9e60c71e6dfb8d92b39aded6f4ab9fa8 = +[ + [ "contracts", "dir_7e917b7566708c24627b3b828f138985.html", "dir_7e917b7566708c24627b3b828f138985" ], + [ "core", "dir_850c7dbae88cf75e5ded2d8d64345058.html", "dir_850c7dbae88cf75e5ded2d8d64345058" ] +]; \ No newline at end of file diff --git a/docs/cdt/dir_bc0718b08fb2015b8e59c47b2805f60c.html b/docs/cdt/dir_bc0718b08fb2015b8e59c47b2805f60c.html new file mode 100644 index 000000000..379a8bc33 --- /dev/null +++ b/docs/cdt/dir_bc0718b08fb2015b8e59c47b2805f60c.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Содержание директории libraries + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Содержание директории libraries
+
+
+ + + + +

+Директории

директория  eosiolib
 
+
+
+ + + + + + diff --git a/docs/cdt/dir_bc0718b08fb2015b8e59c47b2805f60c.js b/docs/cdt/dir_bc0718b08fb2015b8e59c47b2805f60c.js new file mode 100644 index 000000000..e20748059 --- /dev/null +++ b/docs/cdt/dir_bc0718b08fb2015b8e59c47b2805f60c.js @@ -0,0 +1,4 @@ +var dir_bc0718b08fb2015b8e59c47b2805f60c = +[ + [ "eosiolib", "dir_9e60c71e6dfb8d92b39aded6f4ab9fa8.html", "dir_9e60c71e6dfb8d92b39aded6f4ab9fa8" ] +]; \ No newline at end of file diff --git a/docs/cdt/dir_e6eaa0c1a89a74634a56cba5556371ea.html b/docs/cdt/dir_e6eaa0c1a89a74634a56cba5556371ea.html new file mode 100644 index 000000000..907e919dd --- /dev/null +++ b/docs/cdt/dir_e6eaa0c1a89a74634a56cba5556371ea.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: Содержание директории libraries/eosiolib/contracts/eosio + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/dir_e6eaa0c1a89a74634a56cba5556371ea.js b/docs/cdt/dir_e6eaa0c1a89a74634a56cba5556371ea.js new file mode 100644 index 000000000..5050215e0 --- /dev/null +++ b/docs/cdt/dir_e6eaa0c1a89a74634a56cba5556371ea.js @@ -0,0 +1,15 @@ +var dir_e6eaa0c1a89a74634a56cba5556371ea = +[ + [ "action.hpp", "action_8hpp.html", "action_8hpp" ], + [ "contract.hpp", "contract_8hpp.html", "contract_8hpp" ], + [ "dispatcher.hpp", "dispatcher_8hpp.html", "dispatcher_8hpp" ], + [ "eosio.hpp", "eosio_8hpp.html", null ], + [ "multi_index.hpp", "multi__index_8hpp.html", "multi__index_8hpp" ], + [ "permission.hpp", "permission_8hpp.html", null ], + [ "privileged.hpp", "privileged_8hpp.html", "privileged_8hpp" ], + [ "producer_schedule.hpp", "producer__schedule_8hpp.html", "producer__schedule_8hpp" ], + [ "security_group.hpp", "security__group_8hpp.html", "security__group_8hpp" ], + [ "singleton.hpp", "singleton_8hpp.html", null ], + [ "system.hpp", "system_8hpp.html", "system_8hpp" ], + [ "transaction.hpp", "transaction_8hpp.html", "transaction_8hpp" ] +]; \ No newline at end of file diff --git a/docs/cdt/dispatcher_8hpp.html b/docs/cdt/dispatcher_8hpp.html new file mode 100644 index 000000000..a4e72a947 --- /dev/null +++ b/docs/cdt/dispatcher_8hpp.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/dispatcher.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
#include "action.hpp"
+#include <bluegrass/meta/preprocessor.hpp>
+#include <tuple>
+
+

См. исходные тексты.

+ + + + +

+Пространства имен

namespace  eosio
 
+ + + +

+Макросы

#define EOSIO_DISPATCH(TYPE, MEMBERS)
 
+ + + + + + + +

+Функции

template<typename Contract , typename FirstAction , typename SecondAction , typename... Actions>
bool eosio::dispatch (uint64_t code, uint64_t act)
 
template<typename T , typename... Args>
bool eosio::execute_action (name self, name code, void(T::*func)(Args...))
 
+
+
+ + + + + + diff --git a/docs/cdt/dispatcher_8hpp.js b/docs/cdt/dispatcher_8hpp.js new file mode 100644 index 000000000..35dbc6e23 --- /dev/null +++ b/docs/cdt/dispatcher_8hpp.js @@ -0,0 +1,6 @@ +var dispatcher_8hpp = +[ + [ "EOSIO_DISPATCH", "group__dispatcher_ga4c40fe6c9aa739424885e20ed613e545.html#ga4c40fe6c9aa739424885e20ed613e545", null ], + [ "dispatch", "dispatcher_8hpp.html#ga289285490058d17de4a6a052b52dd680", null ], + [ "execute_action", "dispatcher_8hpp.html#ga8c4928c29096799ef6ddabf148dc9cf9", null ] +]; \ No newline at end of file diff --git a/docs/cdt/dispatcher_8hpp_source.html b/docs/cdt/dispatcher_8hpp_source.html new file mode 100644 index 000000000..31a48b9d0 --- /dev/null +++ b/docs/cdt/dispatcher_8hpp_source.html @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/dispatcher.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
dispatcher.hpp
+
+
+См. документацию.
1#pragma once
+
2#include "action.hpp"
+
3
+
4#include <bluegrass/meta/preprocessor.hpp>
+
5#include <tuple>
+
6
+
7namespace eosio {
+
8
+
17
+
18 template<typename Contract, typename FirstAction>
+
19 bool dispatch( uint64_t code, uint64_t act ) {
+
20 if( code == FirstAction::get_account() && FirstAction::get_name() == act ) {
+
21 Contract().on( unpack_action_data<FirstAction>() );
+
22 return true;
+
23 }
+
24 return false;
+
25 }
+
26
+
28
+
41 template<typename Contract, typename FirstAction, typename SecondAction, typename... Actions>
+ +
43 if( code == FirstAction::get_account() && FirstAction::get_name() == act ) {
+
44 Contract().on( unpack_action_data<FirstAction>() );
+
45 return true;
+
46 }
+
47 return eosio::dispatch<Contract,SecondAction,Actions...>( code, act );
+
48 }
+
49
+
50
+
51
+
52
+
64 template<typename T, typename... Args>
+
65 bool execute_action( name self, name code, void (T::*func)(Args...) ) {
+
66 size_t size = action_data_size();
+
67
+
68 //using malloc/free here potentially is not exception-safe, although WASM doesn't support exceptions
+
69 constexpr size_t max_stack_buffer_size = 512;
+
70 void* buffer = nullptr;
+
71 if( size > 0 ) {
+
72 buffer = max_stack_buffer_size < size ? malloc(size) : alloca(size);
+
73 read_action_data( buffer, size );
+
74 }
+
75
+
76 std::tuple<std::decay_t<Args>...> args;
+
77 datastream<const char*> ds((char*)buffer, size);
+
78 ds >> args;
+
79
+
80 T inst(self, code, ds);
+
81
+
82 auto f2 = [&]( auto... a ){
+
83 ((&inst)->*func)( a... );
+
84 };
+
85
+
86 std::apply( f2, args );
+
87 if ( max_stack_buffer_size < size ) {
+
88 free(buffer);
+
89 }
+
90 return true;
+
91 }
+
92
+
94
+
95 // Helper macro for EOSIO_DISPATCH_INTERNAL
+
96 #define EOSIO_DISPATCH_INTERNAL( OP, elem ) \
+
97 case eosio::name( BLUEGRASS_META_STRINGIZE(elem) ).value: \
+
98 eosio::execute_action( eosio::name(receiver), eosio::name(code), &OP::elem ); \
+
99 break;
+
100
+
101 // Helper macro for EOSIO_DISPATCH
+
102 #define EOSIO_DISPATCH_HELPER( TYPE, MEMBERS ) \
+
103 BLUEGRASS_META_FOREACH_SEQ( EOSIO_DISPATCH_INTERNAL, TYPE, MEMBERS )
+
104
+
106
+
120#define EOSIO_DISPATCH( TYPE, MEMBERS ) \
+
121extern "C" { \
+
122 [[eosio::wasm_entry]] \
+
123 void apply( uint64_t receiver, uint64_t code, uint64_t action ) { \
+
124 if( code == receiver ) { \
+
125 switch( action ) { \
+
126 EOSIO_DISPATCH_HELPER( TYPE, MEMBERS ) \
+
127 } \
+
128 /* does not allow destructor of thiscontract to run: eosio_exit(0); */ \
+
129 } \
+
130 } \
+
131} \
+
132
+
133}
+
+
+ + + + + + diff --git a/docs/cdt/doc.png b/docs/cdt/doc.png new file mode 100644 index 000000000..17edabff9 Binary files /dev/null and b/docs/cdt/doc.png differ diff --git a/docs/cdt/doxygen-awesome-darkmode-toggle.js b/docs/cdt/doxygen-awesome-darkmode-toggle.js new file mode 100644 index 000000000..c22d5159d --- /dev/null +++ b/docs/cdt/doxygen-awesome-darkmode-toggle.js @@ -0,0 +1,122 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +class DoxygenAwesomeDarkModeToggle extends HTMLElement { + static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode" + static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode" + + static _staticConstructor = function() { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) + // Update the color scheme when the browsers preference changes + // without user interaction on the website. + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => { + DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() + }) + // Update the color scheme when the tab is made visible again. + // It is possible that the appearance was changed in another tab + // while this tab was in the background. + document.addEventListener("visibilitychange", visibilityState => { + if (document.visibilityState === 'visible') { + DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged() + } + }); + }() + + constructor() { + super(); + this.onclick=this.toggleDarkMode + } + + /** + * @returns `true` for dark-mode, `false` for light-mode system preference + */ + static get systemPreference() { + return window.matchMedia('(prefers-color-scheme: dark)').matches + } + + /** + * @returns `true` for dark-mode, `false` for light-mode user preference + */ + static get userPreference() { + return (!DoxygenAwesomeDarkModeToggle.systemPreference && localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)) || + (DoxygenAwesomeDarkModeToggle.systemPreference && !localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey)) + } + + static set userPreference(userPreference) { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = userPreference + if(!userPreference) { + if(DoxygenAwesomeDarkModeToggle.systemPreference) { + localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey, true) + } else { + localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey) + } + } else { + if(!DoxygenAwesomeDarkModeToggle.systemPreference) { + localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey, true) + } else { + localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey) + } + } + DoxygenAwesomeDarkModeToggle.onUserPreferenceChanged() + } + + static enableDarkMode(enable) { + let head = document.getElementsByTagName('head')[0] + if(enable) { + document.documentElement.classList.add("dark-mode") + document.documentElement.classList.remove("light-mode") + } else { + document.documentElement.classList.remove("dark-mode") + document.documentElement.classList.add("light-mode") + } + DoxygenAwesomeDarkModeToggle.updateMermaidTheme(enable) + } + + static updateMermaidTheme(isDarkMode) { + if (window.mermaid) { + window.location.reload(); + } + } + + static onSystemPreferenceChanged() { + DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) + } + + static onUserPreferenceChanged() { + DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled) + } + + toggleDarkMode() { + DoxygenAwesomeDarkModeToggle.userPreference = !DoxygenAwesomeDarkModeToggle.userPreference + } +} + +customElements.define("doxygen-awesome-dark-mode-toggle", DoxygenAwesomeDarkModeToggle); diff --git a/docs/cdt/doxygen-awesome-sidebar-only-darkmode-toggle.css b/docs/cdt/doxygen-awesome-sidebar-only-darkmode-toggle.css new file mode 100644 index 000000000..b988b6f05 --- /dev/null +++ b/docs/cdt/doxygen-awesome-sidebar-only-darkmode-toggle.css @@ -0,0 +1,40 @@ + +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +@media screen and (min-width: 768px) { + + #MSearchBox { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - var(--searchbar-height) - 1px); + } + + #MSearchField { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 66px - var(--searchbar-height)); + } +} diff --git a/docs/cdt/doxygen-awesome-sidebar-only.css b/docs/cdt/doxygen-awesome-sidebar-only.css new file mode 100644 index 000000000..ca087b32c --- /dev/null +++ b/docs/cdt/doxygen-awesome-sidebar-only.css @@ -0,0 +1,112 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + */ + +html { + /* side nav width. MUST be = `TREEVIEW_WIDTH`. + * Make sure it is wide enought to contain the page title (logo + title + version) + */ + --side-nav-fixed-width: 340px; + --menu-display: none; + + --top-height: 120px; +} + + +@media screen and (min-width: 768px) { + html { + --searchbar-background: var(--page-background-color); + } + + #side-nav { + min-width: var(--side-nav-fixed-width); + max-width: var(--side-nav-fixed-width); + top: var(--top-height); + overflow: visible; + } + + #nav-tree, #side-nav { + height: calc(100vh - var(--top-height)) !important; + } + + #nav-tree { + padding: 0; + } + + #top { + display: block; + border-bottom: none; + height: var(--top-height); + margin-bottom: calc(0px - var(--top-height)); + max-width: var(--side-nav-fixed-width); + background: var(--side-nav-background); + } + #main-nav { + float: left; + padding-right: 0; + } + + .ui-resizable-handle { + cursor: default; + width: 1px !important; + box-shadow: 0 calc(-2 * var(--top-height)) 0 0 var(--separator-color); + } + + #nav-path { + position: fixed; + right: 0; + left: var(--side-nav-fixed-width); + bottom: 0; + width: auto; + } + + #doc-content { + height: calc(100vh - 31px) !important; + padding-bottom: calc(3 * var(--spacing-large)); + padding-top: calc(var(--top-height) - 80px); + box-sizing: border-box; + margin-left: var(--side-nav-fixed-width) !important; + } + + nav ul.navList > li ul { + display: block; + } + + #MSearchBox { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium))); + } + + #MSearchField { + width: calc(var(--side-nav-fixed-width) - calc(2 * var(--spacing-medium)) - 65px); + } + + #MSearchResultsWindow { + left: var(--spacing-medium) !important; + right: auto; + } +} diff --git a/docs/cdt/doxygen-awesome.css b/docs/cdt/doxygen-awesome.css new file mode 100644 index 000000000..11f717ecb --- /dev/null +++ b/docs/cdt/doxygen-awesome.css @@ -0,0 +1,1524 @@ +/** + +Doxygen Awesome +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +html { + /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */ + --primary-color: #1779c4; + --primary-dark-color: #00559f; + --primary-light-color: #7aabd6; + --primary-lighter-color: #cae1f1; + --primary-lightest-color: #e9f1f8; + + /* page base colors */ + --page-background-color: white; + --page-foreground-color: #2c3e50; + --page-secondary-foreground-color: #67727e; + + /* color for all separators on the website: hr, borders, ... */ + --separator-color: #dedede; + + /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */ + --border-radius-large: 8px; + --border-radius-small: 4px; + --border-radius-medium: 6px; + + /* default spacings. Most compontest reference these values for spacing, to provide uniform spacing on the page. */ + --spacing-small: 5px; + --spacing-medium: 10px; + --spacing-large: 16px; + + /* default box shadow used for raising an element above the normal content. Used in dropdowns, Searchresult, ... */ + --box-shadow: 0 2px 10px 0 rgba(0,0,0,.1); + + --odd-color: rgba(0,0,0,.03); + + /* font-families. will affect all text on the website + * font-family: the normal font for text, headlines, menus + * font-family-monospace: used for preformatted text in memtitle, code, fragments + */ + --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; + --font-family-monospace: source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace; + + /* font sizes */ + --page-font-size: 15.6px; + --navigation-font-size: 14.4px; + --code-font-size: 14.4px; /* affects code, fragment */ + --title-font-size: 22px; + + /* content text properties. These only affect the page content, not the navigation or any other ui elements */ + --content-line-height: 27px; + /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/ + --content-maxwidth: 1000px; + + /* colors for various content boxes: @warning, @note, @deprecated @bug */ + --warning-color: #fca49b; + --warning-color-dark: #b61825; + --warning-color-darker: #75070f; + --note-color: rgba(255,229,100,.3); + --note-color-dark: #c39900; + --note-color-darker: #8d7400; + --todo-color: rgba(100,160,200,.3); + --todo-color-dark: #00C0E0; + --todo-color-darker: #274a5c; + --deprecated-color: rgb(214, 216, 224); + --deprecated-color-dark: #5b6269; + --deprecated-color-darker: #43454a; + --bug-color: rgb(246, 208, 178); + --bug-color-dark: #a53a00; + --bug-color-darker: #5b1d00; + --invariant-color: #b7f8d0; + --invariant-color-dark: #00ba44; + --invariant-color-darker: #008622; + + /* blockquote colors */ + --blockquote-background: #f5f5f5; + --blockquote-foreground: #727272; + + /* table colors */ + --tablehead-background: #f1f1f1; + --tablehead-foreground: var(--page-foreground-color); + + /* menu-display: block | none + * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible. + * `GENERATE_TREEVIEW` MUST be enabled! + */ + --menu-display: block; + + --menu-focus-foreground: var(--page-background-color); + --menu-focus-background: var(--primary-color); + --menu-selected-background: rgba(0,0,0,.05); + + + --header-background: var(--page-background-color); + --header-foreground: var(--page-foreground-color); + + /* searchbar colors */ + --searchbar-background: var(--side-nav-background); + --searchbar-foreground: var(--page-foreground-color); + + /* searchbar size + * (`searchbar-width` is only applied on screens >= 768px. + * on smaller screens the searchbar will always fill the entire screen width) */ + --searchbar-height: 33px; + --searchbar-width: 210px; + + /* code block colors */ + --code-background: #f5f5f5; + --code-foreground: var(--page-foreground-color); + + /* fragment colors */ + --fragment-background: #282c34; + --fragment-foreground: #ffffff; + --fragment-keyword: #cc99cd; + --fragment-keywordtype: #ab99cd; + --fragment-keywordflow: #e08000; + --fragment-token: #7ec699; + --fragment-comment: #999999; + --fragment-link: #98c0e3; + --fragment-preprocessor: #65cabe; + --fragment-linenumber-color: #cccccc; + --fragment-linenumber-background: #35393c; + --fragment-linenumber-border: #1f1f1f; + --fragment-lineheight: 20px; + + /* sidebar navigation (treeview) colors */ + --side-nav-background: #fbfbfb; + --side-nav-foreground: var(--page-foreground-color); + --side-nav-arrow-opacity: 0; + --side-nav-arrow-hover-opacity: 0.9; + + /* height of an item in any tree / collapsable table */ + --tree-item-height: 30px; + + --darkmode-toggle-button-icon: '☀️' +} + +@media screen and (max-width: 767px) { + html { + --page-font-size: 16px; + --navigation-font-size: 16px; + --code-font-size: 15px; /* affects code, fragment */ + --title-font-size: 22px; + } +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #5ca8e2; + --primary-light-color: #4779ac; + --primary-lighter-color: #191e21; + --primary-lightest-color: #191a1c; + + --box-shadow: 0 2px 10px 0 rgba(0,0,0,.35); + + --odd-color: rgba(0,0,0,.1); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #000000; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #1f2022; + --blockquote-foreground: #77848a; + + --warning-color: #b61825; + --warning-color-dark: #510a02; + --warning-color-darker: #f5b1aa; + --note-color: rgb(255, 183, 0); + --note-color-dark: #9f7300; + --note-color-darker: #645b39; + --todo-color: rgba(100,160,200,.3); + --todo-color-dark: #00C0E0; + --todo-color-darker: #dcf0fa; + --deprecated-color: rgb(88, 90, 96); + --deprecated-color-dark: #262e37; + --deprecated-color-darker: #a0a5b0; + --bug-color: rgb(248, 113, 0); + --bug-color-dark: #812a00; + --bug-color-darker: #ffd3be; + + --darkmode-toggle-button-icon: '🌛'; + } +} + +/* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */ +html.dark-mode { + color-scheme: dark; + + --primary-color: #1982d2; + --primary-dark-color: #5ca8e2; + --primary-light-color: #4779ac; + --primary-lighter-color: #191e21; + --primary-lightest-color: #191a1c; + + --box-shadow: 0 2px 10px 0 rgba(0,0,0,.35); + + --odd-color: rgba(0,0,0,.1); + + --menu-selected-background: rgba(0,0,0,.4); + + --page-background-color: #1C1D1F; + --page-foreground-color: #d2dbde; + --page-secondary-foreground-color: #859399; + --separator-color: #000000; + --side-nav-background: #252628; + + --code-background: #2a2c2f; + + --tablehead-background: #2a2c2f; + + --blockquote-background: #1f2022; + --blockquote-foreground: #77848a; + + --warning-color: #b61825; + --warning-color-dark: #510a02; + --warning-color-darker: #f5b1aa; + --note-color: rgb(255, 183, 0); + --note-color-dark: #9f7300; + --note-color-darker: #645b39; + --todo-color: rgba(100,160,200,.3); + --todo-color-dark: #00C0E0; + --todo-color-darker: #dcf0fa; + --deprecated-color: rgb(88, 90, 96); + --deprecated-color-dark: #262e37; + --deprecated-color-darker: #a0a5b0; + --bug-color: rgb(248, 113, 0); + --bug-color-dark: #812a00; + --bug-color-darker: #ffd3be; + + --darkmode-toggle-button-icon: '🌛'; +} + +body { + color: var(--page-foreground-color); + background-color: var(--page-background-color); + font-size: var(--page-font-size); +} + +body, table, div, p, dl, #nav-tree .label, .title, .sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname, .SelectItem, #MSearchField, .navpath li.navelem a, .navpath li.navelem a:hover { + font-family: var(--font-family); +} + +h1, h2, h3, h4, h5 { + margin-top: .9em; + font-weight: 600; + line-height: initial; +} + +p, div, table, dl { + font-size: var(--page-font-size); +} + +a:link, a:visited, a:hover, a:focus, a:active { + color: var(--primary-color) !important; + font-weight: 500; +} + +/* + Title and top navigation + */ + +#top { + background: var(--header-background); + border-bottom: 1px solid var(--separator-color); +} + +@media screen and (min-width: 768px) { + #top { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + } +} + +#main-nav { + flex-grow: 5; + padding: var(--spacing-small) var(--spacing-medium); +} + +#titlearea { + width: auto; + padding: var(--spacing-medium) var(--spacing-large); + background: none; + color: var(--header-foreground); + border-bottom: none; +} + +@media screen and (max-width: 767px) { + #titlearea { + padding-bottom: var(--spacing-small); + } +} + +#titlearea table tbody tr { + height: auto !important; +} + +#projectname { + font-size: var(--title-font-size); + font-weight: 600; +} + +#projectnumber { + font-family: inherit; + font-size: 60%; +} + +#projectbrief { + font-family: inherit; + font-size: 80%; +} + +#projectlogo { + vertical-align: middle; +} + +#projectlogo img { + max-height: calc(var(--title-font-size) * 2); + margin-right: var(--spacing-small); +} + +.sm-dox, .tabs, .tabs2, .tabs3 { + background: none; + padding: 0; +} + +.tabs, .tabs2, .tabs3 { + border-bottom: 1px solid var(--separator-color); + margin-bottom: -1px; +} + +@media screen and (max-width: 767px) { + .sm-dox a span.sub-arrow { + background: var(--code-background); + } +} + +@media screen and (min-width: 768px) { + .sm-dox li, .tablist li { + display: var(--menu-display); + } + + .sm-dox a span.sub-arrow { + border-color: var(--header-foreground) transparent transparent transparent; + } + + .sm-dox a:hover span.sub-arrow { + border-color: var(--menu-focus-foreground) transparent transparent transparent; + } + + .sm-dox ul a span.sub-arrow { + border-color: transparent transparent transparent var(--page-foreground-color); + } + + .sm-dox ul a:hover span.sub-arrow { + border-color: transparent transparent transparent var(--menu-focus-foreground); + } +} + +.sm-dox ul { + background: var(--page-background-color); + box-shadow: var(--box-shadow); + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium) !important; + padding: var(--spacing-small); + animation: ease-out 150ms slideInMenu; +} + +@keyframes slideInMenu { + from { + opacity: 0; + transform: translate(0px, -2px); + } + + to { + opacity: 1; + transform: translate(0px, 0px); + } +} + +.sm-dox ul a { + color: var(--page-foreground-color) !important; + background: var(--page-background-color); + font-size: var(--navigation-font-size); +} + +.sm-dox>li>ul:after { + border-bottom-color: var(--page-background-color) !important; +} + +.sm-dox>li>ul:before { + border-bottom-color: var(--separator-color) !important; +} + +.sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus { + font-size: var(--navigation-font-size) !important; + color: var(--menu-focus-foreground) !important; + text-shadow: none; + background-color: var(--menu-focus-background); + border-radius: var(--border-radius-small) !important; +} + +.sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a { + text-shadow: none; + background: transparent; + background-image: none !important; + color: var(--header-foreground) !important; + font-weight: normal; + font-size: var(--navigation-font-size); +} + +.sm-dox a:focus { + outline: auto; +} + +.sm-dox a:hover, .sm-dox a:active, .tablist li a:hover { + text-shadow: none; + font-weight: normal; + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; + border-radius: var(--border-radius-small) !important; + font-size: var(--navigation-font-size); +} + +.tablist li.current { + border-radius: var(--border-radius-small); + background: var(--menu-selected-background); +} + +.tablist li { + margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small); +} + +.tablist a { + padding: 0 var(--spacing-large); +} + + +/* + Search box + */ + +#MSearchBox { + height: var(--searchbar-height); + background: var(--searchbar-background); + border-radius: var(--searchbar-height); + border: 1px solid var(--separator-color); + overflow: hidden; + width: var(--searchbar-width); + position: relative; + box-shadow: none; + display: block; + margin-top: 0; +} + +.left #MSearchSelect { + left: 0; +} + +.tabs .left #MSearchSelect { + padding-left: 0; +} + +.tabs #MSearchBox { + position: absolute; + right: var(--spacing-medium); +} + +@media screen and (max-width: 767px) { + .tabs #MSearchBox { + position: relative; + right: 0; + margin-left: var(--spacing-medium); + margin-top: 0; + } +} + +#MSearchSelectWindow, #MSearchResultsWindow { + z-index: 9999; +} + +#MSearchBox.MSearchBoxActive { + border-color: var(--primary-color); + box-shadow: inset 0 0 0 1px var(--primary-color); +} + +#main-menu > li:last-child { + margin-right: 0; +} + +@media screen and (max-width: 767px) { + #main-menu > li:last-child { + height: 50px; + } +} + +#MSearchField { + font-size: var(--navigation-font-size); + height: calc(var(--searchbar-height) - 2px); + background: transparent; + width: calc(var(--searchbar-width) - 64px); +} + +.MSearchBoxActive #MSearchField { + color: var(--searchbar-foreground); +} + +#MSearchSelect { + top: calc(calc(var(--searchbar-height) / 2) - 11px); +} + +.left #MSearchSelect { + padding-left: 8px; +} + +#MSearchBox span.left, #MSearchBox span.right { + background: none; +} + +#MSearchBox span.right { + padding-top: calc(calc(var(--searchbar-height) / 2) - 12px); + position: absolute; + right: var(--spacing-small); +} + +.tabs #MSearchBox span.right { + top: calc(calc(var(--searchbar-height) / 2) - 12px); +} + +@keyframes slideInSearchResults { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } +} + +#MSearchResultsWindow { + left: auto !important; + right: var(--spacing-medium); + border-radius: var(--border-radius-large); + border: 1px solid var(--separator-color); + transform: translate(0, 20px); + box-shadow: var(--box-shadow); + animation: ease-out 280ms slideInSearchResults; + background: var(--page-background-color); +} + +iframe#MSearchResults { + margin: 4px; +} + +iframe { + color-scheme: normal; +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) iframe#MSearchResults { + filter: invert() hue-rotate(180deg); + } +} + +html.dark-mode iframe#MSearchResults { + filter: invert() hue-rotate(180deg); +} + +#MSearchSelectWindow { + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + box-shadow: var(--box-shadow); + background: var(--page-background-color); +} + +#MSearchSelectWindow a.SelectItem { + font-size: var(--navigation-font-size); + line-height: var(--content-line-height); + margin: 0 var(--spacing-small); + border-radius: var(--border-radius-small); + color: var(--page-foreground-color) !important; + font-weight: normal; +} + +#MSearchSelectWindow a.SelectItem:hover { + background: var(--menu-focus-background); + color: var(--menu-focus-foreground) !important; +} + +@media screen and (max-width: 767px) { + #MSearchBox { + margin-top: var(--spacing-medium); + margin-bottom: var(--spacing-medium); + width: calc(100vw - 30px); + } + + #main-menu > li:last-child { + float: none !important; + } + + #MSearchField { + width: calc(100vw - 110px); + } + + @keyframes slideInSearchResultsMobile { + from { + opacity: 0; + transform: translate(0, 15px); + } + + to { + opacity: 1; + transform: translate(0, 20px); + } + } + + #MSearchResultsWindow { + left: var(--spacing-medium) !important; + right: var(--spacing-medium); + overflow: auto; + transform: translate(0, 20px); + animation: ease-out 280ms slideInSearchResultsMobile; + } + + /* + * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2 + */ + label.main-menu-btn ~ #searchBoxPos1 { + top: 3px !important; + right: 6px !important; + left: 45px; + display: flex; + } + + label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox { + margin-top: 0; + margin-bottom: 0; + flex-grow: 2; + float: left; + } +} + +/* + Tree view + */ + +#side-nav { + padding: 0 !important; + background: var(--side-nav-background); +} + +@media screen and (max-width: 767px) { + #side-nav { + display: none; + } + + #doc-content { + margin-left: 0 !important; + height: auto !important; + padding-bottom: calc(2 * var(--spacing-large)); + } +} + +#nav-tree { + background: transparent; +} + +#nav-tree .label { + font-size: var(--navigation-font-size); +} + +#nav-tree .item { + height: var(--tree-item-height); + line-height: var(--tree-item-height); +} + +#nav-sync { + top: 12px !important; + right: 12px; +} + +#nav-tree .selected { + text-shadow: none; + background-image: none; + background-color: transparent; + box-shadow: inset 4px 0 0 0 var(--primary-color); +} + +#nav-tree a { + color: var(--side-nav-foreground) !important; + font-weight: normal; +} + +#nav-tree a:focus { + outline-style: auto; +} + +#nav-tree .arrow { + opacity: var(--side-nav-arrow-opacity); +} + +.arrow { + color: inherit; + cursor: pointer; + font-size: 45%; + vertical-align: middle; + margin-right: 2px; + font-family: serif; + height: auto; + text-align: right; +} + +#nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow { + opacity: var(--side-nav-arrow-hover-opacity); +} + +#nav-tree .selected a { + color: var(--primary-color) !important; + font-weight: bolder; + font-weight: 600; +} + +.ui-resizable-e { + background: var(--separator-color); + width: 1px; +} + +/* + Contents + */ + +div.header { + border-bottom: 1px solid var(--separator-color); + background-color: var(--page-background-color); + background-image: none; +} + +div.contents, div.header .title, div.header .summary { + max-width: var(--content-maxwidth); +} + +div.contents, div.header .title { + line-height: initial; + margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto; +} + +div.header .summary { + margin: var(--spacing-medium) auto 0 auto; +} + +div.headertitle { + padding: 0; +} + +div.header .title { + font-weight: 600; + font-size: 210%; + padding: var(--spacing-medium) var(--spacing-large); + word-break: break-word; +} + +div.header .summary { + width: auto; + display: block; + float: none; + padding: 0 var(--spacing-large); +} + +td.memSeparator { + border-color: var(--separator-color); +} + +.mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background: var(--code-background); +} + +.mdescRight { + color: var(--page-secondary-foreground-color); +} + +span.mlabel { + background: var(--primary-color); + border: none; + padding: 4px 9px; + border-radius: 12px; + margin-right: var(--spacing-medium); +} + +span.mlabel:last-of-type { + margin-right: 2px; +} + +div.contents { + padding: 0 var(--spacing-large); +} + +div.contents p, div.contents li { + line-height: var(--content-line-height); +} + +div.contents div.dyncontent { + margin: var(--spacing-medium) 0; +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) div.contents div.dyncontent img, + html:not(.light-mode) div.contents center img, + html:not(.light-mode) div.contents table img, + html:not(.light-mode) div.contents div.dyncontent iframe, + html:not(.light-mode) div.contents center iframe, + html:not(.light-mode) div.contents table iframe { + filter: hue-rotate(180deg) invert(); + } +} + +html.dark-mode div.contents div.dyncontent img, +html.dark-mode div.contents center img, +html.dark-mode div.contents table img, +html.dark-mode div.contents div.dyncontent iframe, +html.dark-mode div.contents center iframe, +html.dark-mode div.contents table iframe { + filter: hue-rotate(180deg) invert(); +} + +h2.groupheader { + border-bottom: 1px solid var(--separator-color); + color: var(--page-foreground-color); +} + +blockquote { + padding: var(--spacing-small) var(--spacing-medium); + background: var(--blockquote-background); + color: var(--blockquote-foreground); + border-left: 2px solid var(--blockquote-foreground); + margin: 0; +} + +blockquote p { + margin: var(--spacing-small) 0 var(--spacing-medium) 0; +} +.paramname { + font-weight: 600; + color: var(--primary-dark-color); +} + +.glow { + text-shadow: 0 0 15px var(--primary-light-color) !important; +} + +.alphachar a { + color: var(--page-foreground-color); +} + +/* + Table of Contents + */ + +div.toc { + background-color: var(--side-nav-background); + border: 1px solid var(--separator-color); + border-radius: var(--border-radius-medium); + box-shadow: var(--box-shadow); + padding: 0 var(--spacing-large); + margin: 0 0 var(--spacing-medium) var(--spacing-medium); +} + +div.toc h3 { + color: var(--side-nav-foreground); + font-size: var(--navigation-font-size); + margin: var(--spacing-large) 0; +} + +div.toc li { + font-size: var(--navigation-font-size); + padding: 0; + background: none; +} + +div.toc li:before { + content: '↓'; + font-weight: 800; + font-family: var(--font-family); + margin-right: var(--spacing-small); + color: var(--side-nav-foreground); + opacity: .4; +} + +div.toc ul li.level1 { + margin: 0; +} + +div.toc ul li.level2, div.toc ul li.level3 { + margin-top: 0; +} + + +@media screen and (max-width: 767px) { + div.toc { + float: none; + width: auto; + margin: 0 0 var(--spacing-medium) 0; + } +} + +/* + Code & Fragments + */ + +code, div.fragment, pre.fragment { + border-radius: var(--border-radius-small); + border: none; + overflow: hidden; +} + +code { + display: inline; + background: var(--code-background); + color: var(--code-foreground); + padding: 2px 6px; + word-break: break-word; +} + +div.fragment, pre.fragment { + margin: var(--spacing-medium) 0; + padding: 14px 16px; + background: var(--fragment-background); + color: var(--fragment-foreground); + overflow-x: auto; +} + +@media screen and (max-width: 767px) { + div.fragment, pre.fragment { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + .contents > div.fragment, .textblock > div.fragment, .textblock > pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + border-radius: 0; + } + + .textblock li > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-large)); + } + + .memdoc li > .fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + } + + .memdoc > div.fragment, .memdoc > pre.fragment, dl dd > div.fragment, dl dd pre.fragment { + margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); + border-radius: 0; + } +} + +code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span { + font-family: var(--font-family-monospace); + font-size: var(--code-font-size) !important; +} + +div.line:after { + margin-right: var(--spacing-medium); +} + +div.fragment .line, pre.fragment { + white-space: pre; + word-wrap: initial; + line-height: var(--fragment-lineheight); +} + +div.fragment span.keyword { + color: var(--fragment-keyword); +} + +div.fragment span.keywordtype { + color: var(--fragment-keywordtype); +} + +div.fragment span.keywordflow { + color: var(--fragment-keywordflow); +} + +div.fragment span.stringliteral { + color: var(--fragment-token) +} + +div.fragment span.comment { + color: var(--fragment-comment); +} + +div.fragment a.code { + color: var(--fragment-link) !important; +} + +div.fragment span.preprocessor { + color: var(--fragment-preprocessor); +} + +div.fragment span.lineno { + display: inline-block; + width: 27px; + border-right: none; + background: var(--fragment-linenumber-background); + color: var(--fragment-linenumber-color); +} + +div.fragment span.lineno a { + background: none; + color: var(--fragment-link) !important; +} + +div.fragment .line:first-child .lineno { + box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border); +} + +/* + dl warning, attention, note, deprecated, bug, ... + */ + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.todo, dl.remark { + padding: var(--spacing-medium); + margin: var(--spacing-medium) 0; + color: var(--page-background-color); + overflow: hidden; + margin-left: 0; + border-radius: var(--border-radius-small); +} + +dl.section dd { + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: var(--warning-color); + border-left: 8px solid var(--warning-color-dark); + color: var(--warning-color-darker); +} + +dl.warning dt, dl.attention dt { + color: var(--warning-color-dark); +} + +dl.note, dl.remark { + background: var(--note-color); + border-left: 8px solid var(--note-color-dark); + color: var(--note-color-darker); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-dark); +} + +dl.todo { + background: var(--todo-color); + border-left: 8px solid var(--todo-color-dark); + color: var(--todo-color-darker); +} + +dl.todo dt { + color: var(--todo-color-dark); +} + +dl.bug { + background: var(--bug-color); + border-left: 8px solid var(--bug-color-dark); + color: var(--bug-color-darker); +} + +dl.bug dt a { + color: var(--bug-color-dark) !important; +} + +dl.deprecated { + background: var(--deprecated-color); + border-left: 8px solid var(--deprecated-color-dark); + color: var(--deprecated-color-darker); +} + +dl.deprecated dt a { + color: var(--deprecated-color-dark) !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre { + background: var(--invariant-color); + border-left: 8px solid var(--invariant-color-dark); + color: var(--invariant-color-darker); +} + +/* + memitem + */ + +div.memdoc, div.memproto, h2.memtitle { + box-shadow: none; + background-image: none; + border: none; +} + +div.memdoc { + padding: 0 var(--spacing-medium); + background: var(--page-background-color); +} + +h2.memtitle, div.memitem { + border: 1px solid var(--separator-color); +} + +div.memproto, h2.memtitle { + background: var(--code-background); + text-shadow: none; +} + +h2.memtitle { + font-weight: 500; + font-family: monospace, fixed; + border-bottom: none; + border-top-left-radius: var(--border-radius-medium); + border-top-right-radius: var(--border-radius-medium); + word-break: break-all; +} + +a:target + h2.memtitle, a:target + h2.memtitle + div.memitem { + border-color: var(--primary-light-color); +} + +a:target + h2.memtitle { + box-shadow: -3px -3px 3px 0 var(--primary-lightest-color), 3px -3px 3px 0 var(--primary-lightest-color); +} + +a:target + h2.memtitle + div.memitem { + box-shadow: 0 0 10px 0 var(--primary-lighter-color); +} + +div.memitem { + border-top-right-radius: var(--border-radius-medium); + border-bottom-right-radius: var(--border-radius-medium); + border-bottom-left-radius: var(--border-radius-medium); + overflow: hidden; + display: block !important; +} + +div.memdoc { + border-radius: 0; +} + +div.memproto { + border-radius: 0 var(--border-radius-small) 0 0; + overflow: auto; + border-bottom: 1px solid var(--separator-color); + padding: var(--spacing-medium); + margin-bottom: -1px; +} + +div.memtitle { + border-top-right-radius: var(--border-radius-medium); + border-top-left-radius: var(--border-radius-medium); +} + +div.memproto table.memname { + font-family: monospace, fixed; + color: var(--page-foreground-color); +} + +table.mlabels, table.mlabels > tbody { + display: block; +} + +td.mlabels-left { + width: auto; +} + +table.mlabels > tbody > tr:first-child { + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} + +.memname, .memitem span.mlabels { + margin: 0 +} + +/* + reflist + */ + +dl.reflist { + box-shadow: var(--box-shadow); + border-radius: var(--border-radius-medium); + border: 1px solid var(--separator-color); + overflow: hidden; + padding: 0; +} + + +dl.reflist dt, dl.reflist dd { + box-shadow: none; + text-shadow: none; + background-image: none; + border: none; + padding: 12px; +} + + +dl.reflist dt { + font-weight: 500; + border-radius: 0; + background: var(--code-background); + border-bottom: 1px solid var(--separator-color); + color: var(--page-foreground-color) +} + + +dl.reflist dd { + background: none; +} + +/* + Table + */ + +table.markdownTable, table.fieldtable { + width: 100%; + border: 1px solid var(--separator-color); + margin: var(--spacing-medium) 0; +} + +table.fieldtable { + box-shadow: none; + border-radius: var(--border-radius-small); +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background: var(--tablehead-background); + color: var(--tablehead-foreground); + font-weight: 600; + font-size: var(--page-font-size); +} + +table.markdownTable td, table.markdownTable th, table.fieldtable dt { + border: 1px solid var(--separator-color); + padding: var(--spacing-small) var(--spacing-medium); +} + +table.fieldtable th { + font-size: var(--page-font-size); + font-weight: 600; + background-image: none; + background-color: var(--tablehead-background); + color: var(--tablehead-foreground); + border-bottom: 1px solid var(--separator-color); +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + border-bottom: 1px solid var(--separator-color); + border-right: 1px solid var(--separator-color); +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid var(--separator-color); +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--primary-light-color); + box-shadow: 0 0 15px var(--primary-lighter-color); +} + +table.memberdecls { + display: block; + overflow-x: auto; + overflow-y: hidden; +} + + +/* + Horizontal Rule + */ + +hr { + margin-top: var(--spacing-large); + margin-bottom: var(--spacing-large); + border-top:1px solid var(--separator-color); +} + +.contents hr { + box-shadow: var(--content-maxwidth) 0 0 0 var(--separator-color), calc(0px - var(--content-maxwidth)) 0 0 0 var(--separator-color); +} + +.contents img, .contents .center, .contents center { + max-width: 100%; + overflow: scroll; +} + +/* + Directories + */ +div.directory { + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + width: auto; +} + +table.directory { + font-family: var(--font-family); + font-size: var(--page-font-size); + font-weight: normal; +} + +.directory td.entry { + padding: var(--spacing-small); + display: flex; + align-items: center; +} + +.directory tr.even { + background-color: var(--odd-color); +} + +.icona { + width: auto; + height: auto; + margin: 0 var(--spacing-small); +} + +.icon { + background: var(--primary-color); + width: 18px; + height: 18px; + line-height: 18px; +} + +.iconfopen, .icondoc, .iconfclosed { + background-position: center; + margin-bottom: 0; +} + +.icondoc { + filter: saturate(0.2); +} + +@media screen and (max-width: 767px) { + div.directory { + margin-left: calc(0px - var(--spacing-medium)); + margin-right: calc(0px - var(--spacing-medium)); + } +} + +@media (prefers-color-scheme: dark) { + html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed { + filter: hue-rotate(180deg) invert(); + } +} + +html.dark-mode .iconfopen, html.dark-mode .iconfclosed { + filter: hue-rotate(180deg) invert(); +} + +/* + Class list + */ + +.classindex dl.odd { + background: var(--odd-color); + border-radius: var(--border-radius-small); +} + +@media screen and (max-width: 767px) { + .classindex { + margin: 0 calc(0px - var(--spacing-small)); + } +} + +/* + Footer and nav-path + */ + +#nav-path { + margin-bottom: -1px; + width: 100%; +} + +#nav-path ul { + background-image: none; + background: var(--page-background-color); + border: none; + border-top: 1px solid var(--separator-color); + border-bottom: 1px solid var(--separator-color); + font-size: var(--navigation-font-size); +} + +img.footer { + width: 60px; +} + +.navpath li.footer { + color: var(--page-secondary-foreground-color); +} + +address.footer { + margin-bottom: var(--spacing-large); +} + +#nav-path li.navelem { + background-image: none; + display: flex; + align-items: center; +} + +.navpath li.navelem a { + text-shadow: none; + display: inline-block; + color: var(--primary-color) !important; +} + +.navpath li.navelem b { + color: var(--primary-dark-color); + font-weight: 500; +} + +li.navelem { + padding: 0; + margin-left: -8px; +} + +li.navelem:first-child { + margin-left: var(--spacing-large); +} + +li.navelem:first-child:before { + display: none; +} + +#nav-path li.navelem:after { + content: ''; + border: 5px solid var(--page-background-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: scaleY(4.2); + z-index: 10; + margin-left: 6px; +} + +#nav-path li.navelem:before { + content: ''; + border: 5px solid var(--separator-color); + border-bottom-color: transparent; + border-right-color: transparent; + border-top-color: transparent; + transform: scaleY(3.2); + margin-right: var(--spacing-small); +} + +.navpath li.navelem a:hover { + color: var(--primary-color); +} + +/* + Optional Dark mode toggle button +*/ + +doxygen-awesome-dark-mode-toggle { + display: inline-block; + margin: 0 0 0 var(--spacing-small); + padding: 0; + width: var(--searchbar-height); + height: var(--searchbar-height); + background: none; + border: none; + font-size: 23px; + border-radius: var(--border-radius-medium); + vertical-align: middle; + text-align: center; + line-height: var(--searchbar-height); +} + +doxygen-awesome-dark-mode-toggle:hover { + background: var(--separator-color); +} + +doxygen-awesome-dark-mode-toggle:after { + content: var(--darkmode-toggle-button-icon) +} diff --git a/docs/cdt/doxygen.css b/docs/cdt/doxygen.css new file mode 100644 index 000000000..903673722 --- /dev/null +++ b/docs/cdt/doxygen.css @@ -0,0 +1,1841 @@ +/* The standard CSS for doxygen 1.9.3 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + border-right: 1px solid #A3B4D7; + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} +td.navtabHL { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: #A0A0A0; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: black; +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.odd { + background-color: #F8F9FC; +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +.contents a.qindexHL:visited { + color: #FFFFFF; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: visible; +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ + overflow-y: hidden; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + margin-right: 9px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #FFFFFF; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +.compoundTemplParams { + color: #4665A2; + font-size: 80%; + line-height: 120%; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +blockquote.DocNodeRTL { + border-left: 0; + border-right: 2px solid #9CAFD4; + margin: 0 4px 0 24px; + padding: 0 16px 0 12px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.section.DocNodeRTL { + margin-right: 0px; + padding-right: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.note.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.warning.DocNodeRTL, dl.attention.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.pre.DocNodeRTL, dl.post.DocNodeRTL, dl.invariant.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.deprecated.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.todo.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.test.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +dl.bug.DocNodeRTL { + margin-left: 0; + padding-left: 0; + border-left: 0; + margin-right: -7px; + padding-right: 3px; + border-right: 4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectrow +{ + height: 56px; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; + padding-left: 0.5em; +} + +#projectname +{ + font: 200% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 90% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +.PageDocRTL-title div.toc { + float: left !important; + text-align: right; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +.PageDocRTL-title div.toc li { + background-position-x: right !important; + padding-left: 0 !important; + padding-right: 10px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +span.obfuscator { + display: none; +} + +.PageDocRTL-title div.toc li.level1 { + margin-left: 0 !important; + margin-right: 0; +} + +.PageDocRTL-title div.toc li.level2 { + margin-left: 0 !important; + margin-right: 15px; +} + +.PageDocRTL-title div.toc li.level3 { + margin-left: 0 !important; + margin-right: 30px; +} + +.PageDocRTL-title div.toc li.level4 { + margin-left: 0 !important; + margin-right: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + /*white-space: nowrap;*/ + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #FFFFFF; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #FFFFFF; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +.DocNodeRTL { + text-align: right; + direction: rtl; +} + +.DocNodeLTR { + text-align: left; + direction: ltr; +} + +table.DocNodeRTL { + width: auto; + margin-right: 0; + margin-left: auto; +} + +table.DocNodeLTR { + width: auto; + margin-right: auto; + margin-left: 0; +} + +code.JavaDocCode + direction:ltr; +} + +tt, code, kbd, samp +{ + display: inline-block; + direction:ltr; +} +/* @end */ + +u { + text-decoration: underline; +} + diff --git a/docs/cdt/doxygen.svg b/docs/cdt/doxygen.svg new file mode 100644 index 000000000..d42dad52d --- /dev/null +++ b/docs/cdt/doxygen.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/cdt/dynsections.js b/docs/cdt/dynsections.js new file mode 100644 index 000000000..3174bd7be --- /dev/null +++ b/docs/cdt/dynsections.js @@ -0,0 +1,121 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/eosio.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Файл eosio.hpp
+
+
+
#include "action.hpp"
+#include "../../core/eosio/print.hpp"
+#include "multi_index.hpp"
+#include "dispatcher.hpp"
+#include "contract.hpp"
+
+

См. исходные тексты.

+

Подробное описание

+
+ +

См. определение в файле eosio.hpp

+
+
+ + + + + + diff --git a/docs/cdt/eosio_8hpp_source.html b/docs/cdt/eosio_8hpp_source.html new file mode 100644 index 000000000..7ea531ffd --- /dev/null +++ b/docs/cdt/eosio_8hpp_source.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/eosio.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
eosio.hpp
+
+
+См. документацию.
1
+
5#pragma once
+
6#include "action.hpp"
+
7#include "../../core/eosio/print.hpp"
+
8#include "multi_index.hpp"
+
9#include "dispatcher.hpp"
+
10#include "contract.hpp"
+
11
+
12#ifndef EOSIO_NATIVE
+
13static_assert( sizeof(long) == sizeof(int), "unexpected size difference" );
+
14#endif
+
15
+
+
+ + + + + + diff --git a/docs/cdt/files.html b/docs/cdt/files.html new file mode 100644 index 000000000..d8dbb3980 --- /dev/null +++ b/docs/cdt/files.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: Обозреватель + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Обозреватель
+
+ +
+ + + + + + diff --git a/docs/cdt/files_dup.js b/docs/cdt/files_dup.js new file mode 100644 index 000000000..d5a5dfcf8 --- /dev/null +++ b/docs/cdt/files_dup.js @@ -0,0 +1,4 @@ +var files_dup = +[ + [ "libraries", "dir_bc0718b08fb2015b8e59c47b2805f60c.html", "dir_bc0718b08fb2015b8e59c47b2805f60c" ] +]; \ No newline at end of file diff --git a/docs/cdt/fixed__bytes_8hpp.html b/docs/cdt/fixed__bytes_8hpp.html new file mode 100644 index 000000000..8b0e7471e --- /dev/null +++ b/docs/cdt/fixed__bytes_8hpp.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/fixed_bytes.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Файл fixed_bytes.hpp
+
+
+
#include "datastream.hpp"
+#include <array>
+#include <algorithm>
+#include <functional>
+#include <type_traits>
+
+

См. исходные тексты.

+ + + + +

+Классы

class  eosio::fixed_bytes< Size >
 
+ + + +

+Пространства имен

namespace  eosio
 
+

Подробное описание

+
+ +

См. определение в файле fixed_bytes.hpp

+
+
+ + + + + + diff --git a/docs/cdt/fixed__bytes_8hpp_source.html b/docs/cdt/fixed__bytes_8hpp_source.html new file mode 100644 index 000000000..037d812c7 --- /dev/null +++ b/docs/cdt/fixed__bytes_8hpp_source.html @@ -0,0 +1,403 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/fixed_bytes.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
fixed_bytes.hpp
+
+
+См. документацию.
1
+
5#pragma once
+
6#include "datastream.hpp"
+
7
+
8#include <array>
+
9#include <algorithm>
+
10#include <functional>
+
11#include <type_traits>
+
12
+
13namespace eosio {
+
14
+
16
+
17 template<size_t Size>
+
18 class fixed_bytes;
+
19
+
20 template<size_t Size>
+
21 bool operator ==(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
22
+
23 template<size_t Size>
+
24 bool operator !=(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
25
+
26 template<size_t Size>
+
27 bool operator >(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
28
+
29 template<size_t Size>
+
30 bool operator <(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
31
+
32 template<size_t Size>
+
33 bool operator >=(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
34
+
35 template<size_t Size>
+
36 bool operator <=(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
37
+
39
+
53 template<size_t Size>
+ +
55 private:
+
56
+
57 template<bool...> struct bool_pack;
+
58 template<bool... bs>
+
59 using all_true = std::is_same< bool_pack<bs..., true>, bool_pack<true, bs...> >;
+
60
+
61 template<typename Word, size_t NumWords>
+
62 static void set_from_word_sequence(const Word* arr_begin, const Word* arr_end, fixed_bytes<Size>& key)
+
63 {
+
64 auto itr = key._data.begin();
+
65 word_t temp_word = 0;
+
66 const size_t sub_word_shift = 8 * sizeof(Word);
+
67 const size_t num_sub_words = sizeof(word_t) / sizeof(Word);
+
68 auto sub_words_left = num_sub_words;
+
69 for( auto w_itr = arr_begin; w_itr != arr_end; ++w_itr ) {
+
70 if( sub_words_left > 1 ) {
+
71 temp_word |= static_cast<word_t>(*w_itr);
+
72 temp_word <<= sub_word_shift;
+
73 --sub_words_left;
+
74 continue;
+
75 }
+
76
+
77 eosio::check( sub_words_left == 1, "unexpected error in fixed_bytes constructor" );
+
78 temp_word |= static_cast<word_t>(*w_itr);
+
79 sub_words_left = num_sub_words;
+
80
+
81 *itr = temp_word;
+
82 temp_word = 0;
+
83 ++itr;
+
84 }
+
85 if( sub_words_left != num_sub_words ) {
+
86 if( sub_words_left > 1 )
+
87 temp_word <<= 8 * (sub_words_left-1);
+
88 *itr = temp_word;
+
89 }
+
90 }
+
91
+
92 public:
+
93
+
94 typedef uint128_t word_t;
+
95
+
100 static constexpr size_t num_words() { return (Size + sizeof(word_t) - 1) / sizeof(word_t); }
+
101
+
105 static constexpr size_t padded_bytes() { return num_words() * sizeof(word_t) - Size; }
+
106
+
110 constexpr fixed_bytes() : _data() {}
+
111
+
117 fixed_bytes(const std::array<word_t, num_words()>& arr)
+
118 {
+
119 std::copy(arr.begin(), arr.end(), _data.begin());
+
120 }
+
121
+
127 template<typename Word, size_t NumWords,
+
128 typename Enable = typename std::enable_if<std::is_integral<Word>::value &&
+
129 std::is_unsigned<Word>::value &&
+
130 !std::is_same<Word, bool>::value &&
+
131 std::less<size_t>{}(sizeof(Word), sizeof(word_t))>::type >
+
132 fixed_bytes(const std::array<Word, NumWords>& arr)
+
133 {
+
134 static_assert( sizeof(word_t) == (sizeof(word_t)/sizeof(Word)) * sizeof(Word),
+
135 "size of the backing word size is not divisible by the size of the array element" );
+
136 static_assert( sizeof(Word) * NumWords <= Size, "too many words supplied to fixed_bytes constructor" );
+
137
+
138 set_from_word_sequence<Word, NumWords>(arr.data(), arr.data() + arr.size(), *this);
+
139 }
+
140
+
146 template<typename Word, size_t NumWords,
+
147 typename Enable = typename std::enable_if<std::is_integral<Word>::value &&
+
148 std::is_unsigned<Word>::value &&
+
149 !std::is_same<Word, bool>::value &&
+
150 std::less<size_t>{}(sizeof(Word), sizeof(word_t))>::type >
+
151 fixed_bytes(const Word(&arr)[NumWords])
+
152 {
+
153 static_assert( sizeof(word_t) == (sizeof(word_t)/sizeof(Word)) * sizeof(Word),
+
154 "size of the backing word size is not divisible by the size of the array element" );
+
155 static_assert( sizeof(Word) * NumWords <= Size, "too many words supplied to fixed_bytes constructor" );
+
156
+
157 set_from_word_sequence<Word, NumWords>(arr, arr + NumWords, *this);
+
158 }
+
159
+
168 template<typename FirstWord, typename... Rest>
+
169 static
+ +
171 make_from_word_sequence(typename std::enable_if<std::is_integral<FirstWord>::value &&
+
172 std::is_unsigned<FirstWord>::value &&
+
173 !std::is_same<FirstWord, bool>::value &&
+
174 sizeof(FirstWord) <= sizeof(word_t) &&
+
175 all_true<(std::is_same<FirstWord, Rest>::value)...>::value,
+
176 FirstWord>::type first_word,
+
177 Rest... rest)
+
178 {
+
179 static_assert( sizeof(word_t) == (sizeof(word_t)/sizeof(FirstWord)) * sizeof(FirstWord),
+
180 "size of the backing word size is not divisible by the size of the words supplied as arguments" );
+
181 static_assert( sizeof(FirstWord) * (1 + sizeof...(Rest)) <= Size, "too many words supplied to make_from_word_sequence" );
+
182
+ +
184 std::array<FirstWord, 1+sizeof...(Rest)> arr{{ first_word, rest... }};
+
185 set_from_word_sequence<FirstWord, 1+sizeof...(Rest)>(arr.data(), arr.data() + arr.size(), key);
+
186 return key;
+
187 }
+
188
+
192 const auto& get_array()const { return _data; }
+
193
+
197 auto data() { return _data.data(); }
+
198
+
200
+
204 auto data()const { return _data.data(); }
+
205
+
207
+
211 auto size()const { return _data.size(); }
+
212
+
213
+
219 std::array<uint8_t, Size> extract_as_byte_array()const {
+
220 std::array<uint8_t, Size> arr;
+
221
+
222 const size_t num_sub_words = sizeof(word_t);
+
223
+
224 auto arr_itr = arr.begin();
+
225 auto data_itr = _data.begin();
+
226
+
227 for( size_t counter = _data.size(); counter > 0; --counter, ++data_itr ) {
+
228 size_t sub_words_left = num_sub_words;
+
229
+
230 auto temp_word = *data_itr;
+
231 if( counter == 1 ) { // If last word in _data array...
+
232 sub_words_left -= padded_bytes();
+
233 temp_word >>= 8*padded_bytes();
+
234 }
+
235 for( ; sub_words_left > 0; --sub_words_left ) {
+
236 *(arr_itr + sub_words_left - 1) = static_cast<uint8_t>(temp_word & 0xFF);
+
237 temp_word >>= 8;
+
238 }
+
239 arr_itr += num_sub_words;
+
240 }
+
241
+
242 return arr;
+
243 }
+
244
+
249 inline void print()const {
+
250 auto arr = extract_as_byte_array();
+
251 printhex(static_cast<const void*>(arr.data()), arr.size());
+
252 }
+
253
+
255
+
256 friend bool operator == <>(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
257
+
258 friend bool operator != <>(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
259
+
260 friend bool operator > <>(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
261
+
262 friend bool operator < <>(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
263
+
264 friend bool operator >= <>(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
265
+
266 friend bool operator <= <>(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2);
+
267
+
269
+
270 private:
+
271
+
272 std::array<word_t, num_words()> _data;
+
273 };
+
274
+
276
+
284 template<size_t Size>
+
285 bool operator ==(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2) {
+
286 return c1._data == c2._data;
+
287 }
+
288
+
296 template<size_t Size>
+
297 bool operator !=(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2) {
+
298 return c1._data != c2._data;
+
299 }
+
300
+
308 template<size_t Size>
+
309 bool operator >(const fixed_bytes<Size>& c1, const fixed_bytes<Size>& c2) {
+
310 return c1._data > c2._data;
+
311 }
+
312
+
320 template<size_t Size>
+
321 bool operator <(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2) {
+
322 return c1._data < c2._data;
+
323 }
+
324
+
332 template<size_t Size>
+
333 bool operator >=(const fixed_bytes<Size>& c1, const fixed_bytes<Size>& c2) {
+
334 return c1._data >= c2._data;
+
335 }
+
336
+
344 template<size_t Size>
+
345 bool operator <=(const fixed_bytes<Size> &c1, const fixed_bytes<Size> &c2) {
+
346 return c1._data <= c2._data;
+
347 }
+
348
+
349
+
350 using checksum160 = fixed_bytes<20>;
+
351 using checksum256 = fixed_bytes<32>;
+
352 using checksum512 = fixed_bytes<64>;
+
353
+
363 template<typename DataStream, size_t Size>
+
364 inline DataStream& operator<<(DataStream& ds, const fixed_bytes<Size>& d) {
+
365 auto arr = d.extract_as_byte_array();
+
366 ds.write( (const char*)arr.data(), arr.size() );
+
367 return ds;
+
368 }
+
369
+
379 template<typename DataStream, size_t Size>
+
380 inline DataStream& operator>>(DataStream& ds, fixed_bytes<Size>& d) {
+
381 std::array<uint8_t, Size> arr;
+
382 ds.read( (char*)arr.data(), arr.size() );
+
383 d = fixed_bytes<Size>( arr );
+
384 return ds;
+
385 }
+
386
+
388}
+
+
+ + + + + + diff --git a/docs/cdt/folderclosed.png b/docs/cdt/folderclosed.png new file mode 100644 index 000000000..bb8ab35ed Binary files /dev/null and b/docs/cdt/folderclosed.png differ diff --git a/docs/cdt/folderopen.png b/docs/cdt/folderopen.png new file mode 100644 index 000000000..d6c7f676a Binary files /dev/null and b/docs/cdt/folderopen.png differ diff --git a/docs/cdt/functions.html b/docs/cdt/functions.html new file mode 100644 index 000000000..c901f2341 --- /dev/null +++ b/docs/cdt/functions.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- _ -

+
+
+ + + + + + diff --git a/docs/cdt/functions_a.html b/docs/cdt/functions_a.html new file mode 100644 index 000000000..eb2cc6c96 --- /dev/null +++ b/docs/cdt/functions_a.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- a -

+
+
+ + + + + + diff --git a/docs/cdt/functions_b.html b/docs/cdt/functions_b.html new file mode 100644 index 000000000..e2936b637 --- /dev/null +++ b/docs/cdt/functions_b.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- b -

+
+
+ + + + + + diff --git a/docs/cdt/functions_c.html b/docs/cdt/functions_c.html new file mode 100644 index 000000000..309477b71 --- /dev/null +++ b/docs/cdt/functions_c.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- c -

+
+
+ + + + + + diff --git a/docs/cdt/functions_d.html b/docs/cdt/functions_d.html new file mode 100644 index 000000000..100679cb6 --- /dev/null +++ b/docs/cdt/functions_d.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- d -

+
+
+ + + + + + diff --git a/docs/cdt/functions_dup.js b/docs/cdt/functions_dup.js new file mode 100644 index 000000000..3be59b320 --- /dev/null +++ b/docs/cdt/functions_dup.js @@ -0,0 +1,27 @@ +var functions_dup = +[ + [ "_", "functions.html", null ], + [ "a", "functions_a.html", null ], + [ "b", "functions_b.html", null ], + [ "c", "functions_c.html", null ], + [ "d", "functions_d.html", null ], + [ "e", "functions_e.html", null ], + [ "f", "functions_f.html", null ], + [ "g", "functions_g.html", null ], + [ "i", "functions_i.html", null ], + [ "k", "functions_k.html", null ], + [ "l", "functions_l.html", null ], + [ "m", "functions_m.html", null ], + [ "n", "functions_n.html", null ], + [ "o", "functions_o.html", null ], + [ "p", "functions_p.html", null ], + [ "q", "functions_q.html", null ], + [ "r", "functions_r.html", null ], + [ "s", "functions_s.html", null ], + [ "t", "functions_t.html", null ], + [ "u", "functions_u.html", null ], + [ "v", "functions_v.html", null ], + [ "w", "functions_w.html", null ], + [ "x", "functions_x.html", null ], + [ "y", "functions_y.html", null ] +]; \ No newline at end of file diff --git a/docs/cdt/functions_e.html b/docs/cdt/functions_e.html new file mode 100644 index 000000000..0bd7ef038 --- /dev/null +++ b/docs/cdt/functions_e.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- e -

+
+
+ + + + + + diff --git a/docs/cdt/functions_enum.html b/docs/cdt/functions_enum.html new file mode 100644 index 000000000..ee84d9b6f --- /dev/null +++ b/docs/cdt/functions_enum.html @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Перечисления + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + diff --git a/docs/cdt/functions_eval.html b/docs/cdt/functions_eval.html new file mode 100644 index 000000000..580774096 --- /dev/null +++ b/docs/cdt/functions_eval.html @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Элементы перечислений + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + diff --git a/docs/cdt/functions_f.html b/docs/cdt/functions_f.html new file mode 100644 index 000000000..105feb764 --- /dev/null +++ b/docs/cdt/functions_f.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- f -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func.html b/docs/cdt/functions_func.html new file mode 100644 index 000000000..3d8b61852 --- /dev/null +++ b/docs/cdt/functions_func.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func.js b/docs/cdt/functions_func.js new file mode 100644 index 000000000..f81ab2392 --- /dev/null +++ b/docs/cdt/functions_func.js @@ -0,0 +1,22 @@ +var functions_func = +[ + [ "a", "functions_func.html", null ], + [ "b", "functions_func_b.html", null ], + [ "c", "functions_func_c.html", null ], + [ "d", "functions_func_d.html", null ], + [ "e", "functions_func_e.html", null ], + [ "f", "functions_func_f.html", null ], + [ "g", "functions_func_g.html", null ], + [ "i", "functions_func_i.html", null ], + [ "l", "functions_func_l.html", null ], + [ "m", "functions_func_m.html", null ], + [ "n", "functions_func_n.html", null ], + [ "o", "functions_func_o.html", null ], + [ "p", "functions_func_p.html", null ], + [ "r", "functions_func_r.html", null ], + [ "s", "functions_func_s.html", null ], + [ "t", "functions_func_t.html", null ], + [ "u", "functions_func_u.html", null ], + [ "v", "functions_func_v.html", null ], + [ "w", "functions_func_w.html", null ] +]; \ No newline at end of file diff --git a/docs/cdt/functions_func_b.html b/docs/cdt/functions_func_b.html new file mode 100644 index 000000000..c888f13bf --- /dev/null +++ b/docs/cdt/functions_func_b.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func_c.html b/docs/cdt/functions_func_c.html new file mode 100644 index 000000000..7ae2c47a7 --- /dev/null +++ b/docs/cdt/functions_func_c.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/functions_func_d.html b/docs/cdt/functions_func_d.html new file mode 100644 index 000000000..38a5d4cc6 --- /dev/null +++ b/docs/cdt/functions_func_d.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func_e.html b/docs/cdt/functions_func_e.html new file mode 100644 index 000000000..4b702e73f --- /dev/null +++ b/docs/cdt/functions_func_e.html @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func_f.html b/docs/cdt/functions_func_f.html new file mode 100644 index 000000000..062d78766 --- /dev/null +++ b/docs/cdt/functions_func_f.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func_g.html b/docs/cdt/functions_func_g.html new file mode 100644 index 000000000..a338566e1 --- /dev/null +++ b/docs/cdt/functions_func_g.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/functions_func_i.html b/docs/cdt/functions_func_i.html new file mode 100644 index 000000000..7c497e100 --- /dev/null +++ b/docs/cdt/functions_func_i.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- i -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func_l.html b/docs/cdt/functions_func_l.html new file mode 100644 index 000000000..a763a3ccd --- /dev/null +++ b/docs/cdt/functions_func_l.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + diff --git a/docs/cdt/functions_func_m.html b/docs/cdt/functions_func_m.html new file mode 100644 index 000000000..6bede91a9 --- /dev/null +++ b/docs/cdt/functions_func_m.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func_n.html b/docs/cdt/functions_func_n.html new file mode 100644 index 000000000..d849561b4 --- /dev/null +++ b/docs/cdt/functions_func_n.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func_o.html b/docs/cdt/functions_func_o.html new file mode 100644 index 000000000..6011ee477 --- /dev/null +++ b/docs/cdt/functions_func_o.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/functions_func_p.html b/docs/cdt/functions_func_p.html new file mode 100644 index 000000000..275fc2862 --- /dev/null +++ b/docs/cdt/functions_func_p.html @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/functions_func_r.html b/docs/cdt/functions_func_r.html new file mode 100644 index 000000000..4b30d5969 --- /dev/null +++ b/docs/cdt/functions_func_r.html @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/functions_func_s.html b/docs/cdt/functions_func_s.html new file mode 100644 index 000000000..e63ef3901 --- /dev/null +++ b/docs/cdt/functions_func_s.html @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/functions_func_t.html b/docs/cdt/functions_func_t.html new file mode 100644 index 000000000..a6eade699 --- /dev/null +++ b/docs/cdt/functions_func_t.html @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/functions_func_u.html b/docs/cdt/functions_func_u.html new file mode 100644 index 000000000..8a7996b62 --- /dev/null +++ b/docs/cdt/functions_func_u.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func_v.html b/docs/cdt/functions_func_v.html new file mode 100644 index 000000000..e9195cf9a --- /dev/null +++ b/docs/cdt/functions_func_v.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- v -

+
+
+ + + + + + diff --git a/docs/cdt/functions_func_w.html b/docs/cdt/functions_func_w.html new file mode 100644 index 000000000..a047977a5 --- /dev/null +++ b/docs/cdt/functions_func_w.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+
+ + + + + + diff --git a/docs/cdt/functions_g.html b/docs/cdt/functions_g.html new file mode 100644 index 000000000..704771a02 --- /dev/null +++ b/docs/cdt/functions_g.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- g -

+
+
+ + + + + + diff --git a/docs/cdt/functions_i.html b/docs/cdt/functions_i.html new file mode 100644 index 000000000..8f1d5dea4 --- /dev/null +++ b/docs/cdt/functions_i.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- i -

+
+
+ + + + + + diff --git a/docs/cdt/functions_k.html b/docs/cdt/functions_k.html new file mode 100644 index 000000000..1e8bd2e7d --- /dev/null +++ b/docs/cdt/functions_k.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- k -

+
+
+ + + + + + diff --git a/docs/cdt/functions_l.html b/docs/cdt/functions_l.html new file mode 100644 index 000000000..296910970 --- /dev/null +++ b/docs/cdt/functions_l.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- l -

+
+
+ + + + + + diff --git a/docs/cdt/functions_m.html b/docs/cdt/functions_m.html new file mode 100644 index 000000000..beaac042e --- /dev/null +++ b/docs/cdt/functions_m.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- m -

+
+
+ + + + + + diff --git a/docs/cdt/functions_n.html b/docs/cdt/functions_n.html new file mode 100644 index 000000000..93acbe790 --- /dev/null +++ b/docs/cdt/functions_n.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- n -

+
+
+ + + + + + diff --git a/docs/cdt/functions_o.html b/docs/cdt/functions_o.html new file mode 100644 index 000000000..2d3796eee --- /dev/null +++ b/docs/cdt/functions_o.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- o -

+
+
+ + + + + + diff --git a/docs/cdt/functions_p.html b/docs/cdt/functions_p.html new file mode 100644 index 000000000..038011d61 --- /dev/null +++ b/docs/cdt/functions_p.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- p -

+
+
+ + + + + + diff --git a/docs/cdt/functions_q.html b/docs/cdt/functions_q.html new file mode 100644 index 000000000..521334a5c --- /dev/null +++ b/docs/cdt/functions_q.html @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- q -

+
+
+ + + + + + diff --git a/docs/cdt/functions_r.html b/docs/cdt/functions_r.html new file mode 100644 index 000000000..7b9b072fd --- /dev/null +++ b/docs/cdt/functions_r.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- r -

+
+
+ + + + + + diff --git a/docs/cdt/functions_rela.html b/docs/cdt/functions_rela.html new file mode 100644 index 000000000..720076861 --- /dev/null +++ b/docs/cdt/functions_rela.html @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Относящиеся к классу функции + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/functions_s.html b/docs/cdt/functions_s.html new file mode 100644 index 000000000..059d61519 --- /dev/null +++ b/docs/cdt/functions_s.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- s -

+
+
+ + + + + + diff --git a/docs/cdt/functions_t.html b/docs/cdt/functions_t.html new file mode 100644 index 000000000..142497e56 --- /dev/null +++ b/docs/cdt/functions_t.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- t -

+
+
+ + + + + + diff --git a/docs/cdt/functions_type.html b/docs/cdt/functions_type.html new file mode 100644 index 000000000..0dac65af9 --- /dev/null +++ b/docs/cdt/functions_type.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Определения типов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ + + + + + diff --git a/docs/cdt/functions_u.html b/docs/cdt/functions_u.html new file mode 100644 index 000000000..91e6c0eaa --- /dev/null +++ b/docs/cdt/functions_u.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- u -

+
+
+ + + + + + diff --git a/docs/cdt/functions_v.html b/docs/cdt/functions_v.html new file mode 100644 index 000000000..aae4850f4 --- /dev/null +++ b/docs/cdt/functions_v.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + + + diff --git a/docs/cdt/functions_vars.html b/docs/cdt/functions_vars.html new file mode 100644 index 000000000..ff3ed811b --- /dev/null +++ b/docs/cdt/functions_vars.html @@ -0,0 +1,296 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов - Переменные + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- _ -

+ + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- e -

+ + +

- k -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- p -

+ + +

- q -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- v -

+ + +

- w -

+ + +

- x -

+ + +

- y -

+
+
+ + + + + + diff --git a/docs/cdt/functions_w.html b/docs/cdt/functions_w.html new file mode 100644 index 000000000..83951f90c --- /dev/null +++ b/docs/cdt/functions_w.html @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- w -

+
+
+ + + + + + diff --git a/docs/cdt/functions_x.html b/docs/cdt/functions_x.html new file mode 100644 index 000000000..63a58467a --- /dev/null +++ b/docs/cdt/functions_x.html @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- x -

+
+
+ + + + + + diff --git a/docs/cdt/functions_y.html b/docs/cdt/functions_y.html new file mode 100644 index 000000000..1d3e171c0 --- /dev/null +++ b/docs/cdt/functions_y.html @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список всех членов классов со ссылками на классы, к которым они принадлежат.
+ +

- y -

+
+
+ + + + + + diff --git a/docs/cdt/globals.html b/docs/cdt/globals.html new file mode 100644 index 000000000..7022a4ea5 --- /dev/null +++ b/docs/cdt/globals.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: Список членов всех файлов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Список членов
+
+
+ + + + + + diff --git a/docs/cdt/globals_defs.html b/docs/cdt/globals_defs.html new file mode 100644 index 000000000..d16e7da16 --- /dev/null +++ b/docs/cdt/globals_defs.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + +CDT: Список членов всех файлов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + + diff --git a/docs/cdt/globals_func.html b/docs/cdt/globals_func.html new file mode 100644 index 000000000..35baee8e1 --- /dev/null +++ b/docs/cdt/globals_func.html @@ -0,0 +1,152 @@ + + + + + + + + + + + + + + + + + + +CDT: Список членов всех файлов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + + + diff --git a/docs/cdt/group__action.html b/docs/cdt/group__action.html new file mode 100644 index 000000000..1f0817e12 --- /dev/null +++ b/docs/cdt/group__action.html @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + +CDT: Действие + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Типобезопасные C++-обёртки для чтения данных действия и отправки действия +Подробнее...

+ + + + + + +

+Классы

struct  eosio::permission_level
 
struct  eosio::action
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Функции

template<typename T >
eosio::unpack_action_data ()
 
void eosio::require_recipient (name notify_account)
 Добавляет указанный аккаунт в множество аккаунтов для уведомления Подробнее...
 
template<typename... accounts>
void eosio::require_recipient (name notify_account, accounts... remaining_accounts)
 
void eosio::require_auth (name n)
 
time_point eosio::publication_time ()
 
uint32_t eosio::read_action_data (void *msg, uint32_t len)
 
void eosio::require_auth (const permission_level &level)
 
bool eosio::has_auth (name n)
 
bool eosio::is_account (name n)
 
+

Подробное описание

+

Типобезопасные C++-обёртки для чтения данных действия и отправки действия

+
Заметки
Некоторые методы из Действие можно вызывать напрямую из C++
+
+
+ + + + + + diff --git a/docs/cdt/group__action.js b/docs/cdt/group__action.js new file mode 100644 index 000000000..0664f820b --- /dev/null +++ b/docs/cdt/group__action.js @@ -0,0 +1,32 @@ +var group__action = +[ + [ "eosio::permission_level", "structeosio_1_1permission__level.html", [ + [ "permission_level", "structeosio_1_1permission__level_a5b23258308433be05a03ab4e2fce9b36.html#a5b23258308433be05a03ab4e2fce9b36", null ], + [ "permission_level", "structeosio_1_1permission__level_a80e38737c6e727a27e9ff7a195f74d5d.html#a80e38737c6e727a27e9ff7a195f74d5d", null ], + [ "operator<", "structeosio_1_1permission__level_a0e60ff070bbee22ee47e719e8b7757a1.html#a0e60ff070bbee22ee47e719e8b7757a1", null ], + [ "operator==", "structeosio_1_1permission__level_a40e360b0bfdb5aa413812d5cb171ff51.html#a40e360b0bfdb5aa413812d5cb171ff51", null ], + [ "actor", "structeosio_1_1permission__level_ab5d07611f5ba5e7b5dff9e749c5696e0.html#ab5d07611f5ba5e7b5dff9e749c5696e0", null ], + [ "permission", "structeosio_1_1permission__level_af30baa92f0b3d6b611967c0dfb7555a7.html#af30baa92f0b3d6b611967c0dfb7555a7", null ] + ] ], + [ "eosio::action", "structeosio_1_1action.html", [ + [ "action", "structeosio_1_1action_aebc29a38547efa71db8ec20cc56d69a4.html#aebc29a38547efa71db8ec20cc56d69a4", null ], + [ "action", "structeosio_1_1action_a9ef6c7fc0a06f53c754a1cc8af513d00.html#a9ef6c7fc0a06f53c754a1cc8af513d00", null ], + [ "action", "structeosio_1_1action_aa6b336f4f7a8c61d68e14d99a0a9cd9d.html#aa6b336f4f7a8c61d68e14d99a0a9cd9d", null ], + [ "data_as", "structeosio_1_1action_ab10f4621dd9e24a33642d8fb240b1a01.html#ab10f4621dd9e24a33642d8fb240b1a01", null ], + [ "send", "structeosio_1_1action_a447f36a63208c2d138b7109b3e13e55f.html#a447f36a63208c2d138b7109b3e13e55f", null ], + [ "send_context_free", "structeosio_1_1action_a984a41daf2d1c4d6506cac0c98ac7a2a.html#a984a41daf2d1c4d6506cac0c98ac7a2a", null ], + [ "account", "structeosio_1_1action_a4fc65ee0b7c184e7fcb8cdf6242220af.html#a4fc65ee0b7c184e7fcb8cdf6242220af", null ], + [ "authorization", "structeosio_1_1action_a65851242b65f483e6b84d602d599f4e5.html#a65851242b65f483e6b84d602d599f4e5", null ], + [ "data", "structeosio_1_1action_a51845c4ffbe1c97fc8d05115d05a3ab1.html#a51845c4ffbe1c97fc8d05115d05a3ab1", null ], + [ "name", "structeosio_1_1action_a407ffb98514612d2e9683dd7d88af91a.html#a407ffb98514612d2e9683dd7d88af91a", null ] + ] ], + [ "eosio::has_auth", "group__action_ga9e4650a61bbe0809cc62e6b2af8252d3.html#ga9e4650a61bbe0809cc62e6b2af8252d3", null ], + [ "eosio::is_account", "group__action_ga887cd0fed2350c5ae52565ba6e290db3.html#ga887cd0fed2350c5ae52565ba6e290db3", null ], + [ "eosio::publication_time", "group__action_ga0005da20de567962c4357c18ba29bdf7.html#ga0005da20de567962c4357c18ba29bdf7", null ], + [ "eosio::read_action_data", "group__action_ga02dcd9ca25bcdd8279efe0d45e50c9eb.html#ga02dcd9ca25bcdd8279efe0d45e50c9eb", null ], + [ "eosio::require_auth", "group__action_gaa9c6bd255a286073e7dc8a337f2b11a2.html#gaa9c6bd255a286073e7dc8a337f2b11a2", null ], + [ "eosio::require_auth", "group__action_ga47b4afe79f1de07376e2ecdd541f92c7.html#ga47b4afe79f1de07376e2ecdd541f92c7", null ], + [ "eosio::require_recipient", "group__action_ga4e1838d05857e38ddf8916e616698460.html#ga4e1838d05857e38ddf8916e616698460", null ], + [ "eosio::require_recipient", "group__action_gaa61e47227ac315887caf1e028191ff7d.html#gaa61e47227ac315887caf1e028191ff7d", null ], + [ "eosio::unpack_action_data", "group__action_ga3ce0a297276d44f03c9b5dc17fcd2b31.html#ga3ce0a297276d44f03c9b5dc17fcd2b31", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__action_ga0005da20de567962c4357c18ba29bdf7.html b/docs/cdt/group__action_ga0005da20de567962c4357c18ba29bdf7.html new file mode 100644 index 000000000..cec446d40 --- /dev/null +++ b/docs/cdt/group__action_ga0005da20de567962c4357c18ba29bdf7.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::publication_time + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ publication_time()

+ +
+
+ + + + + +
+ + + + + + + +
time_point eosio::publication_time ()
+
+inline
+
+

Возвращает время в микросекундах с 1970 года для publication_time

+
Возвращает
время в микросекундах с 1970 года для publication_time
+ +

См. определение в файле action.hpp строка 152

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__action_ga02dcd9ca25bcdd8279efe0d45e50c9eb.html b/docs/cdt/group__action_ga02dcd9ca25bcdd8279efe0d45e50c9eb.html new file mode 100644 index 000000000..9cea88f93 --- /dev/null +++ b/docs/cdt/group__action_ga02dcd9ca25bcdd8279efe0d45e50c9eb.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::read_action_data + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ read_action_data()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
uint32_t eosio::read_action_data (void * msg,
uint32_t len 
)
+
+inline
+
+

Копирует до len байт данных текущего действия в указанное место

+
Аргументы
+ + + +
msg— указатель, куда будут скопированы до len байт данных текущего действия
len— число байт данных текущего действия для копирования; 0 — вернуть требуемый размер
+
+
+
Возвращает
число скопированных в msg байт либо число байт, которые можно скопировать, если передан len==0
+
Предусловие
msg — корректный указатель на область памяти длиной не менее len байт
+
Постусловие
msg заполнен упакованными данными действия
+ +

См. определение в файле action.hpp строка 218

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__action_ga3ce0a297276d44f03c9b5dc17fcd2b31.html b/docs/cdt/group__action_ga3ce0a297276d44f03c9b5dc17fcd2b31.html new file mode 100644 index 000000000..169d2b811 --- /dev/null +++ b/docs/cdt/group__action_ga3ce0a297276d44f03c9b5dc17fcd2b31.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::unpack_action_data + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ unpack_action_data()

+ +
+
+
+template<typename T >
+ + + + + + + +
T eosio::unpack_action_data ()
+
+
Возвращает
Распакованные данные действия, приведённые к типу T.
+

Пример:

+
struct dummy_action {
+
char a; //1
+
unsigned long long b; //8
+
int c; //4
+
+
EOSLIB_SERIALIZE( dummy_action, (a)(b)(c) )
+
};
+
dummy_action msg = unpack_action_data<dummy_action>();
+
+

См. определение в файле action.hpp строка 94

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__action_ga47b4afe79f1de07376e2ecdd541f92c7.html b/docs/cdt/group__action_ga47b4afe79f1de07376e2ecdd541f92c7.html new file mode 100644 index 000000000..e4a5a8c6e --- /dev/null +++ b/docs/cdt/group__action_ga47b4afe79f1de07376e2ecdd541f92c7.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::require_auth + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ require_auth() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::require_auth (name n)
+
+inline
+
+

Проверяет, что Имя входит в множество предоставленных полномочий (auths) для действия. Завершается с ошибкой, если не найдено.

+
Аргументы
+ + +
name— имя проверяемого аккаунта
+
+
+ +

См. определение в файле action.hpp строка 142

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__action_ga4e1838d05857e38ddf8916e616698460.html b/docs/cdt/group__action_ga4e1838d05857e38ddf8916e616698460.html new file mode 100644 index 000000000..929a5bbd3 --- /dev/null +++ b/docs/cdt/group__action_ga4e1838d05857e38ddf8916e616698460.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::require_recipient + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ require_recipient() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::require_recipient (name notify_account)
+
+inline
+
+ +

Добавляет указанный аккаунт в множество аккаунтов для уведомления

+

Добавляет указанный аккаунт в множество аккаунтов для уведомления

+
Аргументы
+ + +
notify_account— имя аккаунта для проверки
+
+
+ +

См. определение в файле action.hpp строка 109

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__action_ga887cd0fed2350c5ae52565ba6e290db3.html b/docs/cdt/group__action_ga887cd0fed2350c5ae52565ba6e290db3.html new file mode 100644 index 000000000..de3358051 --- /dev/null +++ b/docs/cdt/group__action_ga887cd0fed2350c5ae52565ba6e290db3.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::is_account + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ is_account()

+ +
+
+ + + + + +
+ + + + + + + + +
bool eosio::is_account (name n)
+
+inline
+
+

Проверяет, что n — существующий аккаунт.

+
Аргументы
+ + +
n— имя проверяемого аккаунта
+
+
+ +

См. определение в файле action.hpp строка 312

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__action_ga9e4650a61bbe0809cc62e6b2af8252d3.html b/docs/cdt/group__action_ga9e4650a61bbe0809cc62e6b2af8252d3.html new file mode 100644 index 000000000..ef4927fa1 --- /dev/null +++ b/docs/cdt/group__action_ga9e4650a61bbe0809cc62e6b2af8252d3.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::has_auth + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ has_auth()

+ +
+
+ + + + + +
+ + + + + + + + +
bool eosio::has_auth (name n)
+
+inline
+
+

Проверяет, что у n есть авторизация в текущем действии.

+
Аргументы
+ + +
n— имя проверяемого аккаунта
+
+
+ +

См. определение в файле action.hpp строка 302

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__action_gaa61e47227ac315887caf1e028191ff7d.html b/docs/cdt/group__action_gaa61e47227ac315887caf1e028191ff7d.html new file mode 100644 index 000000000..9fafbd0db --- /dev/null +++ b/docs/cdt/group__action_gaa61e47227ac315887caf1e028191ff7d.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::require_recipient + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ require_recipient() [2/2]

+ +
+
+
+template<typename... accounts>
+ + + + + + + + + + + + + + + + + + +
void eosio::require_recipient (name notify_account,
accounts... remaining_accounts 
)
+
+

Все перечисленные аккаунты будут добавлены в множество аккаунтов для уведомления

+

Вспомогательный метод позволяет добавить несколько аккаунтов в список уведомляемых одним вызовом вместо многократного вызова аналогичного C API.

+
Аргументы
+ + + +
notify_accountаккаунт для уведомления
remaining_accountsаккаунты для уведомления
+
+
+
Заметки
action.code также считается частью множества уведомляемых аккаунтов
+

Пример:

+
require_recipient("Account1"_n, "Account2"_n, "Account3"_n); // throws exception if any of them not in set.
+
+

См. определение в файле action.hpp строка 131

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__action_gaa9c6bd255a286073e7dc8a337f2b11a2.html b/docs/cdt/group__action_gaa9c6bd255a286073e7dc8a337f2b11a2.html new file mode 100644 index 000000000..b7b569291 --- /dev/null +++ b/docs/cdt/group__action_gaa9c6bd255a286073e7dc8a337f2b11a2.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::require_auth + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ require_auth() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::require_auth (const permission_levellevel)
+
+inline
+
+

Требует указанную авторизацию для этого действия. Если действие не содержит указанной авторизации, выполнение завершится с ошибкой.

+
Аргументы
+ + +
level— требуемая авторизация
+
+
+ +

См. определение в файле action.hpp строка 292

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__asset.html b/docs/cdt/group__asset.html new file mode 100644 index 000000000..57a21a4f2 --- /dev/null +++ b/docs/cdt/group__asset.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: Актив + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Актив
+
+
+ +

Определяет C++ API для работы с активами +Подробнее...

+ + + + + + +

+Классы

struct  eosio::asset
 
struct  eosio::extended_asset
 
+

Подробное описание

+

Определяет C++ API для работы с активами

+
+
+ + + + + + diff --git a/docs/cdt/group__asset.js b/docs/cdt/group__asset.js new file mode 100644 index 000000000..163a9baba --- /dev/null +++ b/docs/cdt/group__asset.js @@ -0,0 +1,24 @@ +var group__asset = +[ + [ "eosio::asset", "structeosio_1_1asset.html", [ + [ "asset", "structeosio_1_1asset_abdde8d4b53c1b8f1027ab6cb2b13b845.html#abdde8d4b53c1b8f1027ab6cb2b13b845", null ], + [ "asset", "structeosio_1_1asset_abb4cf1f370bb101c7d61910ff45d6b55.html#abb4cf1f370bb101c7d61910ff45d6b55", null ], + [ "is_amount_within_range", "structeosio_1_1asset_a815b58378c8849fbb2a68f288edf5f31.html#a815b58378c8849fbb2a68f288edf5f31", null ], + [ "is_valid", "structeosio_1_1asset_aa2e8739bf534ea99199d121143ca7a0a.html#aa2e8739bf534ea99199d121143ca7a0a", null ], + [ "print", "structeosio_1_1asset_a111a52097d1761898d5641536c308416.html#a111a52097d1761898d5641536c308416", null ], + [ "set_amount", "structeosio_1_1asset_a0b6c8ba10eedc0129364fc910e840d7f.html#a0b6c8ba10eedc0129364fc910e840d7f", null ], + [ "to_string", "structeosio_1_1asset_a1c0dbeb4348006fa622e2b5d06431554.html#a1c0dbeb4348006fa622e2b5d06431554", null ], + [ "write_as_string", "structeosio_1_1asset_a5e90d7716bca208014477a1e9c9af7dc.html#a5e90d7716bca208014477a1e9c9af7dc", null ], + [ "amount", "structeosio_1_1asset_ac76c16a58851550706c6709698ed7255.html#ac76c16a58851550706c6709698ed7255", null ], + [ "symbol", "structeosio_1_1asset_a374520d98a22f5a89a26025154944756.html#a374520d98a22f5a89a26025154944756", null ] + ] ], + [ "eosio::extended_asset", "structeosio_1_1extended__asset.html", [ + [ "extended_asset", "structeosio_1_1extended__asset_a7747448ddea804e84fe72decd40ee3a2.html#a7747448ddea804e84fe72decd40ee3a2", null ], + [ "extended_asset", "structeosio_1_1extended__asset_a831a169f25c972af14a01e0305ab8d74.html#a831a169f25c972af14a01e0305ab8d74", null ], + [ "extended_asset", "structeosio_1_1extended__asset_a29f3c5f054f754ab4fac481cce633682.html#a29f3c5f054f754ab4fac481cce633682", null ], + [ "get_extended_symbol", "structeosio_1_1extended__asset_a7604109863c6d45bc54347c27bd632a4.html#a7604109863c6d45bc54347c27bd632a4", null ], + [ "print", "structeosio_1_1extended__asset_af5993cb01622505de48870ba728cec3b.html#af5993cb01622505de48870ba728cec3b", null ], + [ "contract", "structeosio_1_1extended__asset_acac503620c8c59864b065360fb50868b.html#acac503620c8c59864b065360fb50868b", null ], + [ "quantity", "structeosio_1_1extended__asset_aacd83a028c55e22db2e8f14027827ad7.html#aacd83a028c55e22db2e8f14027827ad7", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/cdt/group__console.html b/docs/cdt/group__console.html new file mode 100644 index 000000000..415fa8d47 --- /dev/null +++ b/docs/cdt/group__console.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: Консоль + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Консоль
+
+
+ +

Определяет C++-обёртку для вывода текстовых сообщений в лог/консоль +Подробнее...

+ + + + +

+Классы

class  eosio::iostream
 
+ + + + + + + + + + + + + + + + + + +

+Функции

void eosio::printhex (const void *ptr, uint32_t size)
 
void eosio::printl (const char *ptr, size_t len)
 
void eosio::print (const char *ptr)
 
void eosio::print (float num)
 
void eosio::print (double num)
 
void eosio::print (long double num)
 
template<typename T , std::enable_if_t<!std::is_integral< std::decay_t< T > >::value, int > = 0>
void eosio::print (T &&t)
 
void eosio::print_f (const char *s)
 
+

Подробное описание

+

Определяет C++-обёртку для вывода текстовых сообщений в лог/консоль

+

Этот API использует вариадические шаблоны C++ и определение типов, чтобы упростить вывод любых встроенных типов. Можно перегрузить метод print() и для своих типов.

+

Пример:

print( "hello world, this is a number: ", 5 );
+

+Перегрузка print для своих типов

+

Два способа перегрузить print:

    +
  1. реализовать void print( const T& )
  2. +
  3. реализовать T::print() const
  4. +
+
+
+ + + + + + diff --git a/docs/cdt/group__console.js b/docs/cdt/group__console.js new file mode 100644 index 000000000..2318e15dd --- /dev/null +++ b/docs/cdt/group__console.js @@ -0,0 +1,12 @@ +var group__console = +[ + [ "eosio::iostream", "classeosio_1_1iostream.html", null ], + [ "eosio::print", "group__console_gaa0a56fe314d032d027a1565d93a68b21.html#gaa0a56fe314d032d027a1565d93a68b21", null ], + [ "eosio::print", "group__console_ga8753f6a7c7d5c518f6369cfebf5be1bb.html#ga8753f6a7c7d5c518f6369cfebf5be1bb", null ], + [ "eosio::print", "group__console_ga02d168bc05492d64cefea469dd114c12.html#ga02d168bc05492d64cefea469dd114c12", null ], + [ "eosio::print", "group__console_ga2a3eea270ff4dbe4a15c2269a5c2cfec.html#ga2a3eea270ff4dbe4a15c2269a5c2cfec", null ], + [ "eosio::print", "group__console_gaccb44465b58c681e320b9cb9a6a78e62.html#gaccb44465b58c681e320b9cb9a6a78e62", null ], + [ "eosio::print_f", "group__console_gab9715bf002b919701d38e3ff931feabf.html#gab9715bf002b919701d38e3ff931feabf", null ], + [ "eosio::printhex", "group__console_gab8eb3bd97387854f71fd4a68d167b418.html#gab8eb3bd97387854f71fd4a68d167b418", null ], + [ "eosio::printl", "group__console_ga7abae4d32d4fec590c9988a6aec88cec.html#ga7abae4d32d4fec590c9988a6aec88cec", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__console_ga02d168bc05492d64cefea469dd114c12.html b/docs/cdt/group__console_ga02d168bc05492d64cefea469dd114c12.html new file mode 100644 index 000000000..3818f7ecd --- /dev/null +++ b/docs/cdt/group__console_ga02d168bc05492d64cefea469dd114c12.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print() [4/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::print (float num)
+
+inline
+
+

Выводит число с плавающей точкой одинарной точности (float)

+
Аргументы
+ + +
numЗначение для вывода
+
+
+ +

См. определение в файле print.hpp строка 140

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__console_ga2a3eea270ff4dbe4a15c2269a5c2cfec.html b/docs/cdt/group__console_ga2a3eea270ff4dbe4a15c2269a5c2cfec.html new file mode 100644 index 000000000..752c693e8 --- /dev/null +++ b/docs/cdt/group__console_ga2a3eea270ff4dbe4a15c2269a5c2cfec.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print() [5/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::print (long double num)
+
+inline
+
+

Выводит число с плавающей точкой расширенной точности (long double)

+
Аргументы
+ + +
numЗначение для вывода
+
+
+ +

См. определение в файле print.hpp строка 156

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__console_ga7abae4d32d4fec590c9988a6aec88cec.html b/docs/cdt/group__console_ga7abae4d32d4fec590c9988a6aec88cec.html new file mode 100644 index 000000000..09edd7800 --- /dev/null +++ b/docs/cdt/group__console_ga7abae4d32d4fec590c9988a6aec88cec.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::printl + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ printl()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::printl (const char * ptr,
size_t len 
)
+
+inline
+
+

Выводит строку заданной длины

+
Аргументы
+ + + +
ptr- Строка
len- Число символов для вывода
+
+
+ +

См. определение в файле print.hpp строка 88

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__console_ga8753f6a7c7d5c518f6369cfebf5be1bb.html b/docs/cdt/group__console_ga8753f6a7c7d5c518f6369cfebf5be1bb.html new file mode 100644 index 000000000..14525fde6 --- /dev/null +++ b/docs/cdt/group__console_ga8753f6a7c7d5c518f6369cfebf5be1bb.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print() [3/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::print (double num)
+
+inline
+
+

Выводит число с плавающей точкой двойной точности (double)

+
Аргументы
+ + +
numЗначение для вывода
+
+
+ +

См. определение в файле print.hpp строка 148

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__console_gaa0a56fe314d032d027a1565d93a68b21.html b/docs/cdt/group__console_gaa0a56fe314d032d027a1565d93a68b21.html new file mode 100644 index 000000000..fd93b7415 --- /dev/null +++ b/docs/cdt/group__console_gaa0a56fe314d032d027a1565d93a68b21.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print() [2/7]

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::print (const char * ptr)
+
+inline
+
+

Выводит строку

+
Аргументы
+ + +
ptr- Строка с нулевым завершением
+
+
+ +

См. определение в файле print.hpp строка 98

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__console_gab8eb3bd97387854f71fd4a68d167b418.html b/docs/cdt/group__console_gab8eb3bd97387854f71fd4a68d167b418.html new file mode 100644 index 000000000..66a3bf7c9 --- /dev/null +++ b/docs/cdt/group__console_gab8eb3bd97387854f71fd4a68d167b418.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::printhex + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ printhex()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::printhex (const void * ptr,
uint32_t size 
)
+
+inline
+
+

Выводит блок байт в шестнадцатеричном виде

+
Аргументы
+ + + +
ptr- Указатель на байты
size- Число байт для вывода
+
+
+ +

См. определение в файле print.hpp строка 77

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__console_gab9715bf002b919701d38e3ff931feabf.html b/docs/cdt/group__console_gab9715bf002b919701d38e3ff931feabf.html new file mode 100644 index 000000000..d1375f563 --- /dev/null +++ b/docs/cdt/group__console_gab9715bf002b919701d38e3ff931feabf.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::print_f + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print_f() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::print_f (const char * s)
+
+inline
+
+

Выводит строку с нулевым завершением

+
Аргументы
+ + +
sСтрока с нулевым завершением
+
+
+ +

См. определение в файле print.hpp строка 181

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__console_gaccb44465b58c681e320b9cb9a6a78e62.html b/docs/cdt/group__console_gaccb44465b58c681e320b9cb9a6a78e62.html new file mode 100644 index 000000000..c055453e2 --- /dev/null +++ b/docs/cdt/group__console_gaccb44465b58c681e320b9cb9a6a78e62.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::print + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ print() [6/7]

+ +
+
+
+template<typename T , std::enable_if_t<!std::is_integral< std::decay_t< T > >::value, int > = 0>
+ + + + + +
+ + + + + + + + +
void eosio::print (T && t)
+
+inline
+
+

Выводит объект класса

+
Аргументы
+ + +
tЗначение для вывода
+
+
+
Предусловие
У T должна быть реализована функция print()
+ +

См. определение в файле print.hpp строка 166

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__contract.html b/docs/cdt/group__contract.html new file mode 100644 index 000000000..f0f1f1b27 --- /dev/null +++ b/docs/cdt/group__contract.html @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + +CDT: Контракт (Contract) + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Контракт (Contract)
+
+
+ +

Определяет тип контракта — базовый класс для каждого контракта COOPOS. +Подробнее...

+ + + + +

+Классы

class  eosio::contract
 
+ + + +

+Макросы

#define CONTRACT   class [[eosio::contract]]
 
+

Подробное описание

+

Определяет тип контракта — базовый класс для каждого контракта COOPOS.

+
+
+ + + + + + diff --git a/docs/cdt/group__contract.js b/docs/cdt/group__contract.js new file mode 100644 index 000000000..dddb84e85 --- /dev/null +++ b/docs/cdt/group__contract.js @@ -0,0 +1,15 @@ +var group__contract = +[ + [ "eosio::contract", "classeosio_1_1contract.html", [ + [ "contract", "classeosio_1_1contract_acb803b9d14bdc26811cdaaf98804e105.html#acb803b9d14bdc26811cdaaf98804e105", null ], + [ "get_code", "classeosio_1_1contract_a4efcd5638d26dad3e5dc075bad152d45.html#a4efcd5638d26dad3e5dc075bad152d45", null ], + [ "get_datastream", "classeosio_1_1contract_a025bbcfc537a64a72c6b41f1118559a0.html#a025bbcfc537a64a72c6b41f1118559a0", null ], + [ "get_datastream", "classeosio_1_1contract_ab2b6af0978586ae4e3a1c9c1699e660a.html#ab2b6af0978586ae4e3a1c9c1699e660a", null ], + [ "get_first_receiver", "classeosio_1_1contract_ac7c14f66e3d41904264d1c6558cf370b.html#ac7c14f66e3d41904264d1c6558cf370b", null ], + [ "get_self", "classeosio_1_1contract_a7564cad9be4ee5dcaac832511d9a0e05.html#a7564cad9be4ee5dcaac832511d9a0e05", null ], + [ "_ds", "classeosio_1_1contract_a66b526b89bc6d35b63b874615f1d27b8.html#a66b526b89bc6d35b63b874615f1d27b8", null ], + [ "_first_receiver", "classeosio_1_1contract_a98397119d8b0cf44f22a62967f8d030a.html#a98397119d8b0cf44f22a62967f8d030a", null ], + [ "_self", "classeosio_1_1contract_a29c0c98c72ab578a5965d13b00dca0c0.html#a29c0c98c72ab578a5965d13b00dca0c0", null ] + ] ], + [ "CONTRACT", "group__contract_ga3dd8a1be2fbf980ee66578476244d85f.html#ga3dd8a1be2fbf980ee66578476244d85f", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__contract_ga3dd8a1be2fbf980ee66578476244d85f.html b/docs/cdt/group__contract_ga3dd8a1be2fbf980ee66578476244d85f.html new file mode 100644 index 000000000..04666c27c --- /dev/null +++ b/docs/cdt/group__contract_ga3dd8a1be2fbf980ee66578476244d85f.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: CONTRACT + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ CONTRACT

+ +
+
+ + + + +
#define CONTRACT   class [[eosio::contract]]
+
+

Вспомогательные макросы для сокращения шаблонного кода в типовых контрактах

+ +

См. определение в файле contract.hpp строка 18

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__contracts.html b/docs/cdt/group__contracts.html new file mode 100644 index 000000000..bec06a017 --- /dev/null +++ b/docs/cdt/group__contracts.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: API контрактов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
API контрактов
+
+
+ +

C++ API контрактов для функциональности смарт-контрактов, зависящей от сети COOPOS. +Подробнее...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Группы

 Действие
 Типобезопасные C++-обёртки для чтения данных действия и отправки действия
 
 Контракт (Contract)
 Определяет тип контракта — базовый класс для каждого контракта COOPOS.
 
 Диспетчер (Dispatcher)
 Определяет функции C++ для маршрутизации действия к соответствующему обработчику внутри контракта
 
 Многоиндексная таблица (Multi Index)
 
 Привилегированный API
 Определяет привилегированный C++ API COOPOS.
 
 Ключ производителя
 Сопоставляет производителя с его ключом подписи блока; используется в расписании производителей
 
 Расписание производителей
 Задаёт порядок, имена аккаунтов и ключи подписи активного набора производителей.
 
 Полномочие производителя
 Сопоставляет производителя с гибкой структурой полномочий; используется в расписании производителей
 
 Группа безопасности
 Определяет C++ API группы безопасности
 
 Singleton-таблица
 Определяет singleton-таблицу COOPOS для использования с multiindex.
 
 Транзакция
 Типобезопасные C++-обёртки над C API транзакций COOPOS.
 
 Система
 Обёртки над eosio_assert.
 
+

Подробное описание

+

C++ API контрактов для функциональности смарт-контрактов, зависящей от сети COOPOS.

+
+
+ + + + + + diff --git a/docs/cdt/group__contracts.js b/docs/cdt/group__contracts.js new file mode 100644 index 000000000..e6525c910 --- /dev/null +++ b/docs/cdt/group__contracts.js @@ -0,0 +1,15 @@ +var group__contracts = +[ + [ "Действие", "group__action.html", "group__action" ], + [ "Контракт (Contract)", "group__contract.html", "group__contract" ], + [ "Диспетчер (Dispatcher)", "group__dispatcher.html", "group__dispatcher" ], + [ "Многоиндексная таблица (Multi Index)", "group__multiindex.html", "group__multiindex" ], + [ "Привилегированный API", "group__privileged.html", "group__privileged" ], + [ "Ключ производителя", "group__producer__key.html", "group__producer__key" ], + [ "Расписание производителей", "group__producer__schedule.html", "group__producer__schedule" ], + [ "Полномочие производителя", "group__producer__authority.html", "group__producer__authority" ], + [ "Группа безопасности", "group__security__group.html", "group__security__group" ], + [ "Singleton-таблица", "group__singleton.html", "group__singleton" ], + [ "Транзакция", "group__transaction.html", "group__transaction" ], + [ "Система", "group__system.html", "group__system" ] +]; \ No newline at end of file diff --git a/docs/cdt/group__core.html b/docs/cdt/group__core.html new file mode 100644 index 000000000..b8215b626 --- /dev/null +++ b/docs/cdt/group__core.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: API ядра + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
API ядра
+
+
+ +

C++ API ядра для функциональности смарт-контрактов, не зависящей от конкретной сети +Подробнее...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Группы

 Актив
 Определяет C++ API для работы с активами
 
 Система
 Обёртки над eosio_assert.
 
 Криптография
 Определяет API вычисления и проверки хешей, для которых требуется активация соответствующего криптопротокольного свойства в цепи COOPOS.
 
 Поток данных
 Определяет поток данных для чтения и записи в виде байтов
 
 Массив байт фиксированного размера
 Массив байт фиксированного размера с лексикографическим упорядочиванием
 
 Игнорирование типа
 Указывает datastream игнорировать этот тип, сохраняя корректный тип для генератора ABI.
 
 Имя
 Тип имени COOPOS.
 
 Консоль
 Определяет C++-обёртку для вывода текстовых сообщений в лог/консоль
 
 Сериализация
 Определяет C++ API сериализации и десериализации объектов
 
 Символ
 Определяет C++ API для работы с символами
 
 Время
 Классы для работы со временем.
 
 Целое переменной длины
 Определяет тип целого переменной длины для более эффективной сериализации
 
+

Подробное описание

+

C++ API ядра для функциональности смарт-контрактов, не зависящей от конкретной сети

+
+
+ + + + + + diff --git a/docs/cdt/group__core.js b/docs/cdt/group__core.js new file mode 100644 index 000000000..e402b2db8 --- /dev/null +++ b/docs/cdt/group__core.js @@ -0,0 +1,15 @@ +var group__core = +[ + [ "Актив", "group__asset.html", "group__asset" ], + [ "Система", "group__system.html", "group__system" ], + [ "Криптография", "group__crypto.html", "group__crypto" ], + [ "Поток данных", "group__datastream.html", "group__datastream" ], + [ "Массив байт фиксированного размера", "group__fixed__bytes.html", "group__fixed__bytes" ], + [ "Игнорирование типа", "group__ignore.html", "group__ignore" ], + [ "Имя", "group__name.html", "group__name" ], + [ "Консоль", "group__console.html", "group__console" ], + [ "Сериализация", "group__serialize.html", "group__serialize" ], + [ "Символ", "group__symbol.html", "group__symbol" ], + [ "Время", "group__time.html", "group__time" ], + [ "Целое переменной длины", "group__varint.html", "group__varint" ] +]; \ No newline at end of file diff --git a/docs/cdt/group__crypto.html b/docs/cdt/group__crypto.html new file mode 100644 index 000000000..c15016e3b --- /dev/null +++ b/docs/cdt/group__crypto.html @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + +CDT: Криптография + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Определяет API вычисления и проверки хешей, для которых требуется активация соответствующего криптопротокольного свойства в цепи COOPOS. +Подробнее...

+ + + + + + +

+Классы

struct  eosio::ec_point< Size >
 
struct  eosio::ec_point_view< Size >
 
+ + + +

+Определения типов

using eosio::bigint = std::vector< char >
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Функции

template<typename T >
g1_point eosio::alt_bn128_add (const T &op1, const T &op2)
 
int32_t eosio::alt_bn128_add (const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, char *result, uint32_t result_len)
 
template<typename T >
g1_point eosio::alt_bn128_mul (const T &g1, const bigint &scalar)
 
int32_t eosio::alt_bn128_mul (const char *g1, uint32_t g1_len, const char *scalar, uint32_t scalar_len, char *result, uint32_t result_len)
 
template<typename G1_T , typename G2_T >
int32_t eosio::alt_bn128_pair (const std::vector< std::pair< G1_T, G2_T > > &pairs)
 
int32_t eosio::alt_bn128_pair (const char *pairs, uint32_t pairs_len)
 
int32_t eosio::mod_exp (const bigint &base, const bigint &exp, const bigint &mod, bigint &result)
 
int32_t eosio::mod_exp (const char *base, uint32_t base_len, const char *exp, uint32_t exp_len, const char *mod, uint32_t mod_len, char *result, uint32_t result_len)
 
int32_t eosio::blake2_f (uint32_t rounds, const std::vector< char > &state, const std::vector< char > &msg, const std::vector< char > &t0_offset, const std::vector< char > &t1_offset, bool final, std::vector< char > &result)
 
int32_t eosio::blake2_f (uint32_t rounds, const char *state, uint32_t state_len, const char *msg, uint32_t msg_len, const char *t0_offset, uint32_t t0_len, const char *t1_offset, uint32_t t1_len, int32_t final, char *result, uint32_t result_len)
 
eosio::checksum256 eosio::sha3 (const char *data, uint32_t length)
 
void eosio::assert_sha3 (const char *data, uint32_t length, const eosio::checksum256 &hash)
 
eosio::checksum256 eosio::keccak (const char *data, uint32_t length)
 
void eosio::assert_keccak (const char *data, uint32_t length, const eosio::checksum256 &hash)
 
int32_t eosio::k1_recover (const char *sig, uint32_t sig_len, const char *dig, uint32_t dig_len, char *pub, uint32_t pub_len)
 
+

Подробное описание

+

Определяет API вычисления и проверки хешей, для которых требуется активация соответствующего криптопротокольного свойства в цепи COOPOS.

+
+
+ + + + + + diff --git a/docs/cdt/group__crypto.js b/docs/cdt/group__crypto.js new file mode 100644 index 000000000..ab0d4ce35 --- /dev/null +++ b/docs/cdt/group__crypto.js @@ -0,0 +1,35 @@ +var group__crypto = +[ + [ "eosio::ec_point< Size >", "structeosio_1_1ec__point.html", [ + [ "ec_point", "structeosio_1_1ec__point_ab8a58360bffb655455dbe52ca73f5047.html#ab8a58360bffb655455dbe52ca73f5047", null ], + [ "ec_point", "structeosio_1_1ec__point_ad7a71307ec985cd0208b5039050a024b.html#ad7a71307ec985cd0208b5039050a024b", null ], + [ "serialized", "structeosio_1_1ec__point_a9d58791cea69d15014c97e8f4ca984a1.html#a9d58791cea69d15014c97e8f4ca984a1", null ], + [ "x", "structeosio_1_1ec__point_ac0ce980f3a4f3a910ba016449928d12e.html#ac0ce980f3a4f3a910ba016449928d12e", null ], + [ "y", "structeosio_1_1ec__point_ae2a5451275a6e0f0bc24cce013c1df1d.html#ae2a5451275a6e0f0bc24cce013c1df1d", null ] + ] ], + [ "eosio::ec_point_view< Size >", "structeosio_1_1ec__point__view.html", [ + [ "ec_point_view", "structeosio_1_1ec__point__view_afefa3f51502d704de152914c137586a6.html#afefa3f51502d704de152914c137586a6", null ], + [ "ec_point_view", "structeosio_1_1ec__point__view_a219f776476a886286b805a038d50ae02.html#a219f776476a886286b805a038d50ae02", null ], + [ "ec_point_view", "structeosio_1_1ec__point__view_ab2b81ba1368af5f272b0e325043f6742.html#ab2b81ba1368af5f272b0e325043f6742", null ], + [ "serialized", "structeosio_1_1ec__point__view_a58db6d160530b793ff9313110ab7ee43.html#a58db6d160530b793ff9313110ab7ee43", null ], + [ "size", "structeosio_1_1ec__point__view_ac94bfdc2f24d787628ab6b684b7b01a0.html#ac94bfdc2f24d787628ab6b684b7b01a0", null ], + [ "x", "structeosio_1_1ec__point__view_a246d1354267f9229da09910aebed17a3.html#a246d1354267f9229da09910aebed17a3", null ], + [ "y", "structeosio_1_1ec__point__view_ab8917551a1275db02a2faf141ef2c8b7.html#ab8917551a1275db02a2faf141ef2c8b7", null ] + ] ], + [ "eosio::bigint", "group__crypto_ga3abd9c96d56e0547488cae1cd186cc6f.html#ga3abd9c96d56e0547488cae1cd186cc6f", null ], + [ "eosio::alt_bn128_add", "group__crypto_gad6c7cb31acc6ad2034928b0f4f838f1f.html#gad6c7cb31acc6ad2034928b0f4f838f1f", null ], + [ "eosio::alt_bn128_add", "group__crypto_ga15d62eb0cc4e802cebf37acdeb244347.html#ga15d62eb0cc4e802cebf37acdeb244347", null ], + [ "eosio::alt_bn128_mul", "group__crypto_ga0a1860ebd5b856a263d61fb3486c6bac.html#ga0a1860ebd5b856a263d61fb3486c6bac", null ], + [ "eosio::alt_bn128_mul", "group__crypto_ga4c359bdfef5213a9d7469d4ce1d953be.html#ga4c359bdfef5213a9d7469d4ce1d953be", null ], + [ "eosio::alt_bn128_pair", "group__crypto_gad09d0d106fbffeea5ae3fa11a4542060.html#gad09d0d106fbffeea5ae3fa11a4542060", null ], + [ "eosio::alt_bn128_pair", "group__crypto_ga6c07b3b9afd8013c8852a45906b7b021.html#ga6c07b3b9afd8013c8852a45906b7b021", null ], + [ "eosio::assert_keccak", "group__crypto_ga525a44f742b17926399841c745a4a7ec.html#ga525a44f742b17926399841c745a4a7ec", null ], + [ "eosio::assert_sha3", "group__crypto_ga5911e4dd154cdc173eb05c44bbfe02d0.html#ga5911e4dd154cdc173eb05c44bbfe02d0", null ], + [ "eosio::blake2_f", "group__crypto_ga64df5cb191f12821722e306229ed19aa.html#ga64df5cb191f12821722e306229ed19aa", null ], + [ "eosio::blake2_f", "group__crypto_gabd02565be968568862b0af73120e9831.html#gabd02565be968568862b0af73120e9831", null ], + [ "eosio::k1_recover", "group__crypto_gaa651eeb4147e53a045ccf1fd3c06f14d.html#gaa651eeb4147e53a045ccf1fd3c06f14d", null ], + [ "eosio::keccak", "group__crypto_gaee42036696553a2aab82c8beadc949cc.html#gaee42036696553a2aab82c8beadc949cc", null ], + [ "eosio::mod_exp", "group__crypto_gafaa1bb4600feccd42acd799e76570291.html#gafaa1bb4600feccd42acd799e76570291", null ], + [ "eosio::mod_exp", "group__crypto_ga30e83b1ef7aa5db6dc580c850a02801c.html#ga30e83b1ef7aa5db6dc580c850a02801c", null ], + [ "eosio::sha3", "group__crypto_ga72b1a23b79771d3be88f1330bbe0e3cb.html#ga72b1a23b79771d3be88f1330bbe0e3cb", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__crypto_ga0a1860ebd5b856a263d61fb3486c6bac.html b/docs/cdt/group__crypto_ga0a1860ebd5b856a263d61fb3486c6bac.html new file mode 100644 index 000000000..20d421b2f --- /dev/null +++ b/docs/cdt/group__crypto_ga0a1860ebd5b856a263d61fb3486c6bac.html @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::alt_bn128_mul + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ alt_bn128_mul() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t eosio::alt_bn128_mul (const char * g1,
uint32_t g1_len,
const char * scalar,
uint32_t scalar_len,
char * result,
uint32_t result_len 
)
+
+inline
+
+

Скалярное умножение на эллиптической кривой alt_bn128

+
Аргументы
+ + + + + + + +
g1- Точка G1
g1_len- Размер точки G1
scalar- Скалярный множитель
scalar_len- Размер скаляра
result- Результат скалярного умножения
result_len- Размер результата
+
+
+
Возвращает
-1 при ошибке, иначе 0
+ +

См. определение в файле crypto_ext.hpp строка 257

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_ga15d62eb0cc4e802cebf37acdeb244347.html b/docs/cdt/group__crypto_ga15d62eb0cc4e802cebf37acdeb244347.html new file mode 100644 index 000000000..af4c9d4da --- /dev/null +++ b/docs/cdt/group__crypto_ga15d62eb0cc4e802cebf37acdeb244347.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::alt_bn128_add + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ alt_bn128_add() [2/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
g1_point eosio::alt_bn128_add (const T & op1,
const T & op2 
)
+
+inline
+
+

Сложение на эллиптической кривой alt_bn128

+
Аргументы
+ + + +
op1- Операнд 1
op2- Операнд 2
+
+
+
Возвращает
Результат сложения; при ошибке — исключение
+ +

См. определение в файле crypto_ext.hpp строка 203

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_ga30e83b1ef7aa5db6dc580c850a02801c.html b/docs/cdt/group__crypto_ga30e83b1ef7aa5db6dc580c850a02801c.html new file mode 100644 index 000000000..4be285024 --- /dev/null +++ b/docs/cdt/group__crypto_ga30e83b1ef7aa5db6dc580c850a02801c.html @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::mod_exp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ mod_exp() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t eosio::mod_exp (const char * base,
uint32_t base_len,
const char * exp,
uint32_t exp_len,
const char * mod,
uint32_t mod_len,
char * result,
uint32_t result_len 
)
+
+inline
+
+

Модульное возведение в степень для больших целых Возвращает ( BASE^EXP ) % MOD

+
Аргументы
+ + + + + + + + + +
base- Основание (BASE)
base_len- Размер основания
exp- Показатель степени (EXP)
exp_len- Размер показателя
mod- Модуль (MOD)
mod_len- Размер модуля
result- Результат модульного возведения в степень
result_len- Размер результата
+
+
+
Возвращает
-1 при ошибке, иначе 0
+ +

См. определение в файле crypto_ext.hpp строка 326

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_ga3abd9c96d56e0547488cae1cd186cc6f.html b/docs/cdt/group__crypto_ga3abd9c96d56e0547488cae1cd186cc6f.html new file mode 100644 index 000000000..eb86d6dd4 --- /dev/null +++ b/docs/cdt/group__crypto_ga3abd9c96d56e0547488cae1cd186cc6f.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::bigint + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ bigint

+ +
+
+ + + + +
using eosio::bigint = typedef std::vector<char>
+
+

Большое целое.

+ +

См. определение в файле crypto_ext.hpp строка 192

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_ga4c359bdfef5213a9d7469d4ce1d953be.html b/docs/cdt/group__crypto_ga4c359bdfef5213a9d7469d4ce1d953be.html new file mode 100644 index 000000000..6b5270a73 --- /dev/null +++ b/docs/cdt/group__crypto_ga4c359bdfef5213a9d7469d4ce1d953be.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::alt_bn128_mul + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ alt_bn128_mul() [2/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
g1_point eosio::alt_bn128_mul (const T & g1,
const bigintscalar 
)
+
+inline
+
+

Скалярное умножение на эллиптической кривой alt_bn128

+
Аргументы
+ + + +
g1- Точка G1
scalar- Скалярный множитель
+
+
+
Возвращает
Результат умножения; при ошибке — исключение
+ +

См. определение в файле crypto_ext.hpp строка 237

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_ga525a44f742b17926399841c745a4a7ec.html b/docs/cdt/group__crypto_ga525a44f742b17926399841c745a4a7ec.html new file mode 100644 index 000000000..bd1f9e7f0 --- /dev/null +++ b/docs/cdt/group__crypto_ga525a44f742b17926399841c745a4a7ec.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::assert_keccak + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ assert_keccak()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::assert_keccak (const char * data,
uint32_t length,
const eosio::checksum256 & hash 
)
+
+inline
+
+

Проверяет, совпадает ли Keccak-хеш данных с переданным дайджестом.

+
Аргументы
+ + + + +
data- Данные для хеширования
length- Длина данных
hash- Дайджест для сравнения
+
+
+
Заметки
Этот метод не вырезается при повторном воспроизведении
+ +

См. определение в файле crypto_ext.hpp строка 422

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_ga5911e4dd154cdc173eb05c44bbfe02d0.html b/docs/cdt/group__crypto_ga5911e4dd154cdc173eb05c44bbfe02d0.html new file mode 100644 index 000000000..45b08865d --- /dev/null +++ b/docs/cdt/group__crypto_ga5911e4dd154cdc173eb05c44bbfe02d0.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::assert_sha3 + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ assert_sha3()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::assert_sha3 (const char * data,
uint32_t length,
const eosio::checksum256 & hash 
)
+
+inline
+
+

Проверяет, совпадает ли SHA3-хеш данных с переданным дайджестом.

+
Аргументы
+ + + + +
data- Данные для хеширования
length- Длина данных
hash- Дайджест для сравнения
+
+
+
Заметки
Этот метод не вырезается при повторном воспроизведении
+ +

См. определение в файле crypto_ext.hpp строка 396

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_ga64df5cb191f12821722e306229ed19aa.html b/docs/cdt/group__crypto_ga64df5cb191f12821722e306229ed19aa.html new file mode 100644 index 000000000..71c333ed7 --- /dev/null +++ b/docs/cdt/group__crypto_ga64df5cb191f12821722e306229ed19aa.html @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blake2_f + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ blake2_f() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t eosio::blake2_f (uint32_t rounds,
const char * state,
uint32_t state_len,
const char * msg,
uint32_t msg_len,
const char * t0_offset,
uint32_t t0_len,
const char * t1_offset,
uint32_t t1_len,
int32_t final,
char * result,
uint32_t result_len 
)
+
+inline
+
+

Функция сжатия BLAKE2 «F» https://eips.ethereum.org/EIPS/eip-152

+
Аргументы
+ + + + + + + + + + + + + +
rounds- Число раундов
state- Вектор состояния
state_len- Размер вектора состояния
msg- Вектор блока сообщения
msg_len- Размер блока сообщения
t0_offset- Смещения счётчиков
t0_len- Размер t0_offset
t1_offset- Смещения счётчиков
t1_len- Размер t1_offset
final- Флаг последнего блока
result- Результат сжатия
result_len- Размер результата
+
+
+
Возвращает
-1 при ошибке, иначе 0
+ +

См. определение в файле crypto_ext.hpp строка 370

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_ga6c07b3b9afd8013c8852a45906b7b021.html b/docs/cdt/group__crypto_ga6c07b3b9afd8013c8852a45906b7b021.html new file mode 100644 index 000000000..dfb4bf561 --- /dev/null +++ b/docs/cdt/group__crypto_ga6c07b3b9afd8013c8852a45906b7b021.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::alt_bn128_pair + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ alt_bn128_pair() [2/2]

+ +
+
+
+template<typename G1_T , typename G2_T >
+ + + + + +
+ + + + + + + + +
int32_t eosio::alt_bn128_pair (const std::vector< std::pair< G1_T, G2_T > > & pairs)
+
+inline
+
+

Проверка optimal-Ate pairing на кривой alt_bn128

+
Аргументы
+ + +
pairs- Пары точек g1 и g2
+
+
+
Возвращает
-1 при ошибке, 1 если ложь, 0 если истина и успех
+ +

См. определение в файле crypto_ext.hpp строка 269

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_ga72b1a23b79771d3be88f1330bbe0e3cb.html b/docs/cdt/group__crypto_ga72b1a23b79771d3be88f1330bbe0e3cb.html new file mode 100644 index 000000000..56c15dfd8 --- /dev/null +++ b/docs/cdt/group__crypto_ga72b1a23b79771d3be88f1330bbe0e3cb.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::sha3 + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ sha3()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
eosio::checksum256 eosio::sha3 (const char * data,
uint32_t length 
)
+
+inline
+
+

Вычисляет хеш data алгоритмом SHA3 (вариант NIST).

+
Аргументы
+ + + +
data- Данные для хеширования
length- Длина данных
+
+
+
Возвращает
eosio::checksum256 - Вычисленный дайджест
+ +

См. определение в файле crypto_ext.hpp строка 383

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_gaa651eeb4147e53a045ccf1fd3c06f14d.html b/docs/cdt/group__crypto_gaa651eeb4147e53a045ccf1fd3c06f14d.html new file mode 100644 index 000000000..0c3ed18ab --- /dev/null +++ b/docs/cdt/group__crypto_gaa651eeb4147e53a045ccf1fd3c06f14d.html @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::k1_recover + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ k1_recover()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t eosio::k1_recover (const char * sig,
uint32_t sig_len,
const char * dig,
uint32_t dig_len,
char * pub,
uint32_t pub_len 
)
+
+inline
+
+

Вычисляет несжатый открытый ключ по подписи и дайджесту.

+
Аргументы
+ + + + + + + +
sig- Подпись
sig_len- Размер подписи
dig- Дайджест подписанного сообщения
dig_len- Размер дайджеста
pub- Буфер для открытого ключа
pub_len- Размер буфера открытого ключа
+
+
+
Возвращает
-1 при ошибке, иначе 0
+ +

См. определение в файле crypto_ext.hpp строка 440

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_gabd02565be968568862b0af73120e9831.html b/docs/cdt/group__crypto_gabd02565be968568862b0af73120e9831.html new file mode 100644 index 000000000..c4ccb818b --- /dev/null +++ b/docs/cdt/group__crypto_gabd02565be968568862b0af73120e9831.html @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blake2_f + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ blake2_f() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t eosio::blake2_f (uint32_t rounds,
const std::vector< char > & state,
const std::vector< char > & msg,
const std::vector< char > & t0_offset,
const std::vector< char > & t1_offset,
bool final,
std::vector< char > & result 
)
+
+inline
+
+

Функция сжатия BLAKE2 «F» https://eips.ethereum.org/EIPS/eip-152

+
Аргументы
+ + + + + + + + +
rounds- Число раундов
state- Вектор состояния
msg- Вектор блока сообщения
t0_offset- Смещения счётчиков
t1_offset- Смещения счётчиков
final- Флаг последнего блока
result- Результат сжатия
+
+
+
Возвращает
-1 при ошибке, иначе 0
+ +

См. определение в файле crypto_ext.hpp строка 346

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_gad09d0d106fbffeea5ae3fa11a4542060.html b/docs/cdt/group__crypto_gad09d0d106fbffeea5ae3fa11a4542060.html new file mode 100644 index 000000000..6aac9310f --- /dev/null +++ b/docs/cdt/group__crypto_gad09d0d106fbffeea5ae3fa11a4542060.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::alt_bn128_pair + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ alt_bn128_pair() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int32_t eosio::alt_bn128_pair (const char * pairs,
uint32_t pairs_len 
)
+
+inline
+
+

Проверка optimal-Ate pairing на кривой alt_bn128

+
Аргументы
+ + + +
pairs- Пары g1 и g2
pairs_len- Размер данных пар
+
+
+
Возвращает
-1 при ошибке, 1 если ложь, 0 если истина и успех
+ +

См. определение в файле crypto_ext.hpp строка 288

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_gad6c7cb31acc6ad2034928b0f4f838f1f.html b/docs/cdt/group__crypto_gad6c7cb31acc6ad2034928b0f4f838f1f.html new file mode 100644 index 000000000..8d8f72b34 --- /dev/null +++ b/docs/cdt/group__crypto_gad6c7cb31acc6ad2034928b0f4f838f1f.html @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::alt_bn128_add + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ alt_bn128_add() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t eosio::alt_bn128_add (const char * op1,
uint32_t op1_len,
const char * op2,
uint32_t op2_len,
char * result,
uint32_t result_len 
)
+
+inline
+
+

Сложение на эллиптической кривой alt_bn128

+
Аргументы
+ + + + + + + +
op1- Операнд 1
op1_len- Размер операнда 1
op2- Операнд 2
op2_len- Размер операнда 2
result- Результат сложения
result_len- Размер результата
+
+
+
Возвращает
-1 при ошибке, иначе 0
+ +

См. определение в файле crypto_ext.hpp строка 224

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_gaee42036696553a2aab82c8beadc949cc.html b/docs/cdt/group__crypto_gaee42036696553a2aab82c8beadc949cc.html new file mode 100644 index 000000000..98682fd88 --- /dev/null +++ b/docs/cdt/group__crypto_gaee42036696553a2aab82c8beadc949cc.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::keccak + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ keccak()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
eosio::checksum256 eosio::keccak (const char * data,
uint32_t length 
)
+
+inline
+
+

Вычисляет хеш data алгоритмом SHA3 Keccak.

+
Аргументы
+ + + +
data- Данные для хеширования
length- Длина данных
+
+
+
Возвращает
eosio::checksum256 - Вычисленный дайджест
+ +

См. определение в файле crypto_ext.hpp строка 409

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__crypto_gafaa1bb4600feccd42acd799e76570291.html b/docs/cdt/group__crypto_gafaa1bb4600feccd42acd799e76570291.html new file mode 100644 index 000000000..4deba2ddf --- /dev/null +++ b/docs/cdt/group__crypto_gafaa1bb4600feccd42acd799e76570291.html @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::mod_exp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ mod_exp() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int32_t eosio::mod_exp (const bigintbase,
const bigintexp,
const bigintmod,
bigintresult 
)
+
+inline
+
+

Модульное возведение в степень для больших целых Возвращает ( BASE^EXP ) % MOD

+
Аргументы
+ + + + + +
base- Основание (BASE)
exp- Показатель степени (EXP)
mod- Модуль (MOD)
result- Результат модульного возведения в степень
+
+
+
Возвращает
-1 при ошибке, иначе 0
+ +

См. определение в файле crypto_ext.hpp строка 304

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__datastream.html b/docs/cdt/group__datastream.html new file mode 100644 index 000000000..921f788b7 --- /dev/null +++ b/docs/cdt/group__datastream.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: Поток данных + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Поток данных
+
+
+ +

Определяет поток данных для чтения и записи в виде байтов +Подробнее...

+ + + + + + + + + + + + + + + + + +

+Функции

template<typename T >
eosio::unpack (const char *buffer, size_t len)
 
template<typename T >
void eosio::unpack (T &res, const char *buffer, size_t len)
 
template<typename T >
eosio::unpack (const std::vector< char > &bytes)
 
template<typename T >
size_t eosio::pack_size (const T &value)
 
template<typename T >
std::vector< char > eosio::pack (const T &value)
 
+

Подробное описание

+

Определяет поток данных для чтения и записи в виде байтов

+
+
+ + + + + + diff --git a/docs/cdt/group__datastream.js b/docs/cdt/group__datastream.js new file mode 100644 index 000000000..c35028fa5 --- /dev/null +++ b/docs/cdt/group__datastream.js @@ -0,0 +1,8 @@ +var group__datastream = +[ + [ "eosio::pack", "group__datastream_ga13b3cd80e2641c0408f247c550e3d667.html#ga13b3cd80e2641c0408f247c550e3d667", null ], + [ "eosio::pack_size", "group__datastream_ga30aa7d1c92792afc7f78af37372d68b7.html#ga30aa7d1c92792afc7f78af37372d68b7", null ], + [ "eosio::unpack", "group__datastream_ga2ffaa5bd18836b7d40db601fb20965bb.html#ga2ffaa5bd18836b7d40db601fb20965bb", null ], + [ "eosio::unpack", "group__datastream_ga666b4d583161e4db595e31565fbb6a3d.html#ga666b4d583161e4db595e31565fbb6a3d", null ], + [ "eosio::unpack", "group__datastream_gaeda637d2d16ecc6235bd072161bc07df.html#gaeda637d2d16ecc6235bd072161bc07df", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__datastream_ga13b3cd80e2641c0408f247c550e3d667.html b/docs/cdt/group__datastream_ga13b3cd80e2641c0408f247c550e3d667.html new file mode 100644 index 000000000..2ac6d08f6 --- /dev/null +++ b/docs/cdt/group__datastream_ga13b3cd80e2641c0408f247c550e3d667.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::pack + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ pack()

+ +
+
+
+template<typename T >
+ + + + + + + + +
std::vector< char > eosio::pack (const T & value)
+
+

Возвращает упакованные данные

+
Параметры шаблона
+ + +
T- Тип упаковываемых данных
+
+
+
Аргументы
+ + +
value- Данные для упаковки
+
+
+
Возвращает
Упакованные данные (байты)
+ +

См. определение в файле datastream.hpp строка 1089

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__datastream_ga2ffaa5bd18836b7d40db601fb20965bb.html b/docs/cdt/group__datastream_ga2ffaa5bd18836b7d40db601fb20965bb.html new file mode 100644 index 000000000..51311f7b3 --- /dev/null +++ b/docs/cdt/group__datastream_ga2ffaa5bd18836b7d40db601fb20965bb.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::unpack + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ unpack() [1/3]

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + +
T eosio::unpack (const char * buffer,
size_t len 
)
+
+

Распаковывает данные из буфера фиксированного размера как T

+
Параметры шаблона
+ + +
T- Тип распакованных данных
+
+
+
Аргументы
+ + + +
buffer- Указатель на буфер
len- Длина буфера
+
+
+
Возвращает
T - Распакованные данные
+ +

См. определение в файле datastream.hpp строка 1030

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__datastream_ga30aa7d1c92792afc7f78af37372d68b7.html b/docs/cdt/group__datastream_ga30aa7d1c92792afc7f78af37372d68b7.html new file mode 100644 index 000000000..073e37644 --- /dev/null +++ b/docs/cdt/group__datastream_ga30aa7d1c92792afc7f78af37372d68b7.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::pack_size + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ pack_size()

+ +
+
+
+template<typename T >
+ + + + + + + + +
size_t eosio::pack_size (const T & value)
+
+

Возвращает размер упакованных данных

+
Параметры шаблона
+ + +
T- Тип упаковываемых данных
+
+
+
Аргументы
+ + +
value- Данные для упаковки
+
+
+
Возвращает
size_t - Размер упакованных данных
+ +

См. определение в файле datastream.hpp строка 1074

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__datastream_ga666b4d583161e4db595e31565fbb6a3d.html b/docs/cdt/group__datastream_ga666b4d583161e4db595e31565fbb6a3d.html new file mode 100644 index 000000000..8e42eaebd --- /dev/null +++ b/docs/cdt/group__datastream_ga666b4d583161e4db595e31565fbb6a3d.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::unpack + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ unpack() [2/3]

+ +
+
+
+template<typename T >
+ + + + + + + + +
T eosio::unpack (const std::vector< char > & bytes)
+
+

Распаковывает данные из буфера переменного размера как T

+
Параметры шаблона
+ + +
T- Тип распакованных данных
+
+
+
Аргументы
+ + +
bytes- Буфер
+
+
+
Возвращает
T - Распакованные данные
+ +

См. определение в файле datastream.hpp строка 1061

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__datastream_gaeda637d2d16ecc6235bd072161bc07df.html b/docs/cdt/group__datastream_gaeda637d2d16ecc6235bd072161bc07df.html new file mode 100644 index 000000000..41f28cfc1 --- /dev/null +++ b/docs/cdt/group__datastream_gaeda637d2d16ecc6235bd072161bc07df.html @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::unpack + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ unpack() [3/3]

+ +
+
+
+template<typename T >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::unpack (T & res,
const char * buffer,
size_t len 
)
+
+

Распаковывает данные из буфера фиксированного размера как T

+
Параметры шаблона
+ + +
T- Тип распакованных данных
+
+
+
Аргументы
+ + + + +
res- Переменная для заполнения результатом распаковки
buffer- Указатель на буфер
len- Длина буфера
+
+
+ +

См. определение в файле datastream.hpp строка 1047

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__dispatcher.html b/docs/cdt/group__dispatcher.html new file mode 100644 index 000000000..d9437aac6 --- /dev/null +++ b/docs/cdt/group__dispatcher.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: Диспетчер (Dispatcher) + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Диспетчер (Dispatcher)
+
+
+ +

Определяет функции C++ для маршрутизации действия к соответствующему обработчику внутри контракта +Подробнее...

+ + + + +

+Макросы

#define EOSIO_DISPATCH(TYPE, MEMBERS)
 
+ + + + + + + +

+Функции

template<typename Contract , typename FirstAction , typename SecondAction , typename... Actions>
bool eosio::dispatch (uint64_t code, uint64_t act)
 
template<typename T , typename... Args>
bool eosio::execute_action (name self, name code, void(T::*func)(Args...))
 
+

Подробное описание

+

Определяет функции C++ для маршрутизации действия к соответствующему обработчику внутри контракта

+
+
+ + + + + + diff --git a/docs/cdt/group__dispatcher.js b/docs/cdt/group__dispatcher.js new file mode 100644 index 000000000..4c81a27b9 --- /dev/null +++ b/docs/cdt/group__dispatcher.js @@ -0,0 +1,6 @@ +var group__dispatcher = +[ + [ "EOSIO_DISPATCH", "group__dispatcher_ga4c40fe6c9aa739424885e20ed613e545.html#ga4c40fe6c9aa739424885e20ed613e545", null ], + [ "eosio::dispatch", "group__dispatcher_ga289285490058d17de4a6a052b52dd680.html#ga289285490058d17de4a6a052b52dd680", null ], + [ "eosio::execute_action", "group__dispatcher_ga8c4928c29096799ef6ddabf148dc9cf9.html#ga8c4928c29096799ef6ddabf148dc9cf9", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__dispatcher_ga289285490058d17de4a6a052b52dd680.html b/docs/cdt/group__dispatcher_ga289285490058d17de4a6a052b52dd680.html new file mode 100644 index 000000000..c9b8a87db --- /dev/null +++ b/docs/cdt/group__dispatcher_ga289285490058d17de4a6a052b52dd680.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::dispatch + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ dispatch()

+ +
+
+
+template<typename Contract , typename FirstAction , typename SecondAction , typename... Actions>
+ + + + + + + + + + + + + + + + + + +
bool eosio::dispatch (uint64_t code,
uint64_t act 
)
+
+

Динамически направляет входящие действия к обработчикам вида

+
static Contract::on( ActionType )
+

Контракт, принимающий действия, должен наследовать eosio::contract

+ +

См. определение в файле dispatcher.hpp строка 42

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__dispatcher_ga4c40fe6c9aa739424885e20ed613e545.html b/docs/cdt/group__dispatcher_ga4c40fe6c9aa739424885e20ed613e545.html new file mode 100644 index 000000000..4615d995d --- /dev/null +++ b/docs/cdt/group__dispatcher_ga4c40fe6c9aa739424885e20ed613e545.html @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + +CDT: EOSIO_DISPATCH + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ EOSIO_DISPATCH

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define EOSIO_DISPATCH( TYPE,
 MEMBERS 
)
+
+Макроопределение:
extern "C" { \
+
[[eosio::wasm_entry]] \
+
void apply( uint64_t receiver, uint64_t code, uint64_t action ) { \
+
if( code == receiver ) { \
+
switch( action ) { \
+
EOSIO_DISPATCH_HELPER( TYPE, MEMBERS ) \
+
} \
+
/* does not allow destructor of thiscontract to run: eosio_exit(0); */ \
+
} \
+
} \
+
} \
+

Удобный макрос для создания обработчика apply контракта

+
Заметки
Чтобы использовать макрос, класс контракта должен наследовать eosio::contract
+
Аргументы
+ + + +
TYPE— имя класса контракта
MEMBERS— последовательность поддерживаемых действий контракта
+
+
+

Пример:

EOSIO_DISPATCH( eosio::bios, (setpriv)(setalimits)(setglimits)(setprods)(reqauth) )
+
+

См. определение в файле dispatcher.hpp строка 120

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__dispatcher_ga8c4928c29096799ef6ddabf148dc9cf9.html b/docs/cdt/group__dispatcher_ga8c4928c29096799ef6ddabf148dc9cf9.html new file mode 100644 index 000000000..df1286307 --- /dev/null +++ b/docs/cdt/group__dispatcher_ga8c4928c29096799ef6ddabf148dc9cf9.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::execute_action + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ execute_action()

+ +
+
+
+template<typename T , typename... Args>
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool eosio::execute_action (name self,
name code,
void(T::*)(Args...) func 
)
+
+

Распаковывает полученное действие и вызывает соответствующий обработчик

+
Параметры шаблона
+ + + +
T— класс контракта с обработчиком действия; должен наследовать eosio::contract
Args— типы аргументов обработчика (поля действия)
+
+
+
Аргументы
+ + + + +
self— имя, передаваемое в конструктор экземпляра контракта
code— код, передаваемый в конструктор экземпляра контракта
func— указатель на метод-обработчик действия
+
+
+
Возвращает
true — если действие распаковано и обработчик вызван
+ +

См. определение в файле dispatcher.hpp строка 65

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__fixed__bytes.html b/docs/cdt/group__fixed__bytes.html new file mode 100644 index 000000000..438b340b9 --- /dev/null +++ b/docs/cdt/group__fixed__bytes.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + +CDT: Массив байт фиксированного размера + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Массив байт фиксированного размера
+
+
+ +

Массив байт фиксированного размера с лексикографическим упорядочиванием +Подробнее...

+ + + + +

+Классы

class  eosio::fixed_bytes< Size >
 
+

Подробное описание

+

Массив байт фиксированного размера с лексикографическим упорядочиванием

+
+
+ + + + + + diff --git a/docs/cdt/group__fixed__bytes.js b/docs/cdt/group__fixed__bytes.js new file mode 100644 index 000000000..0b230d87d --- /dev/null +++ b/docs/cdt/group__fixed__bytes.js @@ -0,0 +1,15 @@ +var group__fixed__bytes = +[ + [ "eosio::fixed_bytes< Size >", "classeosio_1_1fixed__bytes.html", [ + [ "word_t", "classeosio_1_1fixed__bytes_a33cae440afac79b5a925ac1eab43d41b.html#a33cae440afac79b5a925ac1eab43d41b", null ], + [ "fixed_bytes", "classeosio_1_1fixed__bytes_abb272f4e962fa15dd78633053bb63d31.html#abb272f4e962fa15dd78633053bb63d31", null ], + [ "fixed_bytes", "classeosio_1_1fixed__bytes_ad2ca84b3f4fcc67b99e6f7731825789d.html#ad2ca84b3f4fcc67b99e6f7731825789d", null ], + [ "fixed_bytes", "classeosio_1_1fixed__bytes_a6d082b4eb4541d6b311849939b5a6ea5.html#a6d082b4eb4541d6b311849939b5a6ea5", null ], + [ "fixed_bytes", "classeosio_1_1fixed__bytes_abdc3879046e86eaaf6e867bce216a5fd.html#abdc3879046e86eaaf6e867bce216a5fd", null ], + [ "data", "classeosio_1_1fixed__bytes_a08cee20b3d10e105992a915b35721eb7.html#a08cee20b3d10e105992a915b35721eb7", null ], + [ "extract_as_byte_array", "classeosio_1_1fixed__bytes_a59c51be9c3779cd907b33af7d41d1d4c.html#a59c51be9c3779cd907b33af7d41d1d4c", null ], + [ "get_array", "classeosio_1_1fixed__bytes_ac24c51c323af1034b5453fb5f117051f.html#ac24c51c323af1034b5453fb5f117051f", null ], + [ "print", "classeosio_1_1fixed__bytes_afeaa78eb715d55b40c00e4c542de64db.html#afeaa78eb715d55b40c00e4c542de64db", null ], + [ "size", "classeosio_1_1fixed__bytes_ac2d8051c8675cda490ae406ca35cdea4.html#ac2d8051c8675cda490ae406ca35cdea4", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/cdt/group__ignore.html b/docs/cdt/group__ignore.html new file mode 100644 index 000000000..3801ca4bb --- /dev/null +++ b/docs/cdt/group__ignore.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + +CDT: Игнорирование типа + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Игнорирование типа
+
+
+ +

Указывает datastream игнорировать этот тип, сохраняя корректный тип для генератора ABI. +Подробнее...

+ + + + +

+Классы

struct  eosio::ignore< T >
 
+

Подробное описание

+

Указывает datastream игнорировать этот тип, сохраняя корректный тип для генератора ABI.

+
+
+ + + + + + diff --git a/docs/cdt/group__ignore.js b/docs/cdt/group__ignore.js new file mode 100644 index 000000000..2a1969bc1 --- /dev/null +++ b/docs/cdt/group__ignore.js @@ -0,0 +1,4 @@ +var group__ignore = +[ + [ "eosio::ignore< T >", "structeosio_1_1ignore.html", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__multiindex.html b/docs/cdt/group__multiindex.html new file mode 100644 index 000000000..0e39455f1 --- /dev/null +++ b/docs/cdt/group__multiindex.html @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + +CDT: Многоиндексная таблица (Multi Index) + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Многоиндексная таблица (Multi Index)
+
+
+ + + + + + + +

+Классы

struct  eosio::indexed_by< IndexName, Extractor >
 
class  eosio::multi_index< TableName, T, Indices >
 Определяет многоиндексную таблицу COOPOS (Multi Index Table) Подробнее...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Функции

 eosio::multi_index< TableName, T, Indices >::multi_index (name code, uint64_t scope)
 load_object_by_primary_iterator Подробнее...
 
name eosio::multi_index< TableName, T, Indices >::get_code () const
 
uint64_t eosio::multi_index< TableName, T, Indices >::get_scope () const
 
const_iterator eosio::multi_index< TableName, T, Indices >::cbegin () const
 
const_iterator eosio::multi_index< TableName, T, Indices >::begin () const
 
const_iterator eosio::multi_index< TableName, T, Indices >::cend () const
 
const_iterator eosio::multi_index< TableName, T, Indices >::end () const
 
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::crbegin () const
 
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::rbegin () const
 
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::crend () const
 
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::rend () const
 
template<typename PK >
const_iterator eosio::multi_index< TableName, T, Indices >::lower_bound (PK primary) const
 
template<typename PK >
const_iterator eosio::multi_index< TableName, T, Indices >::upper_bound (PK primary) const
 
uint64_t eosio::multi_index< TableName, T, Indices >::available_primary_key () const
 
template<name::raw IndexName>
auto eosio::multi_index< TableName, T, Indices >::get_index ()
 
template<name::raw IndexName>
auto eosio::multi_index< TableName, T, Indices >::get_index () const
 
const_iterator eosio::multi_index< TableName, T, Indices >::iterator_to (const T &obj) const
 
template<typename Lambda >
const_iterator eosio::multi_index< TableName, T, Indices >::emplace (name payer, Lambda &&constructor)
 
template<typename Lambda >
void eosio::multi_index< TableName, T, Indices >::modify (const_iterator itr, name payer, Lambda &&updater)
 
template<typename Lambda >
void eosio::multi_index< TableName, T, Indices >::modify (const T &obj, name payer, Lambda &&updater)
 
template<typename PK >
const T & eosio::multi_index< TableName, T, Indices >::get (PK primary, const char *error_msg="unable to find key") const
 
template<typename PK >
const_iterator eosio::multi_index< TableName, T, Indices >::find (PK primary) const
 
template<typename PK >
const_iterator eosio::multi_index< TableName, T, Indices >::require_find (PK primary, const char *error_msg="unable to find key") const
 
const_iterator eosio::multi_index< TableName, T, Indices >::erase (const_iterator itr)
 
void eosio::multi_index< TableName, T, Indices >::erase (const T &obj)
 
+

Подробное описание

+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex.js b/docs/cdt/group__multiindex.js new file mode 100644 index 000000000..cdadffcd5 --- /dev/null +++ b/docs/cdt/group__multiindex.js @@ -0,0 +1,73 @@ +var group__multiindex = +[ + [ "eosio::indexed_by< IndexName, Extractor >", "structeosio_1_1indexed__by.html", [ + [ "secondary_extractor_type", "structeosio_1_1indexed__by_affd7e285b6b9435c7c2b0104a14b5791.html#affd7e285b6b9435c7c2b0104a14b5791", null ], + [ "constants", "structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html#ad04dd8d771430edeb499c9d03bc9bb60", [ + [ "index_name", "structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html#ad04dd8d771430edeb499c9d03bc9bb60a4645263158ffe7d237fda11ac37aea05", null ] + ] ] + ] ], + [ "eosio::multi_index< TableName, T, Indices >", "classeosio_1_1multi__index.html", [ + [ "const_iterator", "structeosio_1_1multi__index_1_1const__iterator.html", [ + [ "operator*", "structeosio_1_1multi__index_1_1const__iterator_af26c82fdb30dc0e6b3b1a51c60665fc7.html#af26c82fdb30dc0e6b3b1a51c60665fc7", null ], + [ "operator++", "structeosio_1_1multi__index_1_1const__iterator_a829330bb82ce769116465eb450a34249.html#a829330bb82ce769116465eb450a34249", null ], + [ "operator++", "structeosio_1_1multi__index_1_1const__iterator_a751d1e7eedadb5b3033cedc6f8e8078e.html#a751d1e7eedadb5b3033cedc6f8e8078e", null ], + [ "operator--", "structeosio_1_1multi__index_1_1const__iterator_aa838b30a0fa169a6a507ef8fa725f7bd.html#aa838b30a0fa169a6a507ef8fa725f7bd", null ], + [ "operator--", "structeosio_1_1multi__index_1_1const__iterator_a3a0faabfa94970b0d94d9b2977c69f43.html#a3a0faabfa94970b0d94d9b2977c69f43", null ], + [ "operator->", "structeosio_1_1multi__index_1_1const__iterator_a3ed82524c8a4f576a2f472b30f1fec6e.html#a3ed82524c8a4f576a2f472b30f1fec6e", null ], + [ "multi_index", "structeosio_1_1multi__index_1_1const__iterator_a474ad2ee1333aa717a29bb55a9d5fc44.html#a474ad2ee1333aa717a29bb55a9d5fc44", null ], + [ "operator!=", "structeosio_1_1multi__index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html#a5fbca5b71055f2b793ae1607239b13a0", null ], + [ "operator==", "structeosio_1_1multi__index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html#ab0ac7de651351823aece097eb3be1cfb", null ] + ] ], + [ "const_reverse_iterator", "classeosio_1_1multi__index_ab46b850d4d0d3da39cd96e77ec10c51e.html#ab46b850d4d0d3da39cd96e77ec10c51e", null ], + [ "multi_index", "group__multiindex_gaa081f69f6fa288869d1d5881f0be04dd.html#gaa081f69f6fa288869d1d5881f0be04dd", null ], + [ "available_primary_key", "group__multiindex_ga1b2d26324eb34354f5db2abcf2d87853.html#ga1b2d26324eb34354f5db2abcf2d87853", null ], + [ "begin", "group__multiindex_ga060b08a9da300e3a4ab669b35f07c9bc.html#ga060b08a9da300e3a4ab669b35f07c9bc", null ], + [ "cbegin", "group__multiindex_ga36ad6b1c1013b6f753660b334de96aef.html#ga36ad6b1c1013b6f753660b334de96aef", null ], + [ "cend", "group__multiindex_gaece639944fa9031debbd984bbd42485a.html#gaece639944fa9031debbd984bbd42485a", null ], + [ "crbegin", "group__multiindex_gabe296816f75cdb69e6698724e7b0c29d.html#gabe296816f75cdb69e6698724e7b0c29d", null ], + [ "crend", "group__multiindex_ga6ce680bcec3a391e0ad89a1cd1143231.html#ga6ce680bcec3a391e0ad89a1cd1143231", null ], + [ "emplace", "group__multiindex_gab64fbf4dd04be357ec0cbbf125a3da5e.html#gab64fbf4dd04be357ec0cbbf125a3da5e", null ], + [ "end", "group__multiindex_ga748fcb4d6a08962ad8a7c92da359e3d7.html#ga748fcb4d6a08962ad8a7c92da359e3d7", null ], + [ "erase", "group__multiindex_gac5f84064eacb4265ad44f15cecebb4be.html#gac5f84064eacb4265ad44f15cecebb4be", null ], + [ "erase", "group__multiindex_gad28ac8d91e9af22cbbc12962a805d253.html#gad28ac8d91e9af22cbbc12962a805d253", null ], + [ "find", "group__multiindex_ga93e51f6a53639f1a45c352f67f5ba3ae.html#ga93e51f6a53639f1a45c352f67f5ba3ae", null ], + [ "get", "group__multiindex_ga02c39a16f0ff568d297f25eb7ed88ac3.html#ga02c39a16f0ff568d297f25eb7ed88ac3", null ], + [ "get_code", "group__multiindex_ga6ef0fb806ad6edf50b670a115fc3d5a1.html#ga6ef0fb806ad6edf50b670a115fc3d5a1", null ], + [ "get_index", "group__multiindex_ga98fecc3166ebb3746ee810f7f7d9beac.html#ga98fecc3166ebb3746ee810f7f7d9beac", null ], + [ "get_index", "group__multiindex_gae6e01877b9862c8193df27f05c305f2c.html#gae6e01877b9862c8193df27f05c305f2c", null ], + [ "get_scope", "group__multiindex_ga0690e9e9a30254240fa0cb6bb12bebf3.html#ga0690e9e9a30254240fa0cb6bb12bebf3", null ], + [ "iterator_to", "group__multiindex_gad611e3ff51efdf038b934138d071cf83.html#gad611e3ff51efdf038b934138d071cf83", null ], + [ "lower_bound", "group__multiindex_ga40c5a0709cff9dbeb7d9e79738d43f53.html#ga40c5a0709cff9dbeb7d9e79738d43f53", null ], + [ "modify", "group__multiindex_gab44fb8b993970f1b3b7ac5f37cd2d2c9.html#gab44fb8b993970f1b3b7ac5f37cd2d2c9", null ], + [ "modify", "group__multiindex_ga4b3556ef69c7faa917f185ae33a34442.html#ga4b3556ef69c7faa917f185ae33a34442", null ], + [ "rbegin", "group__multiindex_gacdc14cc71a43489507341d2709696e7d.html#gacdc14cc71a43489507341d2709696e7d", null ], + [ "rend", "group__multiindex_ga659b2744975d0a54162c44fbcbc28115.html#ga659b2744975d0a54162c44fbcbc28115", null ], + [ "require_find", "group__multiindex_ga50321aa0c8fbdc67768d421950c2ee14.html#ga50321aa0c8fbdc67768d421950c2ee14", null ], + [ "upper_bound", "group__multiindex_ga0170e32a35c3760661784c229d3a9b1a.html#ga0170e32a35c3760661784c229d3a9b1a", null ] + ] ], + [ "eosio::multi_index::available_primary_key", "group__multiindex_ga1b2d26324eb34354f5db2abcf2d87853.html#ga1b2d26324eb34354f5db2abcf2d87853", null ], + [ "eosio::multi_index::begin", "group__multiindex_ga060b08a9da300e3a4ab669b35f07c9bc.html#ga060b08a9da300e3a4ab669b35f07c9bc", null ], + [ "eosio::multi_index::cbegin", "group__multiindex_ga36ad6b1c1013b6f753660b334de96aef.html#ga36ad6b1c1013b6f753660b334de96aef", null ], + [ "eosio::multi_index::cend", "group__multiindex_gaece639944fa9031debbd984bbd42485a.html#gaece639944fa9031debbd984bbd42485a", null ], + [ "eosio::multi_index::crbegin", "group__multiindex_gabe296816f75cdb69e6698724e7b0c29d.html#gabe296816f75cdb69e6698724e7b0c29d", null ], + [ "eosio::multi_index::crend", "group__multiindex_ga6ce680bcec3a391e0ad89a1cd1143231.html#ga6ce680bcec3a391e0ad89a1cd1143231", null ], + [ "eosio::multi_index::emplace", "group__multiindex_gab64fbf4dd04be357ec0cbbf125a3da5e.html#gab64fbf4dd04be357ec0cbbf125a3da5e", null ], + [ "eosio::multi_index::end", "group__multiindex_ga748fcb4d6a08962ad8a7c92da359e3d7.html#ga748fcb4d6a08962ad8a7c92da359e3d7", null ], + [ "eosio::multi_index::erase", "group__multiindex_gac5f84064eacb4265ad44f15cecebb4be.html#gac5f84064eacb4265ad44f15cecebb4be", null ], + [ "eosio::multi_index::erase", "group__multiindex_gad28ac8d91e9af22cbbc12962a805d253.html#gad28ac8d91e9af22cbbc12962a805d253", null ], + [ "eosio::multi_index::find", "group__multiindex_ga93e51f6a53639f1a45c352f67f5ba3ae.html#ga93e51f6a53639f1a45c352f67f5ba3ae", null ], + [ "eosio::multi_index::get", "group__multiindex_ga02c39a16f0ff568d297f25eb7ed88ac3.html#ga02c39a16f0ff568d297f25eb7ed88ac3", null ], + [ "eosio::multi_index::get_code", "group__multiindex_ga6ef0fb806ad6edf50b670a115fc3d5a1.html#ga6ef0fb806ad6edf50b670a115fc3d5a1", null ], + [ "eosio::multi_index::get_index", "group__multiindex_ga98fecc3166ebb3746ee810f7f7d9beac.html#ga98fecc3166ebb3746ee810f7f7d9beac", null ], + [ "eosio::multi_index::get_index", "group__multiindex_gae6e01877b9862c8193df27f05c305f2c.html#gae6e01877b9862c8193df27f05c305f2c", null ], + [ "eosio::multi_index::get_scope", "group__multiindex_ga0690e9e9a30254240fa0cb6bb12bebf3.html#ga0690e9e9a30254240fa0cb6bb12bebf3", null ], + [ "eosio::multi_index::iterator_to", "group__multiindex_gad611e3ff51efdf038b934138d071cf83.html#gad611e3ff51efdf038b934138d071cf83", null ], + [ "eosio::multi_index::lower_bound", "group__multiindex_ga40c5a0709cff9dbeb7d9e79738d43f53.html#ga40c5a0709cff9dbeb7d9e79738d43f53", null ], + [ "eosio::multi_index::modify", "group__multiindex_gab44fb8b993970f1b3b7ac5f37cd2d2c9.html#gab44fb8b993970f1b3b7ac5f37cd2d2c9", null ], + [ "eosio::multi_index::modify", "group__multiindex_ga4b3556ef69c7faa917f185ae33a34442.html#ga4b3556ef69c7faa917f185ae33a34442", null ], + [ "eosio::multi_index::multi_index", "group__multiindex_gaa081f69f6fa288869d1d5881f0be04dd.html#gaa081f69f6fa288869d1d5881f0be04dd", null ], + [ "eosio::multi_index::rbegin", "group__multiindex_gacdc14cc71a43489507341d2709696e7d.html#gacdc14cc71a43489507341d2709696e7d", null ], + [ "eosio::multi_index::rend", "group__multiindex_ga659b2744975d0a54162c44fbcbc28115.html#ga659b2744975d0a54162c44fbcbc28115", null ], + [ "eosio::multi_index::require_find", "group__multiindex_ga50321aa0c8fbdc67768d421950c2ee14.html#ga50321aa0c8fbdc67768d421950c2ee14", null ], + [ "eosio::multi_index::upper_bound", "group__multiindex_ga0170e32a35c3760661784c229d3a9b1a.html#ga0170e32a35c3760661784c229d3a9b1a", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__multiindex_ga0170e32a35c3760661784c229d3a9b1a.html b/docs/cdt/group__multiindex_ga0170e32a35c3760661784c229d3a9b1a.html new file mode 100644 index 000000000..3a7031da5 --- /dev/null +++ b/docs/cdt/group__multiindex_ga0170e32a35c3760661784c229d3a9b1a.html @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::upper_bound + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ upper_bound()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+
+template<typename PK >
+ + + + + +
+ + + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::upper_bound (PK primary) const
+
+inline
+
+

Ищет объект с наименьшим первичным ключом, строго большим заданного первичного ключа.

+
Аргументы
+ + +
primary— первичный ключ, задающий целевое значение для поиска верхней границы
+
+
+
Возвращает
Итератор на объект с наименьшим первичным ключом, большим primary. Если объект не найден или таблицы нет**, возвращается итератор end.
+

Пример:

+
// This assumes the code from the get_index() example below. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
// add additional account - brendan
+
+
addresses.emplace(payer, [&](auto& address) {
+
address.account_name = "brendan"_n;
+
address.first_name = "Brendan";
+
address.last_name = "Blumer";
+
address.street = "1 EOS Way";
+
address.city = "Hong Kong";
+
address.state = "HK";
+
address.zip = 93445;
+
});
+
uint32_t zipnumb = 93445;
+
auto zip_index = addresses.get_index<name("zip")>();
+
auto itr = zip_index.upper_bound(zipnumb);
+
eosio::check(itr->account_name == name("dan"), "Lock arf, Incorrect First Upper Bound Record ");
+
itr++;
+
eosio::check(itr == zip_index.end(), "Lock arf, Incorrect End of Iterator");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1327

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga02c39a16f0ff568d297f25eb7ed88ac3.html b/docs/cdt/group__multiindex_ga02c39a16f0ff568d297f25eb7ed88ac3.html new file mode 100644 index 000000000..7b5740764 --- /dev/null +++ b/docs/cdt/group__multiindex_ga02c39a16f0ff568d297f25eb7ed88ac3.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::get + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+
+template<typename PK >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
const T & eosio::multi_index< TableName, T, Indices >::get (PK primary,
const char * error_msg = "unable to find key" 
) const
+
+inline
+
+

Извлекает существующий объект из таблицы по первичному ключу.

+
Аргументы
+ + +
primary— значение первичного ключа объекта
+
+
+
Возвращает
Константная ссылка на объект с указанным первичным ключом
+

Исключение — нет объекта с данным ключом

+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example
+
// add dan account to table - see emplace example
+
+
auto& user = addresses.get("dan"_n);
+
eosio::check(user.first_name == "Daniel", "Couldn't get him.");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+

Предупреждение:

+

Избегайте присвоения возвращённой ссылки T& локальной переменной на стеке и передачи её в modify многоиндексной таблицы. Частая ошибка — объявить локальную переменную как auto без ссылки; нужно auto& или decltype(auto).

+ +

См. определение в файле multi_index.hpp строка 1788

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga060b08a9da300e3a4ab669b35f07c9bc.html b/docs/cdt/group__multiindex_ga060b08a9da300e3a4ab669b35f07c9bc.html new file mode 100644 index 000000000..aa5f5cef7 --- /dev/null +++ b/docs/cdt/group__multiindex_ga060b08a9da300e3a4ab669b35f07c9bc.html @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::begin + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ begin()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::begin () const
+
+inline
+
+

Возвращает итератор на объект с наименьшим значением первичного ключа в многоиндексной таблице.

+
Возвращает
Итератор на объект с наименьшим первичным ключом в многоиндексной таблице.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
+
auto itr = addresses.find("dan"_n);
+
eosio::check(itr == addresses.begin(), "Only address is not at front.");
+
}
+
}
+
EOSIO_ABI( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1049

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga0690e9e9a30254240fa0cb6bb12bebf3.html b/docs/cdt/group__multiindex_ga0690e9e9a30254240fa0cb6bb12bebf3.html new file mode 100644 index 000000000..cac3c3f06 --- /dev/null +++ b/docs/cdt/group__multiindex_ga0690e9e9a30254240fa0cb6bb12bebf3.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::get_scope + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_scope()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
uint64_t eosio::multi_index< TableName, T, Indices >::get_scope () const
+
+inline
+
+

Возвращает свойство-член scope.

+
Возвращает
Идентификатор области (scope) в коде текущего получателя, под которым находится нужный экземпляр первичной таблицы.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
address_index addresses("dan"_n, "dan"_n.value); // code, scope
+
eosio::check(addresses.get_scope() == "dan"_n.value, "Scopes don't match");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 936

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga1b2d26324eb34354f5db2abcf2d87853.html b/docs/cdt/group__multiindex_ga1b2d26324eb34354f5db2abcf2d87853.html new file mode 100644 index 000000000..4e3b80852 --- /dev/null +++ b/docs/cdt/group__multiindex_ga1b2d26324eb34354f5db2abcf2d87853.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::available_primary_key + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ available_primary_key()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
uint64_t eosio::multi_index< TableName, T, Indices >::available_primary_key () const
+
+inline
+
+

Возвращает свободный первичный ключ.

+
Возвращает
Доступное (неиспользованное) значение первичного ключа.
+

Замечания: Предназначено для таблиц, где первичные ключи строго автоинкрементируются и контракт никогда не задаёт произвольные значения. Нарушение этого ожидания может привести к тому, что таблица будет казаться заполненной из‑за невозможности выделить свободный первичный ключ. В идеале метод используют только для выбора первичного ключа новых строк в таблицах, изначально рассчитанных на автоинкремент без произвольных значений со стороны контракта. Нарушение этого соглашения может дать ложное ощущение переполнения при наличии свободного места.

+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
address_index addresses(_self, _self.value); // code, scope
+
// add to table, first argument is account to bill for storage
+
addresses.emplace(payer, [&](auto& address) {
+
address.key = addresses.available_primary_key();
+
address.first_name = "Daniel";
+
address.last_name = "Larimer";
+
address.street = "1 EOS Way";
+
address.city = "Blacksburg";
+
address.state = "VA";
+
});
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1366

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga36ad6b1c1013b6f753660b334de96aef.html b/docs/cdt/group__multiindex_ga36ad6b1c1013b6f753660b334de96aef.html new file mode 100644 index 000000000..a6cbcb52d --- /dev/null +++ b/docs/cdt/group__multiindex_ga36ad6b1c1013b6f753660b334de96aef.html @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::cbegin + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ cbegin()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::cbegin () const
+
+inline
+
+

Возвращает итератор на объект с наименьшим значением первичного ключа в многоиндексной таблице.

+
Возвращает
Итератор на объект с наименьшим первичным ключом в многоиндексной таблице.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
+
auto itr = addresses.find("dan"_n);
+
eosio::check(itr == addresses.cbegin(), "Only address is not at front.");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1023

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga40c5a0709cff9dbeb7d9e79738d43f53.html b/docs/cdt/group__multiindex_ga40c5a0709cff9dbeb7d9e79738d43f53.html new file mode 100644 index 000000000..c05421e98 --- /dev/null +++ b/docs/cdt/group__multiindex_ga40c5a0709cff9dbeb7d9e79738d43f53.html @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::lower_bound + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ lower_bound()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+
+template<typename PK >
+ + + + + +
+ + + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::lower_bound (PK primary) const
+
+inline
+
+

Ищет объект с наименьшим первичным ключом, который больше или равен заданному первичному ключу.

+
Аргументы
+ + +
primary— первичный ключ, задающий целевое значение для поиска нижней границы
+
+
+
Возвращает
Итератор на объект с наименьшим первичным ключом ≥ primary. Если объект не найден или таблицы нет**, возвращается итератор end.
+

Пример:

+
// This assumes the code from the get_index() example below. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
// add additional account - brendan
+
+
addresses.emplace(payer, [&](auto& address) {
+
address.account_name = "brendan"_n;
+
address.first_name = "Brendan";
+
address.last_name = "Blumer";
+
address.street = "1 EOS Way";
+
address.city = "Hong Kong";
+
address.state = "HK";
+
address.zip = 93445;
+
});
+
uint32_t zipnumb = 93445;
+
auto zip_index = addresses.get_index<name("zip")>();
+
auto itr = zip_index.lower_bound(zipnumb);
+
eosio::check(itr->account_name == name("brendan"), "Lock arf, Incorrect First Lower Bound Record ");
+
itr++;
+
eosio::check(itr->account_name == name("dan"), "Lock arf, Incorrect Second Lower Bound Record");
+
itr++;
+
eosio::check(itr == zip_index.end(), "Lock arf, Incorrect End of Iterator");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1281

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga4b3556ef69c7faa917f185ae33a34442.html b/docs/cdt/group__multiindex_ga4b3556ef69c7faa917f185ae33a34442.html new file mode 100644 index 000000000..035fa95ee --- /dev/null +++ b/docs/cdt/group__multiindex_ga4b3556ef69c7faa917f185ae33a34442.html @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::modify + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ modify() [2/2]

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+
+template<typename Lambda >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::multi_index< TableName, T, Indices >::modify (const_iterator itr,
name payer,
Lambda && updater 
)
+
+inline
+
+

Изменяет существующий объект в таблице.

+
Аргументы
+ + + + +
itr— итератор на обновляемый объект
payer— имя аккаунта-плательщика за хранение обновлённой строки
updater— лямбда, обновляющая целевой объект
+
+
+
Предусловие
itr указывает на существующий элемент
+
+payer — действительный аккаунт, уполномоченный выполнять действие и оплачивать хранение
+
Постусловие
Изменённый объект сериализуется и заменяет прежний в таблице.
+
+Вторичные индексы обновлены; первичный ключ объекта не меняется.
+
+С плательщика взимается хранение обновлённого объекта.
+
+Если payer совпадает с прежним плательщиком, списывается только разница объёма хранения (при отрицательной разнице — возврат).
+
+Если payer другой, прежнему плательщику возвращается стоимость хранения старого объекта.
+

Исключения: При нарушении предусловий выполнение прерывается.

+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example
+
// add dan account to table - see emplace example
+
+
auto itr = addresses.find("dan"_n);
+
eosio::check(itr != addresses.end(), "Address for account not found");
+
addresses.modify( itr, account payer, [&]( auto& address ) {
+
address.city = "San Luis Obispo";
+
address.state = "CA";
+
});
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1657

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga50321aa0c8fbdc67768d421950c2ee14.html b/docs/cdt/group__multiindex_ga50321aa0c8fbdc67768d421950c2ee14.html new file mode 100644 index 000000000..d7e7c0bea --- /dev/null +++ b/docs/cdt/group__multiindex_ga50321aa0c8fbdc67768d421950c2ee14.html @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::require_find + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ require_find()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+
+template<typename PK >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::require_find (PK primary,
const char * error_msg = "unable to find key" 
) const
+
+inline
+
+

Ищет существующий объект в таблице по первичному ключу.

+
Аргументы
+ + + +
primary— значение первичного ключа объекта
error_msg— сообщение об ошибке, если объекта с ключом primary нет
+
+
+
Возвращает
Итератор на объект с первичным ключом primary либо выброс исключения, если объекта нет
+ +

См. определение в файле multi_index.hpp строка 1843

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga659b2744975d0a54162c44fbcbc28115.html b/docs/cdt/group__multiindex_ga659b2744975d0a54162c44fbcbc28115.html new file mode 100644 index 000000000..fdf5902b4 --- /dev/null +++ b/docs/cdt/group__multiindex_ga659b2744975d0a54162c44fbcbc28115.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::rend + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ rend()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::rend () const
+
+inline
+
+

Возвращает итератор на объект с наименьшим первичным ключом в многоиндексной таблице.

+
Возвращает
Итератор на объект с наименьшим первичным ключом в многоиндексной таблице.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
// add additional account - brendan
+
+
addresses.emplace(payer, [&](auto& address) {
+
address.account_name = "brendan"_n;
+
address.first_name = "Brendan";
+
address.last_name = "Blumer";
+
address.street = "1 EOS Way";
+
address.city = "Hong Kong";
+
address.state = "HK";
+
});
+
auto itr = addresses.rend();
+
itr--;
+
eosio::check(itr->account_name == name("brendan"), "Lock arf, Incorrect First Record ");
+
itr--;
+
eosio::check(itr->account_name == name("dan"), "Lock arf, Incorrect Second Record");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1239

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga6ce680bcec3a391e0ad89a1cd1143231.html b/docs/cdt/group__multiindex_ga6ce680bcec3a391e0ad89a1cd1143231.html new file mode 100644 index 000000000..bf7c2cadf --- /dev/null +++ b/docs/cdt/group__multiindex_ga6ce680bcec3a391e0ad89a1cd1143231.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::crend + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ crend()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::crend () const
+
+inline
+
+

Возвращает итератор на объект с наименьшим первичным ключом в многоиндексной таблице.

+
Возвращает
Итератор на объект с наименьшим первичным ключом в многоиндексной таблице.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
// add additional account - brendan
+
+
addresses.emplace(payer, [&](auto& address) {
+
address.account_name = "brendan"_n;
+
address.first_name = "Brendan";
+
address.last_name = "Blumer";
+
address.street = "1 EOS Way";
+
address.city = "Hong Kong";
+
address.state = "HK";
+
});
+
auto itr = addresses.crend();
+
itr--;
+
eosio::check(itr->account_name == name("brendan"), "Lock arf, Incorrect First Record ");
+
itr--;
+
eosio::check(itr->account_name == name("dan"), "Lock arf, Incorrect Second Record");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1203

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga6ef0fb806ad6edf50b670a115fc3d5a1.html b/docs/cdt/group__multiindex_ga6ef0fb806ad6edf50b670a115fc3d5a1.html new file mode 100644 index 000000000..d8a059937 --- /dev/null +++ b/docs/cdt/group__multiindex_ga6ef0fb806ad6edf50b670a115fc3d5a1.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::get_code + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_code()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
name eosio::multi_index< TableName, T, Indices >::get_code () const
+
+inline
+
+

Возвращает свойство-член code.

+
Возвращает
Имя аккаунта кода, которому принадлежит первичная таблица.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
address_index addresses("dan"_n, "dan"_n.value); // code, scope
+
eosio::check(addresses.get_code() == "dan"_n, "Codes don't match.");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 915

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga748fcb4d6a08962ad8a7c92da359e3d7.html b/docs/cdt/group__multiindex_ga748fcb4d6a08962ad8a7c92da359e3d7.html new file mode 100644 index 000000000..0931f4e99 --- /dev/null +++ b/docs/cdt/group__multiindex_ga748fcb4d6a08962ad8a7c92da359e3d7.html @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::end + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ end()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::end () const
+
+inline
+
+

Возвращает итератор на элемент «после последнего» в контейнере multi_index. Такой элемент — теоретический следующий за последним; на реальный объект не указывает и разыменовывать его нельзя.

+
Возвращает
Итератор на позицию «после последнего» в контейнере multi_index.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
+
auto itr = addresses.find("dan"_n);
+
eosio::check(itr != addresses.end(), "Address for account doesn't exist");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1097

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga93e51f6a53639f1a45c352f67f5ba3ae.html b/docs/cdt/group__multiindex_ga93e51f6a53639f1a45c352f67f5ba3ae.html new file mode 100644 index 000000000..60a2ac614 --- /dev/null +++ b/docs/cdt/group__multiindex_ga93e51f6a53639f1a45c352f67f5ba3ae.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::find + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ find()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+
+template<typename PK >
+ + + + + +
+ + + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::find (PK primary) const
+
+inline
+
+

Ищет существующий объект в таблице по первичному ключу.

+
Аргументы
+ + +
primary— значение первичного ключа объекта
+
+
+
Возвращает
Итератор на найденный объект с первичным ключом primary либо итератор end, если объекта с ключом primary нет.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example
+
// add dan account to table - see emplace example
+
+
auto itr = addresses.find("dan"_n);
+
eosio::check(itr != addresses.end(), "Couldn't get him.");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1818

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_ga98fecc3166ebb3746ee810f7f7d9beac.html b/docs/cdt/group__multiindex_ga98fecc3166ebb3746ee810f7f7d9beac.html new file mode 100644 index 000000000..feb073215 --- /dev/null +++ b/docs/cdt/group__multiindex_ga98fecc3166ebb3746ee810f7f7d9beac.html @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::get_index + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_index() [1/2]

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+
+template<name::raw IndexName>
+ + + + + +
+ + + + + + + +
auto eosio::multi_index< TableName, T, Indices >::get_index ()
+
+inline
+
+

Возвращает вторичный индекс нужного типа.

+
Параметры шаблона
+ + +
IndexName— идентификатор нужного вторичного индекса
+
+
+
Возвращает
Индекс соответствующего типа: 64-битный беззнаковый целочисленный ключ (idx64), 128-битный беззнаковый целочисленный ключ (idx128), 128-битный ключ фиксированной длины в лексикографическом порядке (idx128), 256-битный ключ фиксированной длины (idx256), ключ с плавающей точкой, ключ double, ключ long double (четверная точность)
+

Пример:

+
#include <eosiolib/eosio.hpp>
+
using namespace eosio;
+
using namespace std;
+
class addressbook: contract {
+
struct address {
+
uint64_t account_name;
+
string first_name;
+
string last_name;
+
string street;
+
string city;
+
string state;
+
uint32_t zip = 0;
+
uint64_t primary_key() const { return account_name; }
+
uint64_t by_zip() const { return zip; }
+
};
+
public:
+
addressbook(name receiver, name code, datastream<const char*> ds):contract(receiver, code, ds) {}
+
typedef eosio::multi_index< name("address"), address, indexed_by< name("zip"), const_mem_fun<address, uint64_t, &address::by_zip> > address_index;
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
uint32_t zipnumb = 93446;
+
auto zip_index = addresses.get_index<name("zip")>();
+
auto itr = zip_index.find(zipnumb);
+
eosio::check(itr->account_name == name("dan"), "Lock arf, Incorrect Record ");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1427

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_gaa081f69f6fa288869d1d5881f0be04dd.html b/docs/cdt/group__multiindex_gaa081f69f6fa288869d1d5881f0be04dd.html new file mode 100644 index 000000000..6ba079c4c --- /dev/null +++ b/docs/cdt/group__multiindex_gaa081f69f6fa288869d1d5881f0be04dd.html @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::multi_index + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ multi_index()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
eosio::multi_index< TableName, T, Indices >::multi_index (name code,
uint64_t scope 
)
+
+inline
+
+ +

load_object_by_primary_iterator

+

Создаёт экземпляр многоиндексной таблицы.

+
Аргументы
+ + + +
code— аккаунт-владелец таблицы
scope— идентификатор области (scope) в иерархии кода
+
+
+
Предусловие
свойства code и scope заданы
+
Постусловие
каждая таблица вторичного индекса инициализирована
+
+Вторичные индексы обновлены для ссылки на новый объект; при отсутствии таблиц вторичных индексов они создаются.
+
+С плательщика взимается хранение нового объекта и, при необходимости создания таблицы (и таблиц вторичных индексов), накладные расходы на создание.
+

Замечания Шаблон eosio::multi_index имеет параметры <name::raw TableName, typename T, typename... Indices>, где:

    +
  • TableName — имя таблицы, не более 12 символов из набора строчных букв, цифр 1–5 и «.»; преобразуется в eosio::raw (обёртка над uint64_t);
  • +
  • T — тип объекта (определение строки);
  • +
  • Indices — список до 16 вторичных индексов.
  • +
  • Каждый элемент должен быть классом или структурой с конструктором по умолчанию
  • +
  • У каждого должен быть оператор вызова, принимающий const-ссылку на тип объекта строки и возвращающий вторичный ключ или ссылку на него
  • +
  • Рекомендуется шаблон eosio::const_mem_fun
  • +
+

Пример:

+
#include <eosiolib/eosio.hpp>
+
using namespace eosio;
+
using namespace std;
+
class addressbook: contract {
+
struct address {
+
uint64_t account_name;
+
string first_name;
+
string last_name;
+
string street;
+
string city;
+
string state;
+
uint64_t primary_key() const { return account_name; }
+
};
+
public:
+
addressbook(name self):contract(self) {}
+
typedef eosio::multi_index< "address"_n, address > address_index;
+
void myaction() {
+
address_index addresses(_self, _self.value); // code, scope
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 892

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_gab44fb8b993970f1b3b7ac5f37cd2d2c9.html b/docs/cdt/group__multiindex_gab44fb8b993970f1b3b7ac5f37cd2d2c9.html new file mode 100644 index 000000000..a290f2c19 --- /dev/null +++ b/docs/cdt/group__multiindex_gab44fb8b993970f1b3b7ac5f37cd2d2c9.html @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::modify + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ modify() [1/2]

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+
+template<typename Lambda >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::multi_index< TableName, T, Indices >::modify (const T & obj,
name payer,
Lambda && updater 
)
+
+inline
+
+

Изменяет существующий объект в таблице.

+
Аргументы
+ + + + +
obj— ссылка на обновляемый объект
payer— имя аккаунта-плательщика за хранение обновлённой строки
updater— лямбда, обновляющая целевой объект
+
+
+
Предусловие
obj — существующий объект в таблице
+
+payer — действительный аккаунт, уполномоченный выполнять действие и оплачивать хранение
+
Постусловие
Изменённый объект сериализуется и заменяет прежний в таблице.
+
+Вторичные индексы обновлены; первичный ключ объекта не меняется.
+
+С плательщика взимается хранение обновлённого объекта.
+
+Если payer совпадает с прежним плательщиком, списывается только разница объёма хранения (при отрицательной разнице — возврат).
+
+Если payer другой, прежнему плательщику возвращается стоимость хранения старого объекта.
+

Исключения: При нарушении предусловий выполнение прерывается.

+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example
+
// add dan account to table - see emplace example
+
+
auto itr = addresses.find("dan"_n);
+
eosio::check(itr != addresses.end(), "Address for account not found");
+
addresses.modify( *itr, payer, [&]( auto& address ) {
+
address.city = "San Luis Obispo";
+
address.state = "CA";
+
});
+
eosio::check(itr->city == "San Luis Obispo", "Lock arf, Address not modified");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1705

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_gab64fbf4dd04be357ec0cbbf125a3da5e.html b/docs/cdt/group__multiindex_gab64fbf4dd04be357ec0cbbf125a3da5e.html new file mode 100644 index 000000000..e7e085e74 --- /dev/null +++ b/docs/cdt/group__multiindex_gab64fbf4dd04be357ec0cbbf125a3da5e.html @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::emplace + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ emplace()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+
+template<typename Lambda >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::emplace (name payer,
Lambda && constructor 
)
+
+inline
+
+

Добавляет в таблицу новый объект (строку).

+
Аргументы
+ + + +
payer— имя аккаунта-плательщика за хранение нового объекта
constructor— лямбда для инициализации создаваемого объекта на месте
+
+
+
Предусловие
создан экземпляр многоиндексной таблицы
+
Постусловие
В многоиндексной таблице создан новый объект с уникальным первичным ключом (как в объекте). Объект сериализуется и записывается; при отсутствии таблицы она создаётся.
+
+Вторичные индексы обновлены для нового объекта; при отсутствии таблиц вторичных индексов они создаются.
+
+С плательщика взимается хранение нового объекта и при необходимости создания таблицы (и вторичных индексов) — накладные расходы.
+
Возвращает
Итератор по первичному ключу на созданный объект
+

Исключение — аккаунт не уполномочен записывать в таблицу.

+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
address_index addresses(_self, _self.value); // code, scope
+
// add to table, first argument is account to bill for storage
+
addresses.emplace(_self, [&](auto& address) {
+
address.account_name = "dan"_n;
+
address.first_name = "Daniel";
+
address.last_name = "Larimer";
+
address.street = "1 EOS Way";
+
address.city = "Blacksburg";
+
address.state = "VA";
+
});
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1572

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_gabe296816f75cdb69e6698724e7b0c29d.html b/docs/cdt/group__multiindex_gabe296816f75cdb69e6698724e7b0c29d.html new file mode 100644 index 000000000..a95069e0b --- /dev/null +++ b/docs/cdt/group__multiindex_gabe296816f75cdb69e6698724e7b0c29d.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::crbegin + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ crbegin()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::crbegin () const
+
+inline
+
+

Возвращает обратный итератор на объект с наибольшим первичным ключом в многоиндексной таблице.

+
Возвращает
Обратный итератор на объект с наибольшим первичным ключом в многоиндексной таблице.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
// add additional account - brendan
+
+
addresses.emplace(payer, [&](auto& address) {
+
address.account_name = "brendan"_n;
+
address.first_name = "Brendan";
+
address.last_name = "Blumer";
+
address.street = "1 EOS Way";
+
address.city = "Hong Kong";
+
address.state = "HK";
+
});
+
auto itr = addresses.crbegin();
+
eosio::check(itr->account_name == name("dan"), "Lock arf, Incorrect Last Record ");
+
itr++;
+
eosio::check(itr->account_name == name("brendan"), "Lock arf, Incorrect Second Last Record");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1132

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_gac5f84064eacb4265ad44f15cecebb4be.html b/docs/cdt/group__multiindex_gac5f84064eacb4265ad44f15cecebb4be.html new file mode 100644 index 000000000..ecea811a6 --- /dev/null +++ b/docs/cdt/group__multiindex_gac5f84064eacb4265ad44f15cecebb4be.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::erase + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ erase() [1/2]

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + + +
void eosio::multi_index< TableName, T, Indices >::erase (const T & obj)
+
+inline
+
+

Удаляет существующий объект из таблицы.

+
Аргументы
+ + +
obj— удаляемый объект
+
+
+
Предусловие
obj — существующий объект в таблице
+
Постусловие
Объект удалён из таблицы, связанное хранение освобождено.
+
+Обновлены вторичные индексы таблицы.
+
+Прежнему плательщику за хранение возвращается стоимость таблицы и вторичных индексов для удалённого объекта; при удалении таблицы и индексов — также накладные расходы.
+

Исключения: Удаляемого объекта нет в таблице. Действие не уполномочено изменять таблицу. Недопустимый итератор.

+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
auto itr = addresses.find("dan"_n);
+
eosio::check(itr != addresses.end(), "Record is not found");
+
addresses.erase(*itr);
+
itr = addresses.find("dan"_n);
+
eosio::check(itr == addresses.end(), "Record is not deleted");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1937

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_gacdc14cc71a43489507341d2709696e7d.html b/docs/cdt/group__multiindex_gacdc14cc71a43489507341d2709696e7d.html new file mode 100644 index 000000000..86ff0089f --- /dev/null +++ b/docs/cdt/group__multiindex_gacdc14cc71a43489507341d2709696e7d.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::rbegin + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ rbegin()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
const_reverse_iterator eosio::multi_index< TableName, T, Indices >::rbegin () const
+
+inline
+
+

Возвращает обратный итератор на объект с наибольшим первичным ключом в многоиндексной таблице.

+
Возвращает
Обратный итератор на объект с наибольшим первичным ключом в многоиндексной таблице.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
// add additional account - brendan
+
+
addresses.emplace(payer, [&](auto& address) {
+
address.account_name = "brendan"_n;
+
address.first_name = "Brendan";
+
address.last_name = "Blumer";
+
address.street = "1 EOS Way";
+
address.city = "Hong Kong";
+
address.state = "HK";
+
});
+
auto itr = addresses.rbegin();
+
eosio::check(itr->account_name == name("dan"), "Lock arf, Incorrect Last Record ");
+
itr++;
+
eosio::check(itr->account_name == name("brendan"), "Lock arf, Incorrect Second Last Record");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1167

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_gad28ac8d91e9af22cbbc12962a805d253.html b/docs/cdt/group__multiindex_gad28ac8d91e9af22cbbc12962a805d253.html new file mode 100644 index 000000000..2939f3eb5 --- /dev/null +++ b/docs/cdt/group__multiindex_gad28ac8d91e9af22cbbc12962a805d253.html @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::erase + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ erase() [2/2]

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::erase (const_iterator itr)
+
+inline
+
+

Удаляет существующий объект из таблицы (по итератору).

+
Аргументы
+ + +
itr— итератор на удаляемый объект
+
+
+
Предусловие
itr указывает на существующий элемент
+
Постусловие
Объект удалён из таблицы, связанное хранение освобождено.
+
+Обновлены вторичные индексы таблицы.
+
+Прежнему плательщику за хранение возвращается стоимость таблицы и вторичных индексов для удалённого объекта; при удалении таблицы и индексов — также накладные расходы.
+
Возвращает
Для сигнатуры с const_iterator — итератор на объект, следующий за удалённым.
+

Исключения: Удаляемого объекта нет в таблице. Действие не уполномочено изменять таблицу. Недопустимый итератор.

+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example
+
// add dan account to table - see emplace example
+
+
auto itr = addresses.find("dan"_n);
+
eosio::check(itr != addresses.end(), "Address for account not found");
+
addresses.erase( itr );
+
eosio::check(itr != addresses.end(), "Everting lock arf, Address not erased properly");
+
}
+
}
+
EOSIO_ABI( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1894

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_gad611e3ff51efdf038b934138d071cf83.html b/docs/cdt/group__multiindex_gad611e3ff51efdf038b934138d071cf83.html new file mode 100644 index 000000000..ed26ff2e7 --- /dev/null +++ b/docs/cdt/group__multiindex_gad611e3ff51efdf038b934138d071cf83.html @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::iterator_to + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ iterator_to()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::iterator_to (const T & obj) const
+
+inline
+
+

Возвращает итератор на заданный объект в многоиндексной таблице.

+
Аргументы
+ + +
obj— ссылка на нужный объект
+
+
+
Возвращает
Итератор на этот объект
+

Пример:

+
// This assumes the code from the get_index() example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
// add additional account - brendan
+
+
addresses.emplace(payer, [&](auto& address) {
+
address.account_name = "brendan"_n;
+
address.first_name = "Brendan";
+
address.last_name = "Blumer";
+
address.street = "1 EOS Way";
+
address.city = "Hong Kong";
+
address.state = "HK";
+
address.zip = 93445;
+
});
+
auto user = addresses.get("dan"_n);
+
auto itr = address.find("dan"_n);
+
eosio::check(iterator_to(user) == itr, "Invalid iterator");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+

Предупреждение: iterator_to может вести себя неопределённо, если вызывающий код передаёт ссылку на объект на стеке вместо ссылки, возвращённой get или полученной разыменованием const_iterator.

+ +

См. определение в файле multi_index.hpp строка 1529

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_gae6e01877b9862c8193df27f05c305f2c.html b/docs/cdt/group__multiindex_gae6e01877b9862c8193df27f05c305f2c.html new file mode 100644 index 000000000..2a45c52f3 --- /dev/null +++ b/docs/cdt/group__multiindex_gae6e01877b9862c8193df27f05c305f2c.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::get_index + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_index() [2/2]

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+
+template<name::raw IndexName>
+ + + + + +
+ + + + + + + +
auto eosio::multi_index< TableName, T, Indices >::get_index () const
+
+inline
+
+

Возвращает вторичный индекс нужного типа.

+
Параметры шаблона
+ + +
IndexName— идентификатор нужного вторичного индекса
+
+
+
Возвращает
Индекс соответствующего типа: 64-битный беззнаковый целочисленный ключ (idx64), 128-битный беззнаковый целочисленный ключ (idx128), 128-битный ключ фиксированной длины в лексикографическом порядке (idx128), 256-битный ключ фиксированной длины (idx256), ключ с плавающей точкой, ключ double, ключ long double (четверная точность)
+

Пример:

+
// This assumes the code from the get_index() example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
// add additional account - brendan
+
+
addresses.emplace(payer, [&](auto& address) {
+
address.account_name = "brendan"_n;
+
address.first_name = "Brendan";
+
address.last_name = "Blumer";
+
address.street = "1 EOS Way";
+
address.city = "Hong Kong";
+
address.state = "HK";
+
address.zip = 93445;
+
});
+
uint32_t zipnumb = 93445;
+
auto zip_index = addresses.get_index<name("zip")>();
+
auto itr = zip_index.upper_bound(zipnumb);
+
eosio::check(itr->account_name == name("dan"), "Lock arf, Incorrect First Upper Bound Record ");
+
itr++;
+
eosio::check(itr == zip_index.end(), "Lock arf, Incorrect End of Iterator");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1478

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__multiindex_gaece639944fa9031debbd984bbd42485a.html b/docs/cdt/group__multiindex_gaece639944fa9031debbd984bbd42485a.html new file mode 100644 index 000000000..35bfac133 --- /dev/null +++ b/docs/cdt/group__multiindex_gaece639944fa9031debbd984bbd42485a.html @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::cend + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ cend()

+ +
+
+
+template<name::raw TableName, typename T , typename... Indices>
+ + + + + +
+ + + + + + + +
const_iterator eosio::multi_index< TableName, T, Indices >::cend () const
+
+inline
+
+

Возвращает итератор на элемент «после последнего» в контейнере multi_index. Такой элемент — теоретический следующий за последним; на реальный объект не указывает и разыменовывать его нельзя.

+
Возвращает
Итератор на позицию «после последнего» в контейнере multi_index.
+

Пример:

+
// This assumes the code from the constructor example. Replace myaction() {...}
+
+
void myaction() {
+
// create reference to address_index - see emplace example below
+
// add dan account to table - see emplace example below
+
+
auto itr = addresses.find("dan"_n);
+
eosio::check(itr != addresses.cend(), "Address for account doesn't exist");
+
}
+
}
+
EOSIO_DISPATCH( addressbook, (myaction) )
+
+

См. определение в файле multi_index.hpp строка 1073

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__name.html b/docs/cdt/group__name.html new file mode 100644 index 000000000..c572c14f4 --- /dev/null +++ b/docs/cdt/group__name.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + +CDT: Имя + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Тип имени COOPOS. +Подробнее...

+ + + + +

+Классы

struct  eosio::name
 
+ + + + + +

+Функции

template<typename T , T... Str>
constexpr eosio::name operator""_n ()
 namespace eosio Подробнее...
 
+

Подробное описание

+

Тип имени COOPOS.

+
+
+ + + + + + diff --git a/docs/cdt/group__name.js b/docs/cdt/group__name.js new file mode 100644 index 000000000..20da7c6b6 --- /dev/null +++ b/docs/cdt/group__name.js @@ -0,0 +1,21 @@ +var group__name = +[ + [ "eosio::name", "structeosio_1_1name.html", [ + [ "raw", "structeosio_1_1name_a1d269720fd7434429216833187173656.html#a1d269720fd7434429216833187173656", null ], + [ "name", "structeosio_1_1name_a3e05c2f8c5eb5fa35dc1a99918d57c19.html#a3e05c2f8c5eb5fa35dc1a99918d57c19", null ], + [ "name", "structeosio_1_1name_abc1f35add0a585ea60d6c7333b87f595.html#abc1f35add0a585ea60d6c7333b87f595", null ], + [ "name", "structeosio_1_1name_a4679582f6b187de123c5167db945b0fe.html#a4679582f6b187de123c5167db945b0fe", null ], + [ "name", "structeosio_1_1name_a0ce912cd61e77f223ac1d252deec0d04.html#a0ce912cd61e77f223ac1d252deec0d04", null ], + [ "CDT_REFLECT", "structeosio_1_1name_a12f96935b2753bbd4fd3117039dae003.html#a12f96935b2753bbd4fd3117039dae003", null ], + [ "length", "structeosio_1_1name_a757935f0931b482c554686c2ea2a42b2.html#a757935f0931b482c554686c2ea2a42b2", null ], + [ "operator bool", "structeosio_1_1name_a667462189a277a9f11f66fcd88af05df.html#a667462189a277a9f11f66fcd88af05df", null ], + [ "operator raw", "structeosio_1_1name_afd3799cbd1bc276a81dba035599f535c.html#afd3799cbd1bc276a81dba035599f535c", null ], + [ "prefix", "structeosio_1_1name_a5afd970dffff251b4137738542463c53.html#a5afd970dffff251b4137738542463c53", null ], + [ "print", "structeosio_1_1name_aa2b5455012ac1cc8bc9f615f305fa65e.html#aa2b5455012ac1cc8bc9f615f305fa65e", null ], + [ "suffix", "structeosio_1_1name_a806f77788fe466215adeb2b78553b6f8.html#a806f77788fe466215adeb2b78553b6f8", null ], + [ "to_string", "structeosio_1_1name_ae9b8c13d32a86f9ff355b6dce3955ab6.html#ae9b8c13d32a86f9ff355b6dce3955ab6", null ], + [ "write_as_string", "structeosio_1_1name_a3babe141d965ae3c1ae0ec31f417f4b1.html#a3babe141d965ae3c1ae0ec31f417f4b1", null ], + [ "value", "structeosio_1_1name_adb309a6e132467ef2c53e953b56ebb52.html#adb309a6e132467ef2c53e953b56ebb52", null ] + ] ], + [ "operator\"\"_n", "group__name_ga2c559845072f8f8423f21c8c8f9c57ce.html#ga2c559845072f8f8423f21c8c8f9c57ce", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__name_ga2c559845072f8f8423f21c8c8f9c57ce.html b/docs/cdt/group__name_ga2c559845072f8f8423f21c8c8f9c57ce.html new file mode 100644 index 000000000..cd86e2144 --- /dev/null +++ b/docs/cdt/group__name_ga2c559845072f8f8423f21c8c8f9c57ce.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: operator""_n + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ operator""_n()

+ +
+
+
+template<typename T , T... Str>
+ + + + + +
+ + + + + + + +
constexpr eosio::name operator""_n ()
+
+inlineconstexpr
+
+ +

namespace eosio

+

Литерал "foo"_n — сокращение для name("foo")

+ +

См. определение в файле name.hpp строка 321

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__privileged.html b/docs/cdt/group__privileged.html new file mode 100644 index 000000000..175b137bd --- /dev/null +++ b/docs/cdt/group__privileged.html @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + +CDT: Привилегированный API + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Привилегированный API
+
+
+ +

Определяет привилегированный C++ API COOPOS. +Подробнее...

+ + + + +

+Классы

struct  eosio::blockchain_parameters
 
+ + + + + + + + + + + + + + + + + + + + + +

+Функции

void eosio::set_blockchain_parameters (const eosio::blockchain_parameters &params)
 
void eosio::get_blockchain_parameters (eosio::blockchain_parameters &params)
 
void eosio::get_account_ram_usage (name account, int64_t &used_ram_bytes)
 
void eosio::get_resource_limits (name account, int64_t &ram_bytes, int64_t &net_weight, int64_t &cpu_weight)
 
void eosio::set_resource_limits (name account, int64_t ram_bytes, int64_t net_weight, int64_t cpu_weight)
 
std::optional< uint64_t > eosio::set_proposed_producers (const std::vector< producer_key > &prods)
 
std::optional< uint64_t > eosio::set_proposed_producers (const std::vector< producer_authority > &prods)
 
bool eosio::is_privileged (name account)
 
void eosio::set_privileged (name account, bool is_priv)
 
void eosio::preactivate_feature (const checksum256 &feature_digest)
 
+

Подробное описание

+

Определяет привилегированный C++ API COOPOS.

+
+
+ + + + + + diff --git a/docs/cdt/group__privileged.js b/docs/cdt/group__privileged.js new file mode 100644 index 000000000..a372e9dcb --- /dev/null +++ b/docs/cdt/group__privileged.js @@ -0,0 +1,32 @@ +var group__privileged = +[ + [ "eosio::blockchain_parameters", "structeosio_1_1blockchain__parameters.html", [ + [ "base_per_transaction_net_usage", "structeosio_1_1blockchain__parameters_a944e5020392feb3aa43452db31dd6c53.html#a944e5020392feb3aa43452db31dd6c53", null ], + [ "context_free_discount_net_usage_den", "structeosio_1_1blockchain__parameters_a34aa31b25c026f190097d3b66b5d8b28.html#a34aa31b25c026f190097d3b66b5d8b28", null ], + [ "context_free_discount_net_usage_num", "structeosio_1_1blockchain__parameters_a8ee23aba0c372b7d62b18e749e0e8798.html#a8ee23aba0c372b7d62b18e749e0e8798", null ], + [ "deferred_trx_expiration_window", "structeosio_1_1blockchain__parameters_a8cf445a327ffb230b9751f3b6764efaa.html#a8cf445a327ffb230b9751f3b6764efaa", null ], + [ "max_authority_depth", "structeosio_1_1blockchain__parameters_aef65360380b879d1782d0b202b96c776.html#aef65360380b879d1782d0b202b96c776", null ], + [ "max_block_cpu_usage", "structeosio_1_1blockchain__parameters_af6a0f851f934100f4cfc5d7cce8c3542.html#af6a0f851f934100f4cfc5d7cce8c3542", null ], + [ "max_block_net_usage", "structeosio_1_1blockchain__parameters_aaffe7d6c7437826f208c68e9ee2acf65.html#aaffe7d6c7437826f208c68e9ee2acf65", null ], + [ "max_inline_action_depth", "structeosio_1_1blockchain__parameters_a2a6f29f85a765e80fab44ca4c8bf4104.html#a2a6f29f85a765e80fab44ca4c8bf4104", null ], + [ "max_inline_action_size", "structeosio_1_1blockchain__parameters_a7dbcbc6c005be48b9d42fe21ee3c034f.html#a7dbcbc6c005be48b9d42fe21ee3c034f", null ], + [ "max_transaction_cpu_usage", "structeosio_1_1blockchain__parameters_a59893f31083ea0239eff0fdb47a3e9a2.html#a59893f31083ea0239eff0fdb47a3e9a2", null ], + [ "max_transaction_delay", "structeosio_1_1blockchain__parameters_ac1ad602bce04bb7de2b83acf319605ac.html#ac1ad602bce04bb7de2b83acf319605ac", null ], + [ "max_transaction_lifetime", "structeosio_1_1blockchain__parameters_ae9595da087ba46dbada5f785ec9191e6.html#ae9595da087ba46dbada5f785ec9191e6", null ], + [ "max_transaction_net_usage", "structeosio_1_1blockchain__parameters_a07d6c92013fce008071d9b610544c4c6.html#a07d6c92013fce008071d9b610544c4c6", null ], + [ "min_transaction_cpu_usage", "structeosio_1_1blockchain__parameters_a5c15c7c28e28d93183e85639ddd3dd83.html#a5c15c7c28e28d93183e85639ddd3dd83", null ], + [ "net_usage_leeway", "structeosio_1_1blockchain__parameters_a5066e04cd3a3d74459e810d253c29ebf.html#a5066e04cd3a3d74459e810d253c29ebf", null ], + [ "target_block_cpu_usage_pct", "structeosio_1_1blockchain__parameters_aa8e6bff1b7d255588fb31ccdf6035aba.html#aa8e6bff1b7d255588fb31ccdf6035aba", null ], + [ "target_block_net_usage_pct", "structeosio_1_1blockchain__parameters_a346f353931e0403d07e27da151a8af4d.html#a346f353931e0403d07e27da151a8af4d", null ] + ] ], + [ "eosio::get_account_ram_usage", "group__privileged_gabd00f6a2896d4156346eee44d6ac0193.html#gabd00f6a2896d4156346eee44d6ac0193", null ], + [ "eosio::get_blockchain_parameters", "group__privileged_ga673da670d201ba73461eedd8bd1aec8f.html#ga673da670d201ba73461eedd8bd1aec8f", null ], + [ "eosio::get_resource_limits", "group__privileged_gab80245def6eafc07e7eff5207f604261.html#gab80245def6eafc07e7eff5207f604261", null ], + [ "eosio::is_privileged", "group__privileged_gad2eb8389a1197594476ea9e41448481a.html#gad2eb8389a1197594476ea9e41448481a", null ], + [ "eosio::preactivate_feature", "group__privileged_gaef817a1cfd765f9b0962f62897895243.html#gaef817a1cfd765f9b0962f62897895243", null ], + [ "eosio::set_blockchain_parameters", "group__privileged_ga4b6f34ade1f06f6583b4a17738bebe0c.html#ga4b6f34ade1f06f6583b4a17738bebe0c", null ], + [ "eosio::set_privileged", "group__privileged_gab341227b30ff1294ecb03c540e25a57f.html#gab341227b30ff1294ecb03c540e25a57f", null ], + [ "eosio::set_proposed_producers", "group__privileged_gac69be7829e437b6a986af0b686b8fd68.html#gac69be7829e437b6a986af0b686b8fd68", null ], + [ "eosio::set_proposed_producers", "group__privileged_ga8ae4f7b818d57817a629c7c45372552e.html#ga8ae4f7b818d57817a629c7c45372552e", null ], + [ "eosio::set_resource_limits", "group__privileged_gaad97a90662dc91cc1f9c6b2368b625c3.html#gaad97a90662dc91cc1f9c6b2368b625c3", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__privileged_ga4b6f34ade1f06f6583b4a17738bebe0c.html b/docs/cdt/group__privileged_ga4b6f34ade1f06f6583b4a17738bebe0c.html new file mode 100644 index 000000000..5df429c70 --- /dev/null +++ b/docs/cdt/group__privileged_ga4b6f34ade1f06f6583b4a17738bebe0c.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::set_blockchain_parameters + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ set_blockchain_parameters()

+ +
+
+ + + + + + + + +
void eosio::set_blockchain_parameters (const eosio::blockchain_parametersparams)
+
+

Устанавливает параметры цепочки COOPOS

+
Аргументы
+ + +
params— новые параметры цепочки
+
+
+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__privileged_ga673da670d201ba73461eedd8bd1aec8f.html b/docs/cdt/group__privileged_ga673da670d201ba73461eedd8bd1aec8f.html new file mode 100644 index 000000000..56f9f83f6 --- /dev/null +++ b/docs/cdt/group__privileged_ga673da670d201ba73461eedd8bd1aec8f.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::get_blockchain_parameters + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_blockchain_parameters()

+ +
+
+ + + + + + + + +
void eosio::get_blockchain_parameters (eosio::blockchain_parametersparams)
+
+

Возвращает параметры цепочки COOPOS

+
Аргументы
+ + +
params— заполняется полученными параметрами цепочки
+
+
+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__privileged_ga8ae4f7b818d57817a629c7c45372552e.html b/docs/cdt/group__privileged_ga8ae4f7b818d57817a629c7c45372552e.html new file mode 100644 index 000000000..9eacf09d6 --- /dev/null +++ b/docs/cdt/group__privileged_ga8ae4f7b818d57817a629c7c45372552e.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::set_proposed_producers + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ set_proposed_producers() [2/2]

+ +
+
+ + + + + + + + +
std::optional< uint64_t > eosio::set_proposed_producers (const std::vector< producer_key > & prods)
+
+

Предлагает смену расписания в устаревшем формате ключей производителей

+
Заметки
Когда блок с предложением становится необратимым, расписание автоматически переходит в состояние «ожидающее» (pending). Когда блок, продвигающий расписание, становится необратимым, расписание становится «активным» (active)
+
Аргументы
+ + +
producers— вектор ключей производителей
+
+
+
Возвращает
при успехе — номер версии нового предложенного расписания; иначе пусто
+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__privileged_gaad97a90662dc91cc1f9c6b2368b625c3.html b/docs/cdt/group__privileged_gaad97a90662dc91cc1f9c6b2368b625c3.html new file mode 100644 index 000000000..4ea19b4b9 --- /dev/null +++ b/docs/cdt/group__privileged_gaad97a90662dc91cc1f9c6b2368b625c3.html @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::set_resource_limits + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ set_resource_limits()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::set_resource_limits (name account,
int64_t ram_bytes,
int64_t net_weight,
int64_t cpu_weight 
)
+
+inline
+
+

Задаёт лимиты ресурсов аккаунта

+
Аргументы
+ + + + + +
account— имя аккаунта
ram_bytes— лимит RAM в байтах
net_weight— доля лимита сети пропорционально (вес / сумма весов всех аккаунтов)
cpu_weight— доля лимита CPU пропорционально (вес / сумма весов всех аккаунтов)
+
+
+ +

См. определение в файле privileged.hpp строка 223

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__privileged_gab341227b30ff1294ecb03c540e25a57f.html b/docs/cdt/group__privileged_gab341227b30ff1294ecb03c540e25a57f.html new file mode 100644 index 000000000..a8eb170c1 --- /dev/null +++ b/docs/cdt/group__privileged_gab341227b30ff1294ecb03c540e25a57f.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::set_privileged + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ set_privileged()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::set_privileged (name account,
bool is_priv 
)
+
+inline
+
+

Задаёт привилегированный статус аккаунта

+
Аргументы
+ + + +
account— имя аккаунта
is_priv— признак привилегированного статуса
+
+
+ +

См. определение в файле privileged.hpp строка 274

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__privileged_gab80245def6eafc07e7eff5207f604261.html b/docs/cdt/group__privileged_gab80245def6eafc07e7eff5207f604261.html new file mode 100644 index 000000000..5b0e3489a --- /dev/null +++ b/docs/cdt/group__privileged_gab80245def6eafc07e7eff5207f604261.html @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::get_resource_limits + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_resource_limits()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::get_resource_limits (name account,
int64_t & ram_bytes,
int64_t & net_weight,
int64_t & cpu_weight 
)
+
+inline
+
+

Возвращает лимиты ресурсов аккаунта

+
Аргументы
+ + + + + +
account— имя аккаунта
ram_bytes— выход: лимит RAM в байтах
net_weight— выход: вес сети (net)
cpu_weight— выход: вес CPU
+
+
+ +

См. определение в файле privileged.hpp строка 210

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__privileged_gabd00f6a2896d4156346eee44d6ac0193.html b/docs/cdt/group__privileged_gabd00f6a2896d4156346eee44d6ac0193.html new file mode 100644 index 000000000..8ad7e7f3d --- /dev/null +++ b/docs/cdt/group__privileged_gabd00f6a2896d4156346eee44d6ac0193.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::get_account_ram_usage + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_account_ram_usage()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::get_account_ram_usage (name account,
int64_t & used_ram_bytes 
)
+
+inline
+
+

Возвращает использование RAM аккаунтом

+
Аргументы
+ + + +
account— имя аккаунта
used_ram_bytes— выход: использовано RAM в байтах
+
+
+ +

См. определение в файле privileged.hpp строка 196

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__privileged_gac69be7829e437b6a986af0b686b8fd68.html b/docs/cdt/group__privileged_gac69be7829e437b6a986af0b686b8fd68.html new file mode 100644 index 000000000..561f0c4d5 --- /dev/null +++ b/docs/cdt/group__privileged_gac69be7829e437b6a986af0b686b8fd68.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::set_proposed_producers + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ set_proposed_producers() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
std::optional< uint64_t > eosio::set_proposed_producers (const std::vector< producer_authority > & prods)
+
+inline
+
+

Предлагает смену расписания в более гибком формате полномочий

+
Заметки
Когда блок с предложением становится необратимым, расписание автоматически переходит в «pending». Когда блок, продвигающий расписание, становится необратимым, расписание становится «active»
+
Аргументы
+ + +
producers— вектор полномочий производителей
+
+
+
Возвращает
при успехе — версия нового предложенного расписания; иначе пусто
+ +

См. определение в файле privileged.hpp строка 247

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__privileged_gad2eb8389a1197594476ea9e41448481a.html b/docs/cdt/group__privileged_gad2eb8389a1197594476ea9e41448481a.html new file mode 100644 index 000000000..e8a2bf8dc --- /dev/null +++ b/docs/cdt/group__privileged_gad2eb8389a1197594476ea9e41448481a.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::is_privileged + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ is_privileged()

+ +
+
+ + + + + +
+ + + + + + + + +
bool eosio::is_privileged (name account)
+
+inline
+
+

Проверяет, является ли аккаунт привилегированным

+
Аргументы
+ + +
account— имя проверяемого аккаунта
+
+
+
Возвращает
true, если аккаунт привилегированный
+
+false, если аккаунт не привилегированный
+ +

См. определение в файле privileged.hpp строка 263

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__privileged_gaef817a1cfd765f9b0962f62897895243.html b/docs/cdt/group__privileged_gaef817a1cfd765f9b0962f62897895243.html new file mode 100644 index 000000000..1d4ca4c02 --- /dev/null +++ b/docs/cdt/group__privileged_gaef817a1cfd765f9b0962f62897895243.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::preactivate_feature + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ preactivate_feature()

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::preactivate_feature (const checksum256 & feature_digest)
+
+inline
+
+

Предварительно активирует возможность протокола COOPOS

+
Аргументы
+ + +
feature_digest— дайджест возможности протокола для предактивации
+
+
+ +

См. определение в файле privileged.hpp строка 284

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__producer__authority.html b/docs/cdt/group__producer__authority.html new file mode 100644 index 000000000..48873a5c1 --- /dev/null +++ b/docs/cdt/group__producer__authority.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: Полномочие производителя + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Полномочие производителя
+
+
+ +

Сопоставляет производителя с гибкой структурой полномочий; используется в расписании производителей +Подробнее...

+ + + + + + + + + + +

+Классы

struct  eosio::key_weight
 
struct  eosio::block_signing_authority_v0
 взвешенное пороговое полномочие с несколькими подписями (multi-sig) Подробнее...
 
struct  eosio::producer_authority
 Сопоставляет производителя с его ключом подписи Подробнее...
 
+ + + +

+Определения типов

using eosio::block_signing_authority = std::variant< block_signing_authority_v0 >
 
+

Подробное описание

+

Сопоставляет производителя с гибкой структурой полномочий; используется в расписании производителей

+
+
+ + + + + + diff --git a/docs/cdt/group__producer__authority.js b/docs/cdt/group__producer__authority.js new file mode 100644 index 000000000..00e3061c4 --- /dev/null +++ b/docs/cdt/group__producer__authority.js @@ -0,0 +1,21 @@ +var group__producer__authority = +[ + [ "eosio::key_weight", "structeosio_1_1key__weight.html", [ + [ "CDT_REFLECT", "structeosio_1_1key__weight_a85634275ee0cdb26b0e1c7be597b95c0.html#a85634275ee0cdb26b0e1c7be597b95c0", null ], + [ "key", "structeosio_1_1key__weight_a0716877105b0d4a6fca4c09f7e129800.html#a0716877105b0d4a6fca4c09f7e129800", null ], + [ "weight", "structeosio_1_1key__weight_a78bc9eff39c12ee18ba27206967c00a0.html#a78bc9eff39c12ee18ba27206967c00a0", null ] + ] ], + [ "eosio::block_signing_authority_v0", "structeosio_1_1block__signing__authority__v0.html", [ + [ "CDT_REFLECT", "structeosio_1_1block__signing__authority__v0_ac69f3c98104be7264396dd0e9af3706f.html#ac69f3c98104be7264396dd0e9af3706f", null ], + [ "is_valid", "structeosio_1_1block__signing__authority__v0_aace9f3212e4df0db2511059a9c876886.html#aace9f3212e4df0db2511059a9c876886", null ], + [ "keys", "structeosio_1_1block__signing__authority__v0_a3f0b70b44704cf738489e64cc6706859.html#a3f0b70b44704cf738489e64cc6706859", null ], + [ "threshold", "structeosio_1_1block__signing__authority__v0_a9bd0140a33077b4179de56132205ebdd.html#a9bd0140a33077b4179de56132205ebdd", null ] + ] ], + [ "eosio::producer_authority", "structeosio_1_1producer__authority.html", [ + [ "CDT_REFLECT", "structeosio_1_1producer__authority_ab4890311700654d7b4b23c4352a932e0.html#ab4890311700654d7b4b23c4352a932e0", null ], + [ "operator<", "structeosio_1_1producer__authority_aa26af3fe95014015f5501d41d997f6be.html#aa26af3fe95014015f5501d41d997f6be", null ], + [ "authority", "structeosio_1_1producer__authority_aaefed59167672831f79af2e1d3a2160e.html#aaefed59167672831f79af2e1d3a2160e", null ], + [ "producer_name", "structeosio_1_1producer__authority_a4b283812e4b5646e5c00b9009ccaa642.html#a4b283812e4b5646e5c00b9009ccaa642", null ] + ] ], + [ "eosio::block_signing_authority", "group__producer__authority_gac9f7f8b14b8fcc608e0af99ac46a2c98.html#gac9f7f8b14b8fcc608e0af99ac46a2c98", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__producer__authority_gac9f7f8b14b8fcc608e0af99ac46a2c98.html b/docs/cdt/group__producer__authority_gac9f7f8b14b8fcc608e0af99ac46a2c98.html new file mode 100644 index 000000000..1cc773cea --- /dev/null +++ b/docs/cdt/group__producer__authority_gac9f7f8b14b8fcc608e0af99ac46a2c98.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_signing_authority + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ block_signing_authority

+ +
+
+ + + + +
using eosio::block_signing_authority = typedef std::variant<block_signing_authority_v0>
+
+

Вариант (std::variant) всех допустимых полномочий подписи блока

+ +

См. определение в файле producer_schedule.hpp строка 135

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__producer__key.html b/docs/cdt/group__producer__key.html new file mode 100644 index 000000000..1b08bafd6 --- /dev/null +++ b/docs/cdt/group__producer__key.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + +CDT: Ключ производителя + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Ключ производителя
+
+
+ +

Сопоставляет производителя с его ключом подписи блока; используется в расписании производителей +Подробнее...

+ + + + +

+Классы

struct  eosio::producer_key
 
+ + + + + +

+Переменные

name eosio::producer_key::producer_name
 
public_key eosio::producer_key::block_signing_key
 
+

Подробное описание

+

Сопоставляет производителя с его ключом подписи блока; используется в расписании производителей

+
+
+ + + + + + diff --git a/docs/cdt/group__producer__key.js b/docs/cdt/group__producer__key.js new file mode 100644 index 000000000..e481a3ee6 --- /dev/null +++ b/docs/cdt/group__producer__key.js @@ -0,0 +1,10 @@ +var group__producer__key = +[ + [ "eosio::producer_key", "structeosio_1_1producer__key.html", [ + [ "CDT_REFLECT", "structeosio_1_1producer__key_a7c39bd53db1afc7e683a4e0089cd156b.html#a7c39bd53db1afc7e683a4e0089cd156b", null ], + [ "block_signing_key", "group__producer__key_gaf5899a46ea38009f20643792af38d26b.html#gaf5899a46ea38009f20643792af38d26b", null ], + [ "producer_name", "group__producer__key_gabec477141e08f7648fbdb5d7c2e69824.html#gabec477141e08f7648fbdb5d7c2e69824", null ] + ] ], + [ "eosio::producer_key::block_signing_key", "group__producer__key_gaf5899a46ea38009f20643792af38d26b.html#gaf5899a46ea38009f20643792af38d26b", null ], + [ "eosio::producer_key::producer_name", "group__producer__key_gabec477141e08f7648fbdb5d7c2e69824.html#gabec477141e08f7648fbdb5d7c2e69824", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__producer__key_gabec477141e08f7648fbdb5d7c2e69824.html b/docs/cdt/group__producer__key_gabec477141e08f7648fbdb5d7c2e69824.html new file mode 100644 index 000000000..4af49debe --- /dev/null +++ b/docs/cdt/group__producer__key_gabec477141e08f7648fbdb5d7c2e69824.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::producer_key::producer_name + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ producer_name

+ +
+
+ + + + +
name eosio::producer_key::producer_name
+
+

Имя производителя

+ +

См. определение в файле producer_schedule.hpp строка 27

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__producer__key_gaf5899a46ea38009f20643792af38d26b.html b/docs/cdt/group__producer__key_gaf5899a46ea38009f20643792af38d26b.html new file mode 100644 index 000000000..9589c6653 --- /dev/null +++ b/docs/cdt/group__producer__key_gaf5899a46ea38009f20643792af38d26b.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::producer_key::block_signing_key + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ block_signing_key

+ +
+
+ + + + +
public_key eosio::producer_key::block_signing_key
+
+

Ключ подписи блока, используемый этим производителем

+ +

См. определение в файле producer_schedule.hpp строка 34

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__producer__schedule.html b/docs/cdt/group__producer__schedule.html new file mode 100644 index 000000000..84f6ea362 --- /dev/null +++ b/docs/cdt/group__producer__schedule.html @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + +CDT: Расписание производителей + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Расписание производителей
+
+
+ +

Задаёт порядок, имена аккаунтов и ключи подписи активного набора производителей. +Подробнее...

+ + + + +

+Классы

struct  eosio::producer_schedule
 
+ + + +

+Функции

std::vector< nameeosio::get_active_producers ()
 
+

Подробное описание

+

Задаёт порядок, имена аккаунтов и ключи подписи активного набора производителей.

+
+
+ + + + + + diff --git a/docs/cdt/group__producer__schedule.js b/docs/cdt/group__producer__schedule.js new file mode 100644 index 000000000..aac08f1c8 --- /dev/null +++ b/docs/cdt/group__producer__schedule.js @@ -0,0 +1,9 @@ +var group__producer__schedule = +[ + [ "eosio::producer_schedule", "structeosio_1_1producer__schedule.html", [ + [ "CDT_REFLECT", "structeosio_1_1producer__schedule_aad91c3466de8f18794c629a5b5a1700d.html#aad91c3466de8f18794c629a5b5a1700d", null ], + [ "producers", "structeosio_1_1producer__schedule_a10628b8023f6db90687a54776d15a117.html#a10628b8023f6db90687a54776d15a117", null ], + [ "version", "structeosio_1_1producer__schedule_a3958be89c877e9249710a8aafa155829.html#a3958be89c877e9249710a8aafa155829", null ] + ] ], + [ "eosio::get_active_producers", "group__producer__schedule_gabd7742a9a5cffa3eccae1accbd1ee771.html#gabd7742a9a5cffa3eccae1accbd1ee771", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__producer__schedule_gabd7742a9a5cffa3eccae1accbd1ee771.html b/docs/cdt/group__producer__schedule_gabd7742a9a5cffa3eccae1accbd1ee771.html new file mode 100644 index 000000000..149b93eac --- /dev/null +++ b/docs/cdt/group__producer__schedule_gabd7742a9a5cffa3eccae1accbd1ee771.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::get_active_producers + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_active_producers()

+ +
+
+ + + + + + + +
std::vector< name > eosio::get_active_producers ()
+
+

Возвращает список имён активных производителей

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__security__group.html b/docs/cdt/group__security__group.html new file mode 100644 index 000000000..11c71d9cc --- /dev/null +++ b/docs/cdt/group__security__group.html @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + +CDT: Группа безопасности + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Группа безопасности
+
+
+ +

Определяет C++ API группы безопасности +Подробнее...

+ + + + + + + + + + +

+Функции

int64_t eosio::add_security_group_participants (const std::set< name > &participants)
 
int64_t eosio::remove_security_group_participants (const std::set< name > &participants)
 
bool eosio::in_active_security_group (const std::set< name > &participants)
 
security_group eosio::get_active_security_group ()
 
+

Подробное описание

+

Определяет C++ API группы безопасности

+
+
+ + + + + + diff --git a/docs/cdt/group__security__group.js b/docs/cdt/group__security__group.js new file mode 100644 index 000000000..44d3d9ae4 --- /dev/null +++ b/docs/cdt/group__security__group.js @@ -0,0 +1,7 @@ +var group__security__group = +[ + [ "eosio::add_security_group_participants", "group__security__group_ga8a7cc14a1900bfbb2adc8af0193efe02.html#ga8a7cc14a1900bfbb2adc8af0193efe02", null ], + [ "eosio::get_active_security_group", "group__security__group_gaac778b25910d9c1a99deb182fea2543e.html#gaac778b25910d9c1a99deb182fea2543e", null ], + [ "eosio::in_active_security_group", "group__security__group_ga9348bff666d401af321e1d67af264a3d.html#ga9348bff666d401af321e1d67af264a3d", null ], + [ "eosio::remove_security_group_participants", "group__security__group_gadefafd73d733d635d8d844203120a58d.html#gadefafd73d733d635d8d844203120a58d", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__security__group_ga8a7cc14a1900bfbb2adc8af0193efe02.html b/docs/cdt/group__security__group_ga8a7cc14a1900bfbb2adc8af0193efe02.html new file mode 100644 index 000000000..bdad92d48 --- /dev/null +++ b/docs/cdt/group__security__group_ga8a7cc14a1900bfbb2adc8af0193efe02.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::add_security_group_participants + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ add_security_group_participants()

+ +
+
+ + + + + +
+ + + + + + + + +
int64_t eosio::add_security_group_participants (const std::set< name > & participants)
+
+inline
+
+

Предложить новых участников группы безопасности.

+
Аргументы
+ + +
participants— участники.
+
+
+
Возвращает
-1, если предложение новой группы безопасности не удалось, иначе 0.
+ +

См. определение в файле security_group.hpp строка 40

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__security__group_ga9348bff666d401af321e1d67af264a3d.html b/docs/cdt/group__security__group_ga9348bff666d401af321e1d67af264a3d.html new file mode 100644 index 000000000..5efede461 --- /dev/null +++ b/docs/cdt/group__security__group_ga9348bff666d401af321e1d67af264a3d.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::in_active_security_group + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ in_active_security_group()

+ +
+
+ + + + + +
+ + + + + + + + +
bool eosio::in_active_security_group (const std::set< name > & participants)
+
+inline
+
+

Проверить, что все указанные аккаунты входят в активную группу безопасности.

+
Аргументы
+ + +
participants— участники.
+
+
+
Возвращает
true, если все указанные аккаунты входят в активную группу безопасности.
+ +

См. определение в файле security_group.hpp строка 66

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__security__group_gaac778b25910d9c1a99deb182fea2543e.html b/docs/cdt/group__security__group_gaac778b25910d9c1a99deb182fea2543e.html new file mode 100644 index 000000000..099ef366e --- /dev/null +++ b/docs/cdt/group__security__group_gaac778b25910d9c1a99deb182fea2543e.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::get_active_security_group + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_active_security_group()

+ +
+
+ + + + + +
+ + + + + + + +
security_group eosio::get_active_security_group ()
+
+inline
+
+

Возвращает активную группу безопасности (распакованную структуру).

+
Возвращает
объект security_group с данными активной группы
+ +

См. определение в файле security_group.hpp строка 77

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__security__group_gadefafd73d733d635d8d844203120a58d.html b/docs/cdt/group__security__group_gadefafd73d733d635d8d844203120a58d.html new file mode 100644 index 000000000..fd346a493 --- /dev/null +++ b/docs/cdt/group__security__group_gadefafd73d733d635d8d844203120a58d.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::remove_security_group_participants + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ remove_security_group_participants()

+ +
+
+ + + + + +
+ + + + + + + + +
int64_t eosio::remove_security_group_participants (const std::set< name > & participants)
+
+inline
+
+

Предложить исключить участников из группы безопасности.

+
Аргументы
+ + +
participants— участники.
+
+
+
Возвращает
-1, если предложение новой группы безопасности не удалось, иначе 0.
+ +

См. определение в файле security_group.hpp строка 53

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__serialize.html b/docs/cdt/group__serialize.html new file mode 100644 index 000000000..cfb3d2c14 --- /dev/null +++ b/docs/cdt/group__serialize.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: Сериализация + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Сериализация
+
+
+ +

Определяет C++ API сериализации и десериализации объектов +Подробнее...

+ + + + + + +

+Макросы

#define EOSLIB_SERIALIZE(TYPE, MEMBERS)
 
#define EOSLIB_SERIALIZE_DERIVED(TYPE, BASE, MEMBERS)
 
+

Подробное описание

+

Определяет C++ API сериализации и десериализации объектов

+
+
+ + + + + + diff --git a/docs/cdt/group__serialize.js b/docs/cdt/group__serialize.js new file mode 100644 index 000000000..22d6db208 --- /dev/null +++ b/docs/cdt/group__serialize.js @@ -0,0 +1,5 @@ +var group__serialize = +[ + [ "EOSLIB_SERIALIZE", "group__serialize_gac39bf93bca023cc19379279456dac31f.html#gac39bf93bca023cc19379279456dac31f", null ], + [ "EOSLIB_SERIALIZE_DERIVED", "group__serialize_gaca7a38eac7326c602930c79d2a25a602.html#gaca7a38eac7326c602930c79d2a25a602", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__serialize_gac39bf93bca023cc19379279456dac31f.html b/docs/cdt/group__serialize_gac39bf93bca023cc19379279456dac31f.html new file mode 100644 index 000000000..82956d9a9 --- /dev/null +++ b/docs/cdt/group__serialize_gac39bf93bca023cc19379279456dac31f.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: EOSLIB_SERIALIZE + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ EOSLIB_SERIALIZE

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define EOSLIB_SERIALIZE( TYPE,
 MEMBERS 
)
+
+Макроопределение:
template<typename DataStream> \
+
friend DataStream& operator << ( DataStream& ds, const TYPE& t ){ \
+
return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, <<, MEMBERS );\
+
}\
+
template<typename DataStream> \
+
friend DataStream& operator >> ( DataStream& ds, TYPE& t ){ \
+
return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, >>, MEMBERS );\
+
}
+

Задаёт сериализацию и десериализацию для класса

+
Аргументы
+ + + +
TYPE- Класс, для которого задаются сериализация и десериализация
MEMBERS- Последовательность имён полей: (field1)(field2)(field3)
+
+
+ +

См. определение в файле serialize.hpp строка 19

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__serialize_gaca7a38eac7326c602930c79d2a25a602.html b/docs/cdt/group__serialize_gaca7a38eac7326c602930c79d2a25a602.html new file mode 100644 index 000000000..450ecdbf9 --- /dev/null +++ b/docs/cdt/group__serialize_gaca7a38eac7326c602930c79d2a25a602.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: EOSLIB_SERIALIZE_DERIVED + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ EOSLIB_SERIALIZE_DERIVED

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define EOSLIB_SERIALIZE_DERIVED( TYPE,
 BASE,
 MEMBERS 
)
+
+Макроопределение:
template<typename DataStream> \
+
friend DataStream& operator << ( DataStream& ds, const TYPE& t ){ \
+
ds << static_cast<const BASE&>(t); \
+
return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, <<, MEMBERS );\
+
}\
+
template<typename DataStream> \
+
friend DataStream& operator >> ( DataStream& ds, TYPE& t ){ \
+
ds >> static_cast<BASE&>(t); \
+
return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, >>, MEMBERS );\
+
}
+

Задаёт сериализацию и десериализацию для класса, наследующего базовые классы, у которых сериализация и десериализация уже определены

+
Аргументы
+ + + + +
TYPE- Класс, для которого задаются сериализация и десериализация
BASE- Последовательность имён базовых классов: (basea)(baseb)(basec)
MEMBERS- Последовательность имён полей: (field1)(field2)(field3)
+
+
+ +

См. определение в файле serialize.hpp строка 38

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__singleton.html b/docs/cdt/group__singleton.html new file mode 100644 index 000000000..c363cfdef --- /dev/null +++ b/docs/cdt/group__singleton.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + +CDT: Singleton-таблица + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Singleton-таблица
+
+
+ +

Определяет singleton-таблицу COOPOS для использования с multiindex. +Подробнее...

+ + + + +

+Классы

class  eosio::singleton< SingletonName, T >
 
+

Подробное описание

+

Определяет singleton-таблицу COOPOS для использования с multiindex.

+
+
+ + + + + + diff --git a/docs/cdt/group__singleton.js b/docs/cdt/group__singleton.js new file mode 100644 index 000000000..f0cadd7fa --- /dev/null +++ b/docs/cdt/group__singleton.js @@ -0,0 +1,12 @@ +var group__singleton = +[ + [ "eosio::singleton< SingletonName, T >", "classeosio_1_1singleton.html", [ + [ "singleton", "classeosio_1_1singleton_aacf881ed97b04496be325d74f6b9d25e.html#aacf881ed97b04496be325d74f6b9d25e", null ], + [ "exists", "classeosio_1_1singleton_ae6eed2e5197e5b4216450e5940ab9141.html#ae6eed2e5197e5b4216450e5940ab9141", null ], + [ "get", "classeosio_1_1singleton_a53b56e4e8ed2fddd61175285afdf44d4.html#a53b56e4e8ed2fddd61175285afdf44d4", null ], + [ "get_or_create", "classeosio_1_1singleton_a7e632785eac3f1d05e08b34c49cb35dc.html#a7e632785eac3f1d05e08b34c49cb35dc", null ], + [ "get_or_default", "classeosio_1_1singleton_a6a252d888f4c0b20bb3045a443267951.html#a6a252d888f4c0b20bb3045a443267951", null ], + [ "remove", "classeosio_1_1singleton_afc70106337f2cec280dfd797a1c7920a.html#afc70106337f2cec280dfd797a1c7920a", null ], + [ "set", "classeosio_1_1singleton_aada28dbeaf0961614beff67a38553a3c.html#aada28dbeaf0961614beff67a38553a3c", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/cdt/group__symbol.html b/docs/cdt/group__symbol.html new file mode 100644 index 000000000..e75725e3c --- /dev/null +++ b/docs/cdt/group__symbol.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: Символ + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Символ
+
+
+ +

Определяет C++ API для работы с символами +Подробнее...

+ + + + + + + + +

+Классы

class  eosio::symbol_code
 
class  eosio::symbol
 
class  eosio::extended_symbol
 
+

Подробное описание

+

Определяет C++ API для работы с символами

+
+
+ + + + + + diff --git a/docs/cdt/group__symbol.js b/docs/cdt/group__symbol.js new file mode 100644 index 000000000..bed9ff4f4 --- /dev/null +++ b/docs/cdt/group__symbol.js @@ -0,0 +1,43 @@ +var group__symbol = +[ + [ "eosio::symbol_code", "classeosio_1_1symbol__code.html", [ + [ "symbol_code", "classeosio_1_1symbol__code_a9d8538c2ff41df391b45cfb6190a1ed4.html#a9d8538c2ff41df391b45cfb6190a1ed4", null ], + [ "symbol_code", "classeosio_1_1symbol__code_a5a95bedec99aff1d70a782b365bc28d0.html#a5a95bedec99aff1d70a782b365bc28d0", null ], + [ "symbol_code", "classeosio_1_1symbol__code_afba617179edadad41667b707176943fc.html#afba617179edadad41667b707176943fc", null ], + [ "is_valid", "classeosio_1_1symbol__code_a87acfd4b3bd04ca4b9ba84f6ea12d5d0.html#a87acfd4b3bd04ca4b9ba84f6ea12d5d0", null ], + [ "length", "classeosio_1_1symbol__code_adf291364853aa746ddc32942881b2e64.html#adf291364853aa746ddc32942881b2e64", null ], + [ "operator bool", "classeosio_1_1symbol__code_a9b45275437c716ebc9ba95d199c04ed1.html#a9b45275437c716ebc9ba95d199c04ed1", null ], + [ "print", "classeosio_1_1symbol__code_aac85cf2211c7f763232ecc05d473f7ff.html#aac85cf2211c7f763232ecc05d473f7ff", null ], + [ "raw", "classeosio_1_1symbol__code_a9c4430961f11cf7a207ac7d4c4827210.html#a9c4430961f11cf7a207ac7d4c4827210", null ], + [ "to_string", "classeosio_1_1symbol__code_a075d0d69307bd9180b147a809f07bad5.html#a075d0d69307bd9180b147a809f07bad5", null ], + [ "write_as_string", "classeosio_1_1symbol__code_a65ea077da3315b0a94ad0e9478911efc.html#a65ea077da3315b0a94ad0e9478911efc", null ], + [ "operator!=", "classeosio_1_1symbol__code_acd21f55772dbdf25fe5dbc182683fee0.html#acd21f55772dbdf25fe5dbc182683fee0", null ], + [ "operator<", "classeosio_1_1symbol__code_a8dd79cc2a20dc7bf2788fd6416003891.html#a8dd79cc2a20dc7bf2788fd6416003891", null ], + [ "operator==", "classeosio_1_1symbol__code_a679be838b5e39b806fa42577124a214a.html#a679be838b5e39b806fa42577124a214a", null ] + ] ], + [ "eosio::symbol", "classeosio_1_1symbol.html", [ + [ "symbol", "classeosio_1_1symbol_a6604372bb0cc9d3c70a3b77973517e41.html#a6604372bb0cc9d3c70a3b77973517e41", null ], + [ "symbol", "classeosio_1_1symbol_abcbc25794d1a3e0477be40441be6b210.html#abcbc25794d1a3e0477be40441be6b210", null ], + [ "symbol", "classeosio_1_1symbol_a990e99879ecbebb194e5de43932ec59b.html#a990e99879ecbebb194e5de43932ec59b", null ], + [ "symbol", "classeosio_1_1symbol_afc5e4be9944b51deac6484128deb2ce2.html#afc5e4be9944b51deac6484128deb2ce2", null ], + [ "code", "classeosio_1_1symbol_a559c818f42e9d0df1a4c4823d7c6ecd8.html#a559c818f42e9d0df1a4c4823d7c6ecd8", null ], + [ "is_valid", "classeosio_1_1symbol_af52f86a82390abe6be09e9745df30815.html#af52f86a82390abe6be09e9745df30815", null ], + [ "operator bool", "classeosio_1_1symbol_a6c974f93f06131859376b75c4df03a53.html#a6c974f93f06131859376b75c4df03a53", null ], + [ "precision", "classeosio_1_1symbol_af2153bf9cfc5bd79c3f1787f8028646a.html#af2153bf9cfc5bd79c3f1787f8028646a", null ], + [ "print", "classeosio_1_1symbol_a9f8042d110a6fff15ea1813987c0fbe6.html#a9f8042d110a6fff15ea1813987c0fbe6", null ], + [ "raw", "classeosio_1_1symbol_a9cb96662a0965ac03e1bf5acfbbda011.html#a9cb96662a0965ac03e1bf5acfbbda011", null ], + [ "operator!=", "classeosio_1_1symbol_a62adc71177b7a104162f7618cb0bac44.html#a62adc71177b7a104162f7618cb0bac44", null ], + [ "operator<", "classeosio_1_1symbol_a5ffd3dd1dfad342b30aed2c53993c548.html#a5ffd3dd1dfad342b30aed2c53993c548", null ], + [ "operator==", "classeosio_1_1symbol_aec9fbc4e4aff91276e8c1f71f113c494.html#aec9fbc4e4aff91276e8c1f71f113c494", null ] + ] ], + [ "eosio::extended_symbol", "classeosio_1_1extended__symbol.html", [ + [ "extended_symbol", "classeosio_1_1extended__symbol_a56dc99d1a5b4a6edb9366d2b3f64b4f7.html#a56dc99d1a5b4a6edb9366d2b3f64b4f7", null ], + [ "extended_symbol", "classeosio_1_1extended__symbol_aa9ebafeb8a32c6b0965de82f407a9730.html#aa9ebafeb8a32c6b0965de82f407a9730", null ], + [ "get_contract", "classeosio_1_1extended__symbol_aa215d71db628ab457c8eff30912eae82.html#aa215d71db628ab457c8eff30912eae82", null ], + [ "get_symbol", "classeosio_1_1extended__symbol_a81b0741a1705ad99855aa375fe004b9d.html#a81b0741a1705ad99855aa375fe004b9d", null ], + [ "print", "classeosio_1_1extended__symbol_a2b1d5fafb307b27aab4274560a09866e.html#a2b1d5fafb307b27aab4274560a09866e", null ], + [ "operator!=", "classeosio_1_1extended__symbol_aafb631b64d0586016ca8ea499350820d.html#aafb631b64d0586016ca8ea499350820d", null ], + [ "operator<", "classeosio_1_1extended__symbol_afeaa211627f6df2a4f4f31aefedc6077.html#afeaa211627f6df2a4f4f31aefedc6077", null ], + [ "operator==", "classeosio_1_1extended__symbol_ad306b3eaac29fba58441578b179398bc.html#ad306b3eaac29fba58441578b179398bc", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/cdt/group__system.html b/docs/cdt/group__system.html new file mode 100644 index 000000000..eb1c15696 --- /dev/null +++ b/docs/cdt/group__system.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: Система + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Обёртки над eosio_assert. +Подробнее...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Функции

void eosio::check (bool pred, std::string_view msg)
 
void eosio::check (bool pred, const char *msg)
 
void eosio::check (bool pred, const std::string &msg)
 
void eosio::check (bool pred, std::string &&msg)
 
void eosio::check (bool pred, const char *msg, size_t n)
 
void eosio::check (bool pred, const std::string &msg, size_t n)
 
void eosio::check (bool pred, uint64_t code)
 
void eosio::eosio_exit (int32_t code)
 
time_point eosio::current_time_point ()
 
block_timestamp eosio::current_block_time ()
 
block_num_t eosio::current_block_number ()
 
bool eosio::is_feature_activated (const checksum256 &feature_digest)
 
name eosio::get_sender ()
 
+

Подробное описание

+

Обёртки над eosio_assert.

+

Определяет функции, связанные со временем, и eosio_exit.

+
+
+ + + + + + diff --git a/docs/cdt/group__system.js b/docs/cdt/group__system.js new file mode 100644 index 000000000..4fae55878 --- /dev/null +++ b/docs/cdt/group__system.js @@ -0,0 +1,16 @@ +var group__system = +[ + [ "eosio::check", "group__system_ga919983993e7c2b18dcb253e3a8ef33e4.html#ga919983993e7c2b18dcb253e3a8ef33e4", null ], + [ "eosio::check", "group__system_gad245a249b8721374fe09819a00a86906.html#gad245a249b8721374fe09819a00a86906", null ], + [ "eosio::check", "group__system_gaaa7adb3f6c40df0e974eab5f84e1377b.html#gaaa7adb3f6c40df0e974eab5f84e1377b", null ], + [ "eosio::check", "group__system_ga076f987fe64de4738b5d2f4381150253.html#ga076f987fe64de4738b5d2f4381150253", null ], + [ "eosio::check", "group__system_ga61e4624ef8320a0d9918cf247df4df90.html#ga61e4624ef8320a0d9918cf247df4df90", null ], + [ "eosio::check", "group__system_ga54ad844cfe9f99f2c7cfcc935559e633.html#ga54ad844cfe9f99f2c7cfcc935559e633", null ], + [ "eosio::check", "group__system_ga2f6537af230517a619f07727f6ff33a5.html#ga2f6537af230517a619f07727f6ff33a5", null ], + [ "eosio::current_block_number", "group__system_gad7e3e2102562d6671dd70bdac6feda0c.html#gad7e3e2102562d6671dd70bdac6feda0c", null ], + [ "eosio::current_block_time", "group__system_gada0c9f4292996498bc781f2f52255086.html#gada0c9f4292996498bc781f2f52255086", null ], + [ "eosio::current_time_point", "group__system_gad5f4701ab1b418fe1f1558e199047e35.html#gad5f4701ab1b418fe1f1558e199047e35", null ], + [ "eosio::eosio_exit", "group__system_ga956ded6d541ae9e454b446f0d5d0b24c.html#ga956ded6d541ae9e454b446f0d5d0b24c", null ], + [ "eosio::get_sender", "group__system_gad4861c14350c38823173733ce00ba6ff.html#gad4861c14350c38823173733ce00ba6ff", null ], + [ "eosio::is_feature_activated", "group__system_ga6a213f83fa0851779c32cfcf66c816a9.html#ga6a213f83fa0851779c32cfcf66c816a9", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__system_ga076f987fe64de4738b5d2f4381150253.html b/docs/cdt/group__system_ga076f987fe64de4738b5d2f4381150253.html new file mode 100644 index 000000000..353a26a67 --- /dev/null +++ b/docs/cdt/group__system_ga076f987fe64de4738b5d2f4381150253.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::check + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ check() [4/7]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::check (bool pred,
const std::string & msg,
size_t n 
)
+
+inline
+
+

Прерывает выполнение контракта, если pred == false; в среду передаются первые n символов строки msg.

+

Пример:

std::string msg = "a does not equal b b does not equal a";
+
eosio::check(a == b, msg, 18);
+
+

См. определение в файле check.hpp строка 124

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_ga2f6537af230517a619f07727f6ff33a5.html b/docs/cdt/group__system_ga2f6537af230517a619f07727f6ff33a5.html new file mode 100644 index 000000000..10b52be7a --- /dev/null +++ b/docs/cdt/group__system_ga2f6537af230517a619f07727f6ff33a5.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::check + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ check() [7/7]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::check (bool pred,
uint64_t code 
)
+
+inline
+
+

Прерывает выполнение контракта, если pred == false; передаётся числовой код ошибки code (eosio_assert_code).

+

Пример:

eosio::check(a == b, 13);
+
+

См. определение в файле check.hpp строка 140

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_ga54ad844cfe9f99f2c7cfcc935559e633.html b/docs/cdt/group__system_ga54ad844cfe9f99f2c7cfcc935559e633.html new file mode 100644 index 000000000..dc4b4e9a1 --- /dev/null +++ b/docs/cdt/group__system_ga54ad844cfe9f99f2c7cfcc935559e633.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::check + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ check() [6/7]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::check (bool pred,
std::string_view msg 
)
+
+inline
+
+

Прерывает выполнение контракта, если pred == false; сообщение msg передаётся в среду COOPOS.

+

Пример:

eosio::check(a == b, "a does not equal b");
+
+

См. определение в файле check.hpp строка 42

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_ga61e4624ef8320a0d9918cf247df4df90.html b/docs/cdt/group__system_ga61e4624ef8320a0d9918cf247df4df90.html new file mode 100644 index 000000000..19e442e86 --- /dev/null +++ b/docs/cdt/group__system_ga61e4624ef8320a0d9918cf247df4df90.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::check + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ check() [5/7]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::check (bool pred,
std::string && msg 
)
+
+inline
+
+

Прерывает выполнение контракта, если pred == false; сообщение — rvalue std::string.

+

Пример:

eosio::check(a == b, "a does not equal b");
+
+

См. определение в файле check.hpp строка 89

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_ga6a213f83fa0851779c32cfcf66c816a9.html b/docs/cdt/group__system_ga6a213f83fa0851779c32cfcf66c816a9.html new file mode 100644 index 000000000..069794ba6 --- /dev/null +++ b/docs/cdt/group__system_ga6a213f83fa0851779c32cfcf66c816a9.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::is_feature_activated + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ is_feature_activated()

+ +
+
+ + + + + +
+ + + + + + + + +
bool eosio::is_feature_activated (const checksum256 & feature_digest)
+
+inline
+
+

Проверяет, активирована ли указанная протокольная возможность в COOPOS

+
Аргументы
+ + +
feature_digest— дайджест протокольной возможности
+
+
+
Возвращает
true, если возможность активирована, иначе false
+ +

См. определение в файле system.hpp строка 100

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_ga919983993e7c2b18dcb253e3a8ef33e4.html b/docs/cdt/group__system_ga919983993e7c2b18dcb253e3a8ef33e4.html new file mode 100644 index 000000000..6f243c357 --- /dev/null +++ b/docs/cdt/group__system_ga919983993e7c2b18dcb253e3a8ef33e4.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::check + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ check() [1/7]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::check (bool pred,
const char * msg 
)
+
+inline
+
+

Прерывает выполнение контракта, если pred == false; сообщение — C-строка msg.

+

Пример:

eosio::check(a == b, "a does not equal b");
+
+

См. определение в файле check.hpp строка 57

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_ga956ded6d541ae9e454b446f0d5d0b24c.html b/docs/cdt/group__system_ga956ded6d541ae9e454b446f0d5d0b24c.html new file mode 100644 index 000000000..1c80dfc2d --- /dev/null +++ b/docs/cdt/group__system_ga956ded6d541ae9e454b446f0d5d0b24c.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::eosio_exit + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ eosio_exit()

+ +
+
+ + + + + +
+ + + + + + + + +
void eosio::eosio_exit (int32_t code)
+
+inline
+
+

Прерывает выполнение WASM без признания контракта провалившимся. Используется, чтобы обойти обычную очистку и деструкторы при нормальном выходе.

+

<html>

+

ВНИМАНИЕ: метод немедленно обрывает выполнение WASM-кода на стеке, который выполнился бы при обычном возврате из функции. Возможны проблемы с кэшами записи, RAII, подсчётом ссылок, если выполнение WASM прерывается сразу.

+

</html>

+
Аргументы
+ + +
code— код выхода Пример:
+
+
+ +

См. определение в файле system.hpp строка 61

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_gaaa7adb3f6c40df0e974eab5f84e1377b.html b/docs/cdt/group__system_gaaa7adb3f6c40df0e974eab5f84e1377b.html new file mode 100644 index 000000000..74790c96a --- /dev/null +++ b/docs/cdt/group__system_gaaa7adb3f6c40df0e974eab5f84e1377b.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::check + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ check() [3/7]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void eosio::check (bool pred,
const std::string & msg 
)
+
+inline
+
+

Прерывает выполнение контракта, если pred == false; сообщение — std::string.

+

Пример:

eosio::check(a == b, "a does not equal b");
+
+

См. определение в файле check.hpp строка 73

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_gad245a249b8721374fe09819a00a86906.html b/docs/cdt/group__system_gad245a249b8721374fe09819a00a86906.html new file mode 100644 index 000000000..e6247eb89 --- /dev/null +++ b/docs/cdt/group__system_gad245a249b8721374fe09819a00a86906.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::check + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ check() [2/7]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::check (bool pred,
const char * msg,
size_t n 
)
+
+inline
+
+

Прерывает выполнение контракта, если pred == false; в среду передаются первые n байт сообщения msg.

+

Пример:

const char* msg = "a does not equal b b does not equal a";
+
eosio::check(a == b, "a does not equal b", 18);
+
+

См. определение в файле check.hpp строка 107

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_gad4861c14350c38823173733ce00ba6ff.html b/docs/cdt/group__system_gad4861c14350c38823173733ce00ba6ff.html new file mode 100644 index 000000000..3fe95d855 --- /dev/null +++ b/docs/cdt/group__system_gad4861c14350c38823173733ce00ba6ff.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::get_sender + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_sender()

+ +
+
+ + + + + +
+ + + + + + + +
name eosio::get_sender ()
+
+inline
+
+

Имя аккаунта, отправившего текущее inline-действие

+
Возвращает
имя отправителя текущего inline-действия (пустое имя, если вызов не из inline-действия)
+ +

См. определение в файле system.hpp строка 113

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_gad5f4701ab1b418fe1f1558e199047e35.html b/docs/cdt/group__system_gad5f4701ab1b418fe1f1558e199047e35.html new file mode 100644 index 000000000..6022046d9 --- /dev/null +++ b/docs/cdt/group__system_gad5f4701ab1b418fe1f1558e199047e35.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::current_time_point + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ current_time_point()

+ +
+
+ + + + + + + +
time_point eosio::current_time_point ()
+
+

Время текущего блока в микросекундах от 1970 года как time_point

+
Возвращает
время текущего блока в микросекундах от 1970 года (time_point)
+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_gad7e3e2102562d6671dd70bdac6feda0c.html b/docs/cdt/group__system_gad7e3e2102562d6671dd70bdac6feda0c.html new file mode 100644 index 000000000..d7510357a --- /dev/null +++ b/docs/cdt/group__system_gad7e3e2102562d6671dd70bdac6feda0c.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::current_block_number + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ current_block_number()

+ +
+
+ + + + + +
+ + + + + + + +
block_num_t eosio::current_block_number ()
+
+inline
+
+

Номер текущего блока

+
Возвращает
номер текущего блока
+ +

См. определение в файле system.hpp строка 89

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__system_gada0c9f4292996498bc781f2f52255086.html b/docs/cdt/group__system_gada0c9f4292996498bc781f2f52255086.html new file mode 100644 index 000000000..535445131 --- /dev/null +++ b/docs/cdt/group__system_gada0c9f4292996498bc781f2f52255086.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::current_block_time + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ current_block_time()

+ +
+
+ + + + + + + +
block_timestamp eosio::current_block_time ()
+
+

Время текущего блока в микросекундах от 1970 года как block_timestamp

+
Возвращает
время текущего блока в микросекундах от 1970 года (block_timestamp)
+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__time.html b/docs/cdt/group__time.html new file mode 100644 index 000000000..a58dd15ae --- /dev/null +++ b/docs/cdt/group__time.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: Время + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Классы для работы со временем. +Подробнее...

+ + + + + + + + +

+Классы

class  eosio::time_point
 
class  eosio::time_point_sec
 
class  eosio::block_timestamp
 
+ + + +

+Определения типов

typedef block_timestamp eosio::block_timestamp_type
 
+

Подробное описание

+

Классы для работы со временем.

+
+
+ + + + + + diff --git a/docs/cdt/group__time.js b/docs/cdt/group__time.js new file mode 100644 index 000000000..a8ca1cee2 --- /dev/null +++ b/docs/cdt/group__time.js @@ -0,0 +1,27 @@ +var group__time = +[ + [ "eosio::time_point", "classeosio_1_1time__point.html", [ + [ "time_point", "classeosio_1_1time__point_a307b17c8475291a97892a1f9cd76fa36.html#a307b17c8475291a97892a1f9cd76fa36", null ], + [ "sec_since_epoch", "classeosio_1_1time__point_aedda68d4c06c12b9dcf27a8964f2c6a9.html#aedda68d4c06c12b9dcf27a8964f2c6a9", null ], + [ "time_since_epoch", "classeosio_1_1time__point_ad011eb25db435de048b2a5a00dcee066.html#ad011eb25db435de048b2a5a00dcee066", null ], + [ "to_string", "classeosio_1_1time__point_ac96d4680cf94a4a75bccd52ff2d5930e.html#ac96d4680cf94a4a75bccd52ff2d5930e", null ] + ] ], + [ "eosio::time_point_sec", "classeosio_1_1time__point__sec.html", [ + [ "time_point_sec", "classeosio_1_1time__point__sec_ab0f6a00b7d53d82a9c68ee385d35c0cb.html#ab0f6a00b7d53d82a9c68ee385d35c0cb", null ], + [ "time_point_sec", "classeosio_1_1time__point__sec_a119a4edea2590a1152db08c4fc51e811.html#a119a4edea2590a1152db08c4fc51e811", null ], + [ "time_point_sec", "classeosio_1_1time__point__sec_afc6c67209c28cd9e5d70a4298deb39ad.html#afc6c67209c28cd9e5d70a4298deb39ad", null ], + [ "operator time_point", "classeosio_1_1time__point__sec_acd75205a33a0ccbb5e2d3ceea12182a7.html#acd75205a33a0ccbb5e2d3ceea12182a7", null ], + [ "sec_since_epoch", "classeosio_1_1time__point__sec_a9f061ae99cc49726e27ac9c29a460b5f.html#a9f061ae99cc49726e27ac9c29a460b5f", null ], + [ "to_string", "classeosio_1_1time__point__sec_a697e77fb6964d691d97aa6cd0c59e217.html#a697e77fb6964d691d97aa6cd0c59e217", null ] + ] ], + [ "eosio::block_timestamp", "classeosio_1_1block__timestamp.html", [ + [ "block_timestamp", "classeosio_1_1block__timestamp_aa719feec777894d3612305fcdf579d1e.html#aa719feec777894d3612305fcdf579d1e", null ], + [ "block_timestamp", "classeosio_1_1block__timestamp_a72934b4290a476785f852983608263b0.html#a72934b4290a476785f852983608263b0", null ], + [ "block_timestamp", "classeosio_1_1block__timestamp_aae1af00ad48d215fbd72d3e2339655bf.html#aae1af00ad48d215fbd72d3e2339655bf", null ], + [ "next", "classeosio_1_1block__timestamp_a07825f36097aa846aecaa221239874d6.html#a07825f36097aa846aecaa221239874d6", null ], + [ "operator time_point", "classeosio_1_1block__timestamp_abc0874625ff948fb8f23dd41644aee23.html#abc0874625ff948fb8f23dd41644aee23", null ], + [ "to_string", "classeosio_1_1block__timestamp_a0bb7b80144520847d11ee3d3a4b81bae.html#a0bb7b80144520847d11ee3d3a4b81bae", null ], + [ "to_time_point", "classeosio_1_1block__timestamp_ac645cbc95a573b9ddc33439bf7953e83.html#ac645cbc95a573b9ddc33439bf7953e83", null ] + ] ], + [ "eosio::block_timestamp_type", "group__time_ga4f8fa835ef0dc341addb6e51d0d840b3.html#ga4f8fa835ef0dc341addb6e51d0d840b3", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__time_ga4f8fa835ef0dc341addb6e51d0d840b3.html b/docs/cdt/group__time_ga4f8fa835ef0dc341addb6e51d0d840b3.html new file mode 100644 index 000000000..0673066a4 --- /dev/null +++ b/docs/cdt/group__time_ga4f8fa835ef0dc341addb6e51d0d840b3.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_timestamp_type + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ block_timestamp_type

+ +
+
+ +

См. определение в файле time.hpp строка 247

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction.html b/docs/cdt/group__transaction.html new file mode 100644 index 000000000..b68d72276 --- /dev/null +++ b/docs/cdt/group__transaction.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + +CDT: Транзакция + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Типобезопасные C++-обёртки над C API транзакций COOPOS. +Подробнее...

+ + + + + + + + + +

+Классы

class  eosio::transaction_header
 Содержит сведения о транзакции Подробнее...
 
class  eosio::transaction
 
struct  eosio::onerror
 
+ + + + + +

+Определения типов

typedef std::tuple< uint16_t, std::vector< char > > eosio::extension
 
typedef std::vector< extensioneosio::extensions_type
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Функции

static onerror eosio::onerror::from_current_action ()
 
void eosio::send_deferred (const uint128_t &sender_id, name payer, const char *serialized_transaction, size_t size, bool replace=false)
 
action eosio::get_action (uint32_t type, uint32_t index)
 
size_t eosio::read_transaction (char *ptr, size_t sz)
 
int eosio::cancel_deferred (const uint128_t &sender_id)
 
size_t eosio::transaction_size ()
 
int eosio::tapos_block_num ()
 
int eosio::tapos_block_prefix ()
 
uint32_t eosio::expiration ()
 Возвращает срок действия текущей выполняемой транзакции. Подробнее...
 
int eosio::get_context_free_data (uint32_t index, char *buff, size_t size)
 
+

Подробное описание

+

Типобезопасные C++-обёртки над C API транзакций COOPOS.

+

Встроенное (inline) сообщение позволяет одному контракту отправить другому контракту сообщение, которое обрабатывается сразу после завершения обработки текущего сообщения, так что успех или неудача родительской транзакции зависят от успеха этого сообщения. Если встроенное сообщение завершается с ошибкой при обработке, то всё дерево транзакций и действий, укоренённое в блоке, помечается как неуспешное, и ни один эффект в базе данных не сохраняется.

+

Встроенные действия и отложенные транзакции должны соблюдать разрешения (permissions), доступные родительской транзакции или, в будущем, делегированные аккаунту контракта для последующего использования.

+
Заметки
Некоторые методы из transactioncapi можно вызывать напрямую из C++
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction.js b/docs/cdt/group__transaction.js new file mode 100644 index 000000000..5e0f2c096 --- /dev/null +++ b/docs/cdt/group__transaction.js @@ -0,0 +1,36 @@ +var group__transaction = +[ + [ "eosio::transaction_header", "classeosio_1_1transaction__header.html", [ + [ "transaction_header", "classeosio_1_1transaction__header_a6abf412b441f881616bad00837503075.html#a6abf412b441f881616bad00837503075", null ], + [ "delay_sec", "classeosio_1_1transaction__header_adbe5ee5f38a82db68162188c49d62f39.html#adbe5ee5f38a82db68162188c49d62f39", null ], + [ "expiration", "classeosio_1_1transaction__header_a32a532f21d5a5eeadd892723d9171e05.html#a32a532f21d5a5eeadd892723d9171e05", null ], + [ "max_cpu_usage_ms", "classeosio_1_1transaction__header_a5fbc5f8eef0093ad65598953156d4359.html#a5fbc5f8eef0093ad65598953156d4359", null ], + [ "max_net_usage_words", "classeosio_1_1transaction__header_aad5eeaa9d26473ae8faa0d9c5cf44c0e.html#aad5eeaa9d26473ae8faa0d9c5cf44c0e", null ], + [ "ref_block_num", "classeosio_1_1transaction__header_a7bd1f446f3a9a212183787d223d89766.html#a7bd1f446f3a9a212183787d223d89766", null ], + [ "ref_block_prefix", "classeosio_1_1transaction__header_aed4b528cd8a73ac9fa9cb5b7c429f90c.html#aed4b528cd8a73ac9fa9cb5b7c429f90c", null ] + ] ], + [ "eosio::transaction", "classeosio_1_1transaction.html", [ + [ "transaction", "classeosio_1_1transaction_aa1c104e5e613662ae3d5c6f66313b352.html#aa1c104e5e613662ae3d5c6f66313b352", null ], + [ "send", "classeosio_1_1transaction_aff16436e52fff284fabc0b748be342b4.html#aff16436e52fff284fabc0b748be342b4", null ], + [ "actions", "classeosio_1_1transaction_ad53cc19e62742bf205934509c1363e42.html#ad53cc19e62742bf205934509c1363e42", null ], + [ "context_free_actions", "classeosio_1_1transaction_a38263b68fda9925f2c6472777a04179c.html#a38263b68fda9925f2c6472777a04179c", null ], + [ "transaction_extensions", "classeosio_1_1transaction_a445fd87e3465a1ca647c711c1ac0c711.html#a445fd87e3465a1ca647c711c1ac0c711", null ] + ] ], + [ "eosio::onerror", "structeosio_1_1onerror.html", [ + [ "unpack_sent_trx", "structeosio_1_1onerror_a8fe8368f7a3213b5ab0a93407f41cd66.html#a8fe8368f7a3213b5ab0a93407f41cd66", null ], + [ "sender_id", "structeosio_1_1onerror_ae6686bc621795ad87f257d0be72f345c.html#ae6686bc621795ad87f257d0be72f345c", null ], + [ "sent_trx", "structeosio_1_1onerror_a1cae304360f79394762ec5040046887e.html#a1cae304360f79394762ec5040046887e", null ] + ] ], + [ "eosio::extension", "group__transaction_gaaf3ea17209c6d47129b2b232aede5439.html#gaaf3ea17209c6d47129b2b232aede5439", null ], + [ "eosio::extensions_type", "group__transaction_ga19c346b66f7145a5336177ac3eb0849e.html#ga19c346b66f7145a5336177ac3eb0849e", null ], + [ "eosio::cancel_deferred", "group__transaction_ga78a95bee813140ef77b2b8641c472cfa.html#ga78a95bee813140ef77b2b8641c472cfa", null ], + [ "eosio::expiration", "group__transaction_gaf1dda66d94fcc04a2b5fa7a8bffd75b0.html#gaf1dda66d94fcc04a2b5fa7a8bffd75b0", null ], + [ "eosio::onerror::from_current_action", "group__transaction_gabdf7bc0ef45beae2daf8cf3f08a7cd42.html#gabdf7bc0ef45beae2daf8cf3f08a7cd42", null ], + [ "eosio::get_action", "group__transaction_gac01a00482f2dc95bf4850b2e8213ee90.html#gac01a00482f2dc95bf4850b2e8213ee90", null ], + [ "eosio::get_context_free_data", "group__transaction_ga0a8affaada54b4a722e819c9da056211.html#ga0a8affaada54b4a722e819c9da056211", null ], + [ "eosio::read_transaction", "group__transaction_ga47f5ea185e11cab47e2bddd08598375f.html#ga47f5ea185e11cab47e2bddd08598375f", null ], + [ "eosio::send_deferred", "group__transaction_ga92cd86171a4bcc86bb3bc974618005e5.html#ga92cd86171a4bcc86bb3bc974618005e5", null ], + [ "eosio::tapos_block_num", "group__transaction_gad2a14b4c7ce6445f669a42ef73a4b685.html#gad2a14b4c7ce6445f669a42ef73a4b685", null ], + [ "eosio::tapos_block_prefix", "group__transaction_ga8ebcde8a1e1665142ca0b51e4118ed17.html#ga8ebcde8a1e1665142ca0b51e4118ed17", null ], + [ "eosio::transaction_size", "group__transaction_ga44eb86f3c4e862cbb5c862f29b77aa1f.html#ga44eb86f3c4e862cbb5c862f29b77aa1f", null ] +]; \ No newline at end of file diff --git a/docs/cdt/group__transaction_ga0a8affaada54b4a722e819c9da056211.html b/docs/cdt/group__transaction_ga0a8affaada54b4a722e819c9da056211.html new file mode 100644 index 000000000..8c9cecd58 --- /dev/null +++ b/docs/cdt/group__transaction_ga0a8affaada54b4a722e819c9da056211.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::get_context_free_data + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_context_free_data()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
int eosio::get_context_free_data (uint32_t index,
char * buff,
size_t size 
)
+
+inline
+
+

Извлекает signed_transaction.context_free_data[index]

+
Аргументы
+ + + + +
index— индекс записи context_free_data
buff— выходной буфер для данных context_free_data
size— сколько байт context_free_data[index] поместить в buff; 0 — вернуть требуемый размер
+
+
+
Возвращает
число скопированных байт, либо context_free_data[index].size() при size == 0, либо -1 при неверном index
+ +

См. определение в файле transaction.hpp строка 283

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_ga19c346b66f7145a5336177ac3eb0849e.html b/docs/cdt/group__transaction_ga19c346b66f7145a5336177ac3eb0849e.html new file mode 100644 index 000000000..8031c4bff --- /dev/null +++ b/docs/cdt/group__transaction_ga19c346b66f7145a5336177ac3eb0849e.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extensions_type + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ extensions_type

+ +
+
+ + + + +
typedef std::vector<extension> eosio::extensions_type
+
+ +

См. определение в файле transaction.hpp строка 70

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_ga44eb86f3c4e862cbb5c862f29b77aa1f.html b/docs/cdt/group__transaction_ga44eb86f3c4e862cbb5c862f29b77aa1f.html new file mode 100644 index 000000000..768eaadc9 --- /dev/null +++ b/docs/cdt/group__transaction_ga44eb86f3c4e862cbb5c862f29b77aa1f.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::transaction_size + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ transaction_size()

+ +
+
+ + + + + +
+ + + + + + + +
size_t eosio::transaction_size ()
+
+inline
+
+

Возвращает размер текущей выполняемой транзакции

+
Возвращает
размер текущей выполняемой транзакции (байт)
+ +

См. определение в файле transaction.hpp строка 231

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_ga47f5ea185e11cab47e2bddd08598375f.html b/docs/cdt/group__transaction_ga47f5ea185e11cab47e2bddd08598375f.html new file mode 100644 index 000000000..a76fc03c3 --- /dev/null +++ b/docs/cdt/group__transaction_ga47f5ea185e11cab47e2bddd08598375f.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::read_transaction + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ read_transaction()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
size_t eosio::read_transaction (char * ptr,
size_t sz 
)
+
+inline
+
+

Читает текущую выполняемую транзакцию в буфер

+
Возвращает
число байт, записанных в ptr
+ +

См. определение в файле transaction.hpp строка 199

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_ga78a95bee813140ef77b2b8641c472cfa.html b/docs/cdt/group__transaction_ga78a95bee813140ef77b2b8641c472cfa.html new file mode 100644 index 000000000..c2346ec28 --- /dev/null +++ b/docs/cdt/group__transaction_ga78a95bee813140ef77b2b8641c472cfa.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::cancel_deferred + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ cancel_deferred()

+ +
+
+ + + + + +
+ + + + + + + + +
int eosio::cancel_deferred (const uint128_t & sender_id)
+
+inline
+
+

Отменяет отложенную транзакцию

+
Аргументы
+ + +
sender_id— идентификатор отправителя
+
+
+
Предусловие
Идентификатор отложенной транзакции существует.
+
+Отложенная транзакция с этим идентификатором ещё не опубликована.
+
Постусловие
Отложенная транзакция отменена.
+
Возвращает
1, если транзакция отменена; 0, если транзакция не найдена
+

Пример:

id = 0xffffffffffffffff
+ +
+

См. определение в файле transaction.hpp строка 221

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_ga8ebcde8a1e1665142ca0b51e4118ed17.html b/docs/cdt/group__transaction_ga8ebcde8a1e1665142ca0b51e4118ed17.html new file mode 100644 index 000000000..e44e5d859 --- /dev/null +++ b/docs/cdt/group__transaction_ga8ebcde8a1e1665142ca0b51e4118ed17.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::tapos_block_prefix + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ tapos_block_prefix()

+ +
+
+ + + + + +
+ + + + + + + +
int eosio::tapos_block_prefix ()
+
+inline
+
+

Возвращает префикс блока, используемый для TAPOS в текущей выполняемой транзакции

+
Возвращает
префикс блока TAPOS для текущей транзакции Пример:
int tbp = tapos_block_prefix();
+
+ +

См. определение в файле transaction.hpp строка 259

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_ga92cd86171a4bcc86bb3bc974618005e5.html b/docs/cdt/group__transaction_ga92cd86171a4bcc86bb3bc974618005e5.html new file mode 100644 index 000000000..6d7772256 --- /dev/null +++ b/docs/cdt/group__transaction_ga92cd86171a4bcc86bb3bc974618005e5.html @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::send_deferred + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ send_deferred()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void eosio::send_deferred (const uint128_t & sender_id,
name payer,
const char * serialized_transaction,
size_t size,
bool replace = false 
)
+
+inline
+
+

Отправляет отложенную транзакцию

+
Аргументы
+ + + + + + +
sender_id— имя аккаунта отправителя этой отложенной транзакции
payer— имя аккаунта, отвечающего за оплату RAM для этой отложенной транзакции
serialized_transaction— упакованная транзакция для отложенного выполнения
size— размер упакованной транзакции, необходим для сохранения
replace— если true, заменяет существующую транзакцию
+
+
+ +

См. определение в файле transaction.hpp строка 171

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_gaaf3ea17209c6d47129b2b232aede5439.html b/docs/cdt/group__transaction_gaaf3ea17209c6d47129b2b232aede5439.html new file mode 100644 index 000000000..f993d783c --- /dev/null +++ b/docs/cdt/group__transaction_gaaf3ea17209c6d47129b2b232aede5439.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extension + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ extension

+ +
+
+ + + + +
typedef std::tuple<uint16_t, std::vector<char> > eosio::extension
+
+ +

См. определение в файле transaction.hpp строка 65

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_gabdf7bc0ef45beae2daf8cf3f08a7cd42.html b/docs/cdt/group__transaction_gabdf7bc0ef45beae2daf8cf3f08a7cd42.html new file mode 100644 index 000000000..e7bfabcf1 --- /dev/null +++ b/docs/cdt/group__transaction_gabdf7bc0ef45beae2daf8cf3f08a7cd42.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::onerror::from_current_action + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ from_current_action()

+ +
+
+ + + + + +
+ + + + + + + +
static onerror eosio::onerror::from_current_action ()
+
+inlinestatic
+
+

Распаковывает из текущего действия и возвращает структуру onerror

+ +

См. определение в файле transaction.hpp строка 147

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_gac01a00482f2dc95bf4850b2e8213ee90.html b/docs/cdt/group__transaction_gac01a00482f2dc95bf4850b2e8213ee90.html new file mode 100644 index 000000000..be0e1416d --- /dev/null +++ b/docs/cdt/group__transaction_gac01a00482f2dc95bf4850b2e8213ee90.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::get_action + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ get_action()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
action eosio::get_action (uint32_t type,
uint32_t index 
)
+
+inline
+
+

Возвращает указанное действие из активной транзакции

+
Аргументы
+ + + +
type— 0 для действия без контекста (context free), 1 для обычного действия
index— индекс запрашиваемого действия
+
+
+
Возвращает
запрошенное действие
+ +

См. определение в файле transaction.hpp строка 182

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_gad2a14b4c7ce6445f669a42ef73a4b685.html b/docs/cdt/group__transaction_gad2a14b4c7ce6445f669a42ef73a4b685.html new file mode 100644 index 000000000..636d84d48 --- /dev/null +++ b/docs/cdt/group__transaction_gad2a14b4c7ce6445f669a42ef73a4b685.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::tapos_block_num + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ tapos_block_num()

+ +
+
+ + + + + +
+ + + + + + + +
int eosio::tapos_block_num ()
+
+inline
+
+

Возвращает номер блока, используемый для TAPOS в текущей выполняемой транзакции.

+
Возвращает
номер блока TAPOS для текущей транзакции Пример:
int tbn = tapos_block_num();
+
+ +

См. определение в файле transaction.hpp строка 245

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__transaction_gaf1dda66d94fcc04a2b5fa7a8bffd75b0.html b/docs/cdt/group__transaction_gaf1dda66d94fcc04a2b5fa7a8bffd75b0.html new file mode 100644 index 000000000..26bfb2491 --- /dev/null +++ b/docs/cdt/group__transaction_gaf1dda66d94fcc04a2b5fa7a8bffd75b0.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::expiration + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +

◆ expiration()

+ +
+
+ + + + + +
+ + + + + + + +
uint32_t eosio::expiration ()
+
+inline
+
+ +

Возвращает срок действия текущей выполняемой транзакции.

+

Возвращает срок действия (expiration) текущей выполняемой транзакции.

+
Возвращает
срок действия текущей выполняемой транзакции в секундах с начала эпохи Unix
+ +

См. определение в файле transaction.hpp строка 270

+ +
+
+
+
+ + + + + + diff --git a/docs/cdt/group__types.html b/docs/cdt/group__types.html new file mode 100644 index 000000000..b77fc9fb1 --- /dev/null +++ b/docs/cdt/group__types.html @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + +CDT: Типы + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Типы
+
+
+ +

C++ API типов для компоновки данных структур, доступных на платформе COOPOS. +Подробнее...

+ + + + + + + + + + + + + + + + + + + + + + + +

+Группы

 Массив байт фиксированного размера
 Массив байт фиксированного размера с лексикографическим упорядочиванием
 
 Имя
 Тип имени COOPOS.
 
 Целое переменной длины
 Определяет тип целого переменной длины для более эффективной сериализации
 
 Контракт (Contract)
 Определяет тип контракта — базовый класс для каждого контракта COOPOS.
 
 Ключ производителя
 Сопоставляет производителя с его ключом подписи блока; используется в расписании производителей
 
 Расписание производителей
 Задаёт порядок, имена аккаунтов и ключи подписи активного набора производителей.
 
 Полномочие производителя
 Сопоставляет производителя с гибкой структурой полномочий; используется в расписании производителей
 
+

Подробное описание

+

C++ API типов для компоновки данных структур, доступных на платформе COOPOS.

+
+
+ + + + + + diff --git a/docs/cdt/group__types.js b/docs/cdt/group__types.js new file mode 100644 index 000000000..d26852ac4 --- /dev/null +++ b/docs/cdt/group__types.js @@ -0,0 +1,10 @@ +var group__types = +[ + [ "Массив байт фиксированного размера", "group__fixed__bytes.html", "group__fixed__bytes" ], + [ "Имя", "group__name.html", "group__name" ], + [ "Целое переменной длины", "group__varint.html", "group__varint" ], + [ "Контракт (Contract)", "group__contract.html", "group__contract" ], + [ "Ключ производителя", "group__producer__key.html", "group__producer__key" ], + [ "Расписание производителей", "group__producer__schedule.html", "group__producer__schedule" ], + [ "Полномочие производителя", "group__producer__authority.html", "group__producer__authority" ] +]; \ No newline at end of file diff --git a/docs/cdt/group__varint.html b/docs/cdt/group__varint.html new file mode 100644 index 000000000..bc6678336 --- /dev/null +++ b/docs/cdt/group__varint.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: Целое переменной длины + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
Целое переменной длины
+
+
+ +

Определяет тип целого переменной длины для более эффективной сериализации +Подробнее...

+ + + + + + +

+Классы

struct  eosio::unsigned_int
 
struct  eosio::signed_int
 
+

Подробное описание

+

Определяет тип целого переменной длины для более эффективной сериализации

+
+
+ + + + + + diff --git a/docs/cdt/group__varint.js b/docs/cdt/group__varint.js new file mode 100644 index 000000000..25087c0c9 --- /dev/null +++ b/docs/cdt/group__varint.js @@ -0,0 +1,13 @@ +var group__varint = +[ + [ "eosio::unsigned_int", "structeosio_1_1unsigned__int.html", [ + [ "unsigned_int", "structeosio_1_1unsigned__int_a8d6b543812504c0edec1d4befea8006a.html#a8d6b543812504c0edec1d4befea8006a", null ], + [ "unsigned_int", "structeosio_1_1unsigned__int_a2c1883d47646efcb3bc610c30be5097b.html#a2c1883d47646efcb3bc610c30be5097b", null ], + [ "operator T", "structeosio_1_1unsigned__int_ab362b441320e0681f3283b03efa8568d.html#ab362b441320e0681f3283b03efa8568d", null ], + [ "value", "structeosio_1_1unsigned__int_ae77bf5565f5fd33b99d944a78195185b.html#ae77bf5565f5fd33b99d944a78195185b", null ] + ] ], + [ "eosio::signed_int", "structeosio_1_1signed__int.html", [ + [ "signed_int", "structeosio_1_1signed__int_a0dd8bbac6533ed3729077bce4ada8997.html#a0dd8bbac6533ed3729077bce4ada8997", null ], + [ "value", "structeosio_1_1signed__int_a67cdbe3b1c5458c048006777b7cabccf.html#a67cdbe3b1c5458c048006777b7cabccf", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/cdt/hierarchy.html b/docs/cdt/hierarchy.html new file mode 100644 index 000000000..4bc6acee7 --- /dev/null +++ b/docs/cdt/hierarchy.html @@ -0,0 +1,220 @@ + + + + + + + + + + + + + + + + + + +CDT: Иерархия классов + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Иерархия классов
+
+
+
Иерархия классов.
+
[уровень детализации 12]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Ceosio::action
 Ceosio::action_wrapper< Name, Action >Обёртка для конкретного действия, упрощающая отправку встроенных (inline) действий к этому действию из других контрактов. Пример:
 Ceosio::asset
 Ceosio::block_signing_authority_v0взвешенное пороговое полномочие с несколькими подписями (multi-sig)
 Ceosio::block_timestamp
 Ceosio::blockchain_parameters
 Ceosio::code_hash_result
 Ceosio::impl::concat_t
 Ceosio::const_mem_fun< Class, Type, PtrToMemberFunction >
 Ceosio::contract
 Ceosio::datastream< T >
 Ceosio::datastream< const char * >
 Ceosio::datastream< size_t >
 Ceosio::ec_point< Size >
 Ceosio::ec_point_view< Size >
 Ceosio::extended_asset
 Ceosio::extended_symbol
 Ceosio::fixed_bytes< Size >
 Ceosio::ignore< T >
 Ceosio::ignore_wrapper< T >
 Ceosio::indexed_by< IndexName, Extractor >
 Ceosio::inline_dispatcher< typename, raw >
 Ceosio::inline_dispatcher< void(T::*)(Args...), Name >
 Ceosio::iostream
 Ceosio::_datastream_detail::is_datastream< T >
 Ceosio::_datastream_detail::is_datastream< datastream< T > >
 Cstd::iterator
 Ceosio::multi_index< TableName, T, Indices >::const_iterator
 Ceosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator
 Ceosio::key_weight
 Ceosio::detail::largest_power< T, Base >
 Ceosio::detail::largest_power_helper< T, Base, Exponent, Value, Overflow >
 Ceosio::detail::largest_power_helper< T, Base, Exponent, Value, true >
 Ceosio::microseconds
 Ceosio::multi_index< TableName, T, Indices >Определяет многоиндексную таблицу COOPOS (Multi Index Table)
 Ceosio::multi_index< SingletonName, row >
 Ceosio::name
 Ceosio::onerror
 Ceosio::permission_level
 Ceosio::producer_authorityСопоставляет производителя с его ключом подписи
 Ceosio::producer_key
 Ceosio::producer_schedule
 Ceosio::rope
 Ceosio::_multi_index_detail::secondary_index_db_functions< T >
 Ceosio::_multi_index_detail::secondary_key_traits< T >
 Ceosio::_multi_index_detail::secondary_key_traits< double >
 Ceosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >
 Ceosio::_multi_index_detail::secondary_key_traits< long double >
 Ceosio::security_group
 Ceosio::signed_int
 Ceosio::singleton< SingletonName, T >
 Ceosio::impl::str_t
 Ceosio::string
 Ceosio::symbol
 Ceosio::symbol_code
 Ceosio::time_point
 Ceosio::time_point_sec
 Ceosio::detail::to_const_char_arr< Str >
 Ceosio::transaction_headerСодержит сведения о транзакции
 Ceosio::transaction
 Ceosio::unsigned_int
 Ceosio::variant_action_wrapper< Name, Actions >
 Ceosio::Ts
 Ceosio::overloaded< Ts >
+
+
+
+ + + + + + diff --git a/docs/cdt/hierarchy.js b/docs/cdt/hierarchy.js new file mode 100644 index 000000000..87ba9048f --- /dev/null +++ b/docs/cdt/hierarchy.js @@ -0,0 +1,70 @@ +var hierarchy = +[ + [ "eosio::action", "structeosio_1_1action.html", null ], + [ "eosio::action_wrapper< Name, Action >", "structeosio_1_1action__wrapper.html", null ], + [ "eosio::asset", "structeosio_1_1asset.html", null ], + [ "eosio::block_signing_authority_v0", "structeosio_1_1block__signing__authority__v0.html", null ], + [ "eosio::block_timestamp", "classeosio_1_1block__timestamp.html", null ], + [ "eosio::blockchain_parameters", "structeosio_1_1blockchain__parameters.html", null ], + [ "eosio::code_hash_result", "structeosio_1_1code__hash__result.html", null ], + [ "eosio::impl::concat_t", "structeosio_1_1impl_1_1concat__t.html", null ], + [ "eosio::const_mem_fun< Class, Type, PtrToMemberFunction >", "structeosio_1_1const__mem__fun.html", null ], + [ "eosio::contract", "classeosio_1_1contract.html", null ], + [ "eosio::datastream< T >", "classeosio_1_1datastream.html", null ], + [ "eosio::datastream< const char * >", "classeosio_1_1datastream.html", null ], + [ "eosio::datastream< size_t >", "classeosio_1_1datastream_3_01size__t_01_4.html", null ], + [ "eosio::ec_point< Size >", "structeosio_1_1ec__point.html", null ], + [ "eosio::ec_point_view< Size >", "structeosio_1_1ec__point__view.html", null ], + [ "eosio::extended_asset", "structeosio_1_1extended__asset.html", null ], + [ "eosio::extended_symbol", "classeosio_1_1extended__symbol.html", null ], + [ "eosio::fixed_bytes< Size >", "classeosio_1_1fixed__bytes.html", null ], + [ "eosio::ignore< T >", "structeosio_1_1ignore.html", null ], + [ "eosio::ignore_wrapper< T >", "structeosio_1_1ignore__wrapper.html", null ], + [ "eosio::indexed_by< IndexName, Extractor >", "structeosio_1_1indexed__by.html", null ], + [ "eosio::inline_dispatcher< typename, raw >", "structeosio_1_1inline__dispatcher.html", null ], + [ "eosio::inline_dispatcher< void(T::*)(Args...), Name >", "structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4.html", null ], + [ "eosio::iostream", "classeosio_1_1iostream.html", null ], + [ "eosio::_datastream_detail::is_datastream< T >", "structeosio_1_1__datastream__detail_1_1is__datastream.html", null ], + [ "eosio::_datastream_detail::is_datastream< datastream< T > >", "structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4.html", null ], + [ "std::iterator", null, [ + [ "eosio::multi_index< TableName, T, Indices >::const_iterator", "structeosio_1_1multi__index_1_1const__iterator.html", null ], + [ "eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator", "structeosio_1_1multi__index_1_1index_1_1const__iterator.html", null ] + ] ], + [ "eosio::key_weight", "structeosio_1_1key__weight.html", null ], + [ "eosio::detail::largest_power< T, Base >", "structeosio_1_1detail_1_1largest__power.html", null ], + [ "eosio::detail::largest_power_helper< T, Base, Exponent, Value, Overflow >", "structeosio_1_1detail_1_1largest__power__helper.html", null ], + [ "eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >", "structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4.html", null ], + [ "eosio::microseconds", "classeosio_1_1microseconds.html", null ], + [ "eosio::multi_index< TableName, T, Indices >", "classeosio_1_1multi__index.html", null ], + [ "eosio::multi_index< SingletonName, row >", "classeosio_1_1multi__index.html", null ], + [ "eosio::name", "structeosio_1_1name.html", null ], + [ "eosio::onerror", "structeosio_1_1onerror.html", null ], + [ "eosio::permission_level", "structeosio_1_1permission__level.html", null ], + [ "eosio::producer_authority", "structeosio_1_1producer__authority.html", null ], + [ "eosio::producer_key", "structeosio_1_1producer__key.html", null ], + [ "eosio::producer_schedule", "structeosio_1_1producer__schedule.html", null ], + [ "eosio::rope", "classeosio_1_1rope.html", null ], + [ "eosio::_multi_index_detail::secondary_index_db_functions< T >", "structeosio_1_1__multi__index__detail_1_1secondary__index__db__functions.html", null ], + [ "eosio::_multi_index_detail::secondary_key_traits< T >", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits.html", null ], + [ "eosio::_multi_index_detail::secondary_key_traits< double >", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4.html", null ], + [ "eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4.html", null ], + [ "eosio::_multi_index_detail::secondary_key_traits< long double >", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4.html", null ], + [ "eosio::security_group", "structeosio_1_1security__group.html", null ], + [ "eosio::signed_int", "structeosio_1_1signed__int.html", null ], + [ "eosio::singleton< SingletonName, T >", "classeosio_1_1singleton.html", null ], + [ "eosio::impl::str_t", "structeosio_1_1impl_1_1str__t.html", null ], + [ "eosio::string", "classeosio_1_1string.html", null ], + [ "eosio::symbol", "classeosio_1_1symbol.html", null ], + [ "eosio::symbol_code", "classeosio_1_1symbol__code.html", null ], + [ "eosio::time_point", "classeosio_1_1time__point.html", null ], + [ "eosio::time_point_sec", "classeosio_1_1time__point__sec.html", null ], + [ "eosio::detail::to_const_char_arr< Str >", "structeosio_1_1detail_1_1to__const__char__arr.html", null ], + [ "eosio::transaction_header", "classeosio_1_1transaction__header.html", [ + [ "eosio::transaction", "classeosio_1_1transaction.html", null ] + ] ], + [ "eosio::unsigned_int", "structeosio_1_1unsigned__int.html", null ], + [ "eosio::variant_action_wrapper< Name, Actions >", "structeosio_1_1variant__action__wrapper.html", null ], + [ "eosio::Ts", null, [ + [ "eosio::overloaded< Ts >", "structeosio_1_1overloaded.html", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/cdt/ignore_8hpp.html b/docs/cdt/ignore_8hpp.html new file mode 100644 index 000000000..730a90652 --- /dev/null +++ b/docs/cdt/ignore_8hpp.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/ignore.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
#include "datastream.hpp"
+
+

См. исходные тексты.

+ + + + + + +

+Классы

struct  eosio::ignore< T >
 
struct  eosio::ignore_wrapper< T >
 
+ + + +

+Пространства имен

namespace  eosio
 
+ + + + + + + + + + + + + +

+Функции

template<typename DataStream , typename T >
DataStream & eosio::operator<< (DataStream &ds, const ::eosio::ignore_wrapper< T > &val)
 Сериализация значения T из ignored_wrapper<T> Подробнее...
 
template<typename DataStream , typename T >
DataStream & eosio::operator<< (DataStream &ds, const ::eosio::ignore< T > &val)
 Сериализация игнорируемого типа Подробнее...
 
template<typename DataStream , typename T >
DataStream & eosio::operator>> (DataStream &ds, ::eosio::ignore< T > &)
 Десериализация игнорируемого типа Подробнее...
 
+
+
+ + + + + + diff --git a/docs/cdt/ignore_8hpp.js b/docs/cdt/ignore_8hpp.js new file mode 100644 index 000000000..6f883998d --- /dev/null +++ b/docs/cdt/ignore_8hpp.js @@ -0,0 +1,7 @@ +var ignore_8hpp = +[ + [ "eosio::ignore_wrapper< T >", "structeosio_1_1ignore__wrapper.html", "structeosio_1_1ignore__wrapper" ], + [ "operator<<", "ignore_8hpp.html#a71a6485bb43edd10491fc14e79dff5fa", null ], + [ "operator<<", "ignore_8hpp.html#a73cd9c53f852d9d44d757259f38f10a8", null ], + [ "operator>>", "ignore_8hpp.html#aad4e9f9863a4d679c37dc04858b7c98a", null ] +]; \ No newline at end of file diff --git a/docs/cdt/ignore_8hpp_source.html b/docs/cdt/ignore_8hpp_source.html new file mode 100644 index 000000000..b97819f49 --- /dev/null +++ b/docs/cdt/ignore_8hpp_source.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/ignore.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
ignore.hpp
+
+
+См. документацию.
1#pragma once
+
2
+
3#include "datastream.hpp"
+
4
+
5namespace eosio {
+
19 template <typename T>
+
20 struct [[eosio::ignore]] ignore {};
+
21
+
25 template <typename T>
+ +
27 constexpr ignore_wrapper() {}
+
28 constexpr ignore_wrapper(T val) : value(val) {}
+
29 constexpr ignore_wrapper(ignore<T> val) {}
+
30 constexpr inline T get() { return value; }
+
31 constexpr operator T() { return value; }
+
32 constexpr operator ignore<T>() { return {}; }
+ +
34 };
+
35
+
45 template<typename DataStream, typename T>
+
46 inline DataStream& operator<<(DataStream& ds, const ::eosio::ignore_wrapper<T>& val) {
+
47 ds << val.value;
+
48 return ds;
+
49 }
+
50
+
60 template<typename DataStream, typename T>
+
61 inline DataStream& operator<<(DataStream& ds, const ::eosio::ignore<T>& val) {
+
62 return ds;
+
63 }
+
64
+
73 template<typename DataStream, typename T>
+
74 inline DataStream& operator>>(DataStream& ds, ::eosio::ignore<T>&) {
+
75 return ds;
+
76 }
+
77}
+
+
+ + + + + + diff --git a/docs/cdt/index.html b/docs/cdt/index.html new file mode 100644 index 000000000..5b88fe233 --- /dev/null +++ b/docs/cdt/index.html @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + + +CDT: CDT (Contract Development Toolkit) + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
CDT (Contract Development Toolkit)
+
+
+

Contract Development Toolkit (CDT) — это цепочка инструментов C/C++ для сборки WebAssembly (WASM) и набор утилит для разработки смарт-контрактов на C/C++, предназначенных для развёртывания в блокчейне COOPOS (совместим с протоколом Antelope).

+

Помимо универсальной сборки WebAssembly, CDT добавляет возможности и оптимизации именно под смарт-контракты. Инструментарий опирается на Clang 9 и LLVM этого поколения; целевой WASM по-прежнему считается экспериментальным, поэтому часть оптимизаций может быть неполной или недоступной.

+

+Структура репозитория

+

Ветка main — ветка разработки: не используйте её в продакшене. Актуальные релизы, пре-релизы и устаревшие версии смотрите на странице релизов и по соответствующим тегам.

+

+Бинарные пакеты

+

Поддерживаются пакеты Debian для Linux x86_64. Скачать сборку под нужную версию CDT можно на странице релизов — это самый быстрый способ начать работу.

+

+Установка пакета Debian

+

Скачайте подходящий .deb и установите. Пример для актуального релиза v4.2.0 (другие версии — на странице релизов):

+
wget https://github.com/coopenomics/cdt/releases/download/v4.2.0/cdt_4.2.0-1_amd64.deb
+
sudo apt install ./cdt_4.2.0-1_amd64.deb
+

+Удаление пакета Debian

+
sudo apt remove cdt
+

+Сборка из исходников

+

Полностью поддерживаются недавние LTS-релизы Ubuntu. Другие дистрибутивы Linux и POSIX-системы (включая macOS) — по возможности, без гарантии полного набора функций.

+

Ниже предполагается Ubuntu 20.04.

+

+Зависимости

+
apt-get update && apt-get install \
+
build-essential \
+
clang \
+
cmake \
+
git \
+
libxml2-dev \
+
opam ocaml-interp \
+
python3 \
+
python3-pip \
+
time
+
python3 -m pip install pygments
+

+Интеграционные тесты

+

Для них нужна сборка Leap (реализация протокола Antelope) из исходников; одного бинарного пакета Leap обычно недостаточно.

+

Если Leap собирать не планируете, CDT можно собрать без интеграционных тестов. Иначе перед cmake в той же сессии терминала задайте путь к сборке Leap, например:

+
export leap_DIR=/path/to/leap/build/lib/cmake/leap
+

Далее при cmake не должно появляться сообщения вроде leap package not found; иначе интеграционные тесты не соберутся.

+

+ccache

+

При проблемах со сборкой через ccache можно отключить его:

+
export CCACHE_DISABLE=1
+

+Сборка CDT

+

**Параллельная сборка (-j)**: часть единиц трансляции в CDT очень тяжёлые по памяти. Если компилятор падает или нехватает RAM, уменьшите параллелизм, например make -j2 вместо make -j .

+
git clone --recursive https://github.com/coopenomics/cdt
+
cd cdt
+
mkdir build
+
cd build
+
cmake ..
+
make -j $(nproc)
+

Исполняемые файлы — в build/bin. Можно добавить каталог в PATH, либо использовать CMake toolchain build/lib/cmake/CDTWasmToolchain.cmake в своём проекте без глобальной установки CDT.

+

Глобальная установка описана в разделе Установка CDT.

+

+Отладочная сборка

+
cmake -DCMAKE_BUILD_TYPE="Debug" -DTOOLS_BUILD_TYPE="Debug" -DLIBS_BUILD_TYPE="Debug" ..
+

+Тесты

+

+Модульные

+
cd build
+
ctest
+

+Интеграционные (если собирались)

+
cd build/tests/integration
+
ctest
+

+Установка CDT

+

Глобальная установка добавляет в PATH, среди прочего:

+
    +
  • cdt-abidiff
    +
  • +
  • cdt-ar
    +
  • +
  • cdt-cc
    +
  • +
  • cdt-cpp
    +
  • +
  • cdt-init
    +
  • +
  • cdt-ld
    +
  • +
  • cdt-nm
    +
  • +
  • cdt-objcopy
    +
  • +
  • cdt-objdump
    +
  • +
  • cdt-ranlib
    +
  • +
  • cdt-readelf
    +
  • +
  • cdt-strip
    +
  • +
  • eosio-pp
    +
  • +
  • eosio-wasm2wast
    +
  • +
  • eosio-wast2wasm
    +
  • +
+

Также ставятся CMake-файлы CDT (каталог cmake/cdt в системном lib).

+

+Ручная установка

+

Из каталога build:

+
sudo make install
+

+Установка из собранного пакета

+

Удобнее сгенерировать пакет и поставить его — так проще удалить CDT позже.

+
cd packages
+
bash ./generate_package.sh deb ubuntu-20.04 amd64
+
sudo apt install ./cdt_*_amd64.deb
+

+Удаление CDT

+

+После <tt>make install</tt>

+
sudo rm -fr /usr/local/cdt
+
sudo rm -fr /usr/local/lib/cmake/cdt
+
sudo rm /usr/local/bin/eosio-*
+
sudo rm /usr/local/bin/cdt-*
+

+После пакета Debian

+
sudo apt remove cdt
+

+Лицензия

+

MIT

+
+
+
+ + + + + + diff --git a/docs/cdt/jquery.js b/docs/cdt/jquery.js new file mode 100644 index 000000000..c9ed3d99c --- /dev/null +++ b/docs/cdt/jquery.js @@ -0,0 +1,35 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0a;a++)for(i in o[a])n=o[a][i],o[a].hasOwnProperty(i)&&void 0!==n&&(e[i]=t.isPlainObject(n)?t.isPlainObject(e[i])?t.widget.extend({},e[i],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,i){var n=i.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=s.call(arguments,1),h=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(h=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):h=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new i(o,this))})),h}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,m=-2*e.offset[1];0>c?(s=t.top+p+f+m+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+m)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+m-h,(i>0||u>a(i))&&(t.top+=p+f+m))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var n=!1;t(document).on("mouseup",function(){n=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!n){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),n=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,n=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("
"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidtht.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element +},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),m&&(p-=l),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable});/** + * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler + * Licensed under MIT + * @author Ariel Flesler + * @version 2.1.2 + */ +;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/docs/cdt/key__utils_8hpp.html b/docs/cdt/key__utils_8hpp.html new file mode 100644 index 000000000..d82192e52 --- /dev/null +++ b/docs/cdt/key__utils_8hpp.html @@ -0,0 +1,272 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/key_utils.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
#include <deque>
+#include <list>
+#include <map>
+#include <optional>
+#include <set>
+#include <tuple>
+#include <utility>
+#include <variant>
+#include <vector>
+#include <string>
+#include <cstring>
+#include "datastream.hpp"
+#include "reflect.hpp"
+
+

См. исходные тексты.

+ + + + + + +

+Пространства имен

namespace  eosio
 
namespace  eosio::detail
 
+ + + +

+Определения типов

using eosio::key_type = std::string
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Функции

template<typename T >
constexpr bool eosio::detail::has_bitwise_serialization ()
 
template<template< typename > class C, typename T >
constexpr bool eosio::detail::is_ranged_type (C< T >)
 
template<typename R , typename C >
auto eosio::detail::member_pointer_type (R(C::*)) -> R
 
template<typename R , typename C >
auto eosio::detail::member_pointer_class (R(C::*)) -> C
 
template<typename... Args>
constexpr std::size_t eosio::detail::total_bytes_size ()
 
template<std::size_t I, typename Arg , typename... Args>
void eosio::detail::const_pack_helper (std::string &s, Arg &&arg, Args &&... args)
 
template<typename... Args>
std::string eosio::detail::const_pack (Args &&... args)
 
template<typename T , typename S >
void eosio::to_key (const T &obj, datastream< S > &stream)
 
template<int I, typename T , typename S >
void eosio::to_key_tuple (const T &obj, datastream< S > &stream)
 
template<typename... Ts, typename S >
void eosio::to_key (const std::tuple< Ts... > &obj, datastream< S > &stream)
 
template<typename T , std::size_t N, typename S >
void eosio::to_key (const std::array< T, N > &obj, datastream< S > &stream)
 
template<typename T , typename S >
void eosio::to_key_optional (const bool *obj, datastream< S > &stream)
 
template<typename T , typename S >
void eosio::to_key_optional (const T *obj, datastream< S > &stream)
 
template<typename T , typename U , typename S >
void eosio::to_key (const std::pair< T, U > &obj, datastream< S > &stream)
 
template<typename T , typename S >
void eosio::to_key_range (const T &obj, datastream< S > &stream)
 
template<typename T , typename S >
auto eosio::to_key (const T &obj, datastream< S > &stream) -> std::enable_if_t< is_ranged_type(std::declval< T >()), void >
 
template<typename T , typename U , typename S >
void eosio::to_key (const std::map< T, U > &obj, datastream< S > &stream)
 
template<typename T , typename S >
void eosio::to_key (const std::optional< T > &obj, datastream< S > &stream)
 
template<typename S >
void eosio::to_key_varuint32 (std::uint32_t obj, datastream< S > &stream)
 
template<typename S >
void eosio::to_key_varint32 (std::int32_t obj, datastream< S > &stream)
 
template<typename... Ts, typename S >
void eosio::to_key (const std::variant< Ts... > &obj, datastream< S > &stream)
 
template<std::size_t N, typename S >
void eosio::to_key (const char(&str)[N], datastream< S > &stream)
 
template<typename S >
void eosio::to_key (std::string_view obj, datastream< S > &stream)
 
template<typename S >
void eosio::to_key (const std::string &obj, datastream< S > &stream)
 
template<typename S >
void eosio::to_key (bool obj, datastream< S > &stream)
 
template<typename UInt , typename T >
UInt eosio::float_to_key (T value)
 
template<typename T >
void eosio::convert_to_key (const T &t, key_type &bin)
 
template<typename T >
key_type eosio::convert_to_key (const T &t)
 
+
+
+ + + + + + diff --git a/docs/cdt/key__utils_8hpp.js b/docs/cdt/key__utils_8hpp.js new file mode 100644 index 000000000..8ef67eade --- /dev/null +++ b/docs/cdt/key__utils_8hpp.js @@ -0,0 +1,32 @@ +var key__utils_8hpp = +[ + [ "key_type", "key__utils_8hpp.html#ac871966a2176ae48a0a85b6170e13592", null ], + [ "const_pack", "key__utils_8hpp.html#a76123ee6d91ba89e19c83e1ef453fc1d", null ], + [ "const_pack_helper", "key__utils_8hpp.html#a421d953ed45f8e85368d906824cc1b76", null ], + [ "convert_to_key", "key__utils_8hpp.html#a0a8f491c6e9e9e3c629e6439b7b594a8", null ], + [ "convert_to_key", "key__utils_8hpp.html#a0e3c662ea73d93bdf6f2a4a6c7ab3ee9", null ], + [ "float_to_key", "key__utils_8hpp.html#ae3b4a6109935f78a3754bd7db29357a4", null ], + [ "has_bitwise_serialization", "key__utils_8hpp.html#a5cd71ed03fbb930b8da785011b4430fc", null ], + [ "is_ranged_type", "key__utils_8hpp.html#a64b7b02e02888b43c508684f3939aa77", null ], + [ "member_pointer_class", "key__utils_8hpp.html#a5cf83297746ac38942c4e6d515030884", null ], + [ "member_pointer_type", "key__utils_8hpp.html#aaa5b3d6111b08badba51b37a8890e4f2", null ], + [ "to_key", "key__utils_8hpp.html#af80dcf1bec9db392710cfac9ac0bd49d", null ], + [ "to_key", "key__utils_8hpp.html#ab18517b08024e1cdc4364a76c74cad59", null ], + [ "to_key", "key__utils_8hpp.html#a798574a285557f53efab8521532da82d", null ], + [ "to_key", "key__utils_8hpp.html#a765369843265789042da1b4856a07202", null ], + [ "to_key", "key__utils_8hpp.html#a26818b9f0aa2826193c12ebbcd516d5c", null ], + [ "to_key", "key__utils_8hpp.html#a414bc3518c0e6f968338533ccbb381b8", null ], + [ "to_key", "key__utils_8hpp.html#a886436abb8b2d3bc0ff91fa0faf052b6", null ], + [ "to_key", "key__utils_8hpp.html#a17d4c25130755b9075b48cb9f22411a5", null ], + [ "to_key", "key__utils_8hpp.html#aa9cbce17fa0d81b4fb658756a2aa9313", null ], + [ "to_key", "key__utils_8hpp.html#a8010c134258beccbf5224e9f5c040825", null ], + [ "to_key", "key__utils_8hpp.html#a6985ebc6a27e11e105bb9433765c04d7", null ], + [ "to_key", "key__utils_8hpp.html#ad64c4446ffb3e530c2c5eee66efcbd9d", null ], + [ "to_key_optional", "key__utils_8hpp.html#a377492aec0291bc289eba84d31b52f60", null ], + [ "to_key_optional", "key__utils_8hpp.html#aef74f69e6a22bf95b0f7cbff816627b5", null ], + [ "to_key_range", "key__utils_8hpp.html#a83093b2d24efd8161abc60290a11945d", null ], + [ "to_key_tuple", "key__utils_8hpp.html#aa1d56938ffd3af0d7efffb788425112a", null ], + [ "to_key_varint32", "key__utils_8hpp.html#a9ff397ff9cb2e98f4ee095f16a155ff0", null ], + [ "to_key_varuint32", "key__utils_8hpp.html#af7fd095425063722ae432862864d0598", null ], + [ "total_bytes_size", "key__utils_8hpp.html#ac7230a60ca339b86b59f88f7ca069b1a", null ] +]; \ No newline at end of file diff --git a/docs/cdt/key__utils_8hpp_source.html b/docs/cdt/key__utils_8hpp_source.html new file mode 100644 index 000000000..d861e88a9 --- /dev/null +++ b/docs/cdt/key__utils_8hpp_source.html @@ -0,0 +1,496 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/key_utils.hpp + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CDT +  v4.2.0 +
+
инструменты разработчика
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
key_utils.hpp
+
+
+См. документацию.
1#pragma once
+
2
+
3#include <deque>
+
4#include <list>
+
5#include <map>
+
6#include <optional>
+
7#include <set>
+
8#include <tuple>
+
9#include <utility>
+
10#include <variant>
+
11#include <vector>
+
12#include <string>
+
13#include <cstring>
+
14
+
15#include "datastream.hpp"
+
16#include "reflect.hpp"
+
17
+
18namespace eosio {
+
19
+
20 namespace detail {
+
21 template<typename T>
+
22 constexpr bool has_bitwise_serialization() {
+
23 if constexpr (std::is_arithmetic_v<T>) {
+
24 return true;
+
25 } else if constexpr (std::is_enum_v<T>) {
+
26 static_assert(!std::is_convertible_v<T, std::underlying_type_t<T>>, "Serializing unscoped enum");
+
27 return true;
+
28 } else {
+
29 return false;
+
30 }
+
31 }
+
32
+
33 template <template <typename> class C, typename T>
+
34 constexpr bool is_ranged_type(C<T>) {
+
35 using type = std::decay_t<C<T>>;
+
36 return
+
37 std::is_same_v<std::vector<T>, type> ||
+
38 std::is_same_v<std::list<T>, type> ||
+
39 std::is_same_v<std::deque<T>, type> ||
+
40 std::is_same_v<std::set<T>, type>;
+
41 }
+
42
+
43 template <typename R, typename C>
+
44 auto member_pointer_type(R (C::*)) -> R;
+
45 template <typename R, typename C>
+
46 auto member_pointer_class(R (C::*)) -> C;
+
47
+
48 template <typename... Args>
+
49 constexpr inline std::size_t total_bytes_size() { return (sizeof(Args) + ...); }
+
50
+
51 // TODO rework the to_key and datastream logic to be constexpr/consteval friendly to get rid of this
+
52 template <std::size_t I, typename Arg, typename... Args>
+
53 inline void const_pack_helper(std::string& s, Arg&& arg, Args&&... args) {
+
54 std::memcpy(s.data()+I, &arg, sizeof(Arg));
+
55 if constexpr (std::is_integral_v<std::decay_t<Arg>> ||
+
56 std::is_same_v<std::decay_t<Arg>, eosio::name>) {
+
57 std::reverse(s.data()+I, s.data()+I+sizeof(Arg));
+
58 }
+
59 if constexpr (sizeof...(Args) > 0) {
+
60 return const_pack_helper<I+sizeof(Arg)>(s, std::forward<Args>(args)...);
+
61 }
+
62 }
+
63
+
64 // TODO rework the to_key and datastream logic to be constexpr/consteval friendly to get rid of this
+
65 template <typename... Args>
+
66 inline std::string const_pack(Args&&... args) {
+
67 std::string s;
+
68 s.resize(total_bytes_size<Args...>());
+
69 const_pack_helper<0>(s, std::forward<Args>(args)...);
+
70 return s;
+
71 }
+
72 } // namespace eosio::detail
+
73
+
74using key_type = std::string;
+
75
+
76// to_key задаёт преобразование типа в последовательность байт, лексикографический
+
77// порядок которой совпадает с порядком исходного типа.
+
78//
+
79// Для любых двух объектов типа T, a и b:
+
80//
+
81// - key(a) < key(b) тогда и только тогда, когда a < b
+
82// - key(a) не является префиксом key(b)
+
83//
+
84// Перегрузки to_key для пользовательских типов находятся поиском Кёнига (ADL).
+
85//
+
86// to_key специализирован для следующих типов
+
87// - std::string и std::string_view
+
88// - std::vector, std::list, std::deque
+
89// - std::tuple
+
90// - std::array
+
91// - std::optional
+
92// - std::variant
+
93// - арифметические типы
+
94// - типы областных перечислений (scoped enum)
+
95// - рефлектируемые структуры
+
96// - все типы, связанные со смарт-контрактами COOPOS, определённые в abieos
+
97template <typename T, typename S>
+
98void to_key(const T& obj, datastream<S>& stream);
+
99
+
100template <int I, typename T, typename S>
+
101void to_key_tuple(const T& obj, datastream<S>& stream) {
+
102 if constexpr (I < std::tuple_size_v<T>) {
+
103 to_key(std::get<I>(obj), stream);
+
104 to_key_tuple<I + 1>(obj, stream);
+
105 }
+
106}
+
107
+
108template <typename... Ts, typename S>
+
109void to_key(const std::tuple<Ts...>& obj, datastream<S>& stream) {
+
110 to_key_tuple<0>(obj, stream);
+
111}
+
112
+
113template <typename T, std::size_t N, typename S>
+
114void to_key(const std::array<T, N>& obj, datastream<S>& stream) {
+
115 for (const T& elem : obj) { to_key(elem, stream); }
+
116}
+
117
+
118template <typename T, typename S>
+
119void to_key_optional(const bool* obj, datastream<S>& stream) {
+
120 if (obj == nullptr)
+
121 stream.write('\0');
+
122 else if (!*obj)
+
123 stream.write('\1');
+
124 else {
+
125 stream.write('\2');
+
126 }
+
127}
+
128
+
129template <typename T, typename S>
+
130void to_key_optional(const T* obj, datastream<S>& stream) {
+
131 if constexpr (detail::has_bitwise_serialization<T>() && sizeof(T) == 1) {
+
132 if (obj == nullptr)
+
133 stream.write("\0", 2);
+
134 else {
+
135 char buf[1];
+
136 datastream<char*> tmp_stream(buf, 1);
+
137 to_key(*obj, tmp_stream);
+
138 stream.write(buf[0]);
+
139 if (buf[0] == '\0')
+
140 stream.write('\1');
+
141 }
+
142 } else {
+
143 if (obj) {
+
144 stream.write('\1');
+
145 to_key(*obj, stream);
+
146 } else {
+
147 stream.write('\0');
+
148 }
+
149 }
+
150}
+
151
+
152template <typename T, typename U, typename S>
+
153void to_key(const std::pair<T, U>& obj, datastream<S>& stream) {
+
154 to_key(obj.first, stream);
+
155 to_key(obj.second, stream);
+
156}
+
157
+
158template <typename T, typename S>
+
159void to_key_range(const T& obj, datastream<S>& stream) {
+
160 for (const auto& elem : obj) { to_key_optional(&elem, stream); }
+
161 to_key_optional((std::add_pointer_t<decltype(*std::begin(obj))>) nullptr, stream);
+
162}
+
163
+
164template <typename T, typename S>
+
165auto to_key(const T& obj, datastream<S>& stream) -> std::enable_if_t<is_ranged_type(std::declval<T>()), void> {
+
166 to_key_range(obj, stream);
+
167}
+
168
+
169template <typename T, typename U, typename S>
+
170void to_key(const std::map<T, U>& obj, datastream<S>& stream) {
+
171 to_key_range(obj, stream);
+
172}
+
173
+
174template <typename T, typename S>
+
175void to_key(const std::optional<T>& obj, datastream<S>& stream) {
+
176 to_key_optional(obj ? &*obj : nullptr, stream);
+
177}
+
178
+
179// Первый байт содержит:
+
180// 0–4 единицы (число дополнительных байт), 0 (бит-терминатор)
+
181//
+
182// Число представляется в порядке big-endian с использованием младших
+
183// разрядов первого байта и всех оставшихся байт.
+
184//
+
185// Примечания:
+
186// - значения должны кодироваться минимально возможным числом байт,
+
187// иначе неканонические представления нарушат порядок сортировки.
+
188template <typename S>
+ +
190 int num_bytes;
+
191 if (obj < 0x80u) {
+
192 num_bytes = 1;
+
193 } else if (obj < 0x4000u) {
+
194 num_bytes = 2;
+
195 } else if (obj < 0x200000u) {
+
196 num_bytes = 3;
+
197 } else if (obj < 0x10000000u) {
+
198 num_bytes = 4;
+
199 } else {
+
200 num_bytes = 5;
+
201 }
+
202
+
203 stream.write(
+
204 static_cast<char>(~(0xFFu >> (num_bytes - 1)) | (num_bytes == 5 ? 0 : (obj >> ((num_bytes - 1) * 8)))));
+
205 for (int i = num_bytes - 2; i >= 0; --i) { stream.write(static_cast<char>((obj >> i * 8) & 0xFFu)); }
+
206}
+
207
+
208// для неотрицательных значений
+
209// Первый байт содержит:
+
210// 1 (бит знака) 0–4 единицы (число дополнительных байт) 0 (бит-терминатор)
+
211// Значение представляется в порядке big-endian
+
212// для отрицательных значений
+
213// Первый байт содержит:
+
214// 0 (бит знака) 0–4 нуля (число дополнительных байт) 1 (бит-терминатор)
+
215// Значение приводится к положительному виду в допустимом диапазоне для
+
216// данного числа байт и затем кодируется как big-endian.
+
217//
+
218// Примечания:
+
219// - отрицательные значения должны сортироваться раньше положительных
+
220// - для отрицательных значений числа, требующие большего числа байт, меньше, поэтому
+
221// кодирование ширины должно быть противоположно используемому для
+
222// неотрицательных значений
+
223// - 5-байтовый varint может представлять значения в диапазоне $[-2^{34}, 2^{34})$; в этом случае
+
224// аргумент дополняется знаком (sign-extended)
+
225template <typename S>
+
226void to_key_varint32(std::int32_t obj, datastream<S>& stream) {
+
227 static_assert(std::is_same_v<S, void>, "to_key for varint32 has been temporarily disabled");
+
228 int num_bytes;
+
229 bool sign = (obj < 0);
+
230 if (obj < 0x40 && obj >= -0x40) {
+
231 num_bytes = 1;
+
232 } else if (obj < 0x2000 && obj >= -0x2000) {
+
233 num_bytes = 2;
+
234 } else if (obj < 0x100000 && obj >= -0x100000) {
+
235 num_bytes = 3;
+
236 } else if (obj < 0x08000000 && obj >= -0x08000000) {
+
237 num_bytes = 4;
+
238 } else {
+
239 num_bytes = 5;
+
240 }
+
241
+
242 unsigned char width_field;
+
243 if (sign) {
+
244 width_field = 0x80u >> num_bytes;
+
245 } else {
+
246 width_field = 0x80u | ~(0xFFu >> num_bytes);
+
247 }
+
248 auto uobj = static_cast<std::uint32_t>(obj);
+
249 unsigned char value_mask = (0xFFu >> (num_bytes + 1));
+
250 unsigned char high_byte = (num_bytes == 5 ? (sign ? 0xFF : 0) : (uobj >> ((num_bytes - 1) * 8)));
+
251 stream.write(width_field | (high_byte & value_mask));
+
252 for (int i = num_bytes - 2; i >= 0; --i) { stream.write(static_cast<char>((uobj >> i * 8) & 0xFFu)); }
+
253}
+
254
+
255template <typename... Ts, typename S>
+
256void to_key(const std::variant<Ts...>& obj, datastream<S>& stream) {
+
257 to_key_varuint32(static_cast<uint32_t>(obj.index()), stream);
+
258 std::visit([&](const auto& item) { to_key(item, stream); }, obj);
+
259}
+
260
+
261template <std::size_t N, typename S>
+
262void to_key(const char (&str)[N], datastream<S>& stream) {
+
263 to_key(std::string_view{str, N-1}, stream);
+
264}
+
265
+
266template <typename S>
+
267void to_key(std::string_view obj, datastream<S>& stream) {
+
268 for (char ch : obj) {
+
269 stream.write(ch);
+
270 if (ch == '\0') {
+
271 stream.write('\1');
+
272 }
+
273 }
+
274 stream.write("\0", 2);
+
275}
+
276
+
277template <typename S>
+
278void to_key(const std::string& obj, datastream<S>& stream) {
+
279 to_key(std::string_view(obj), stream);
+
280}
+
281
+
282template <typename S>
+
283void to_key(bool obj, datastream<S>& stream) {
+
284 stream.write(static_cast<char>(obj ? 1 : 0));
+
285}
+
286
+
287template <typename UInt, typename T>
+
288UInt float_to_key(T value) {
+
289 static_assert(sizeof(T) == sizeof(UInt), "Expected unsigned int of the same size");
+
290 UInt result;
+
291 std::memcpy(&result, &value, sizeof(T));
+
292 UInt signbit = (static_cast<UInt>(1) << (std::numeric_limits<UInt>::digits - 1));
+
293 UInt mask = 0;
+
294 if (result == signbit)
+
295 result = 0;
+
296 if (result & signbit)
+
297 mask = ~mask;
+
298 return result ^ (mask | signbit);
+
299}
+
300
+
301template <typename T, typename S>
+
302void to_key(const T& obj, datastream<S>& stream) {
+
303 if constexpr (std::is_floating_point_v<T>) {
+
304 if constexpr (sizeof(T) == 4) {
+
305 to_key(float_to_key<uint32_t>(obj), stream);
+
306 } else {
+
307 static_assert(sizeof(T) == 8, "Unknown floating point type");
+
308 to_key(float_to_key<uint64_t>(obj), stream);
+
309 }
+
310 } else if constexpr (std::is_integral_v<T>) {
+
311 auto v = static_cast<std::make_unsigned_t<T>>(obj);
+
312 v -= static_cast<std::make_unsigned_t<T>>(std::numeric_limits<T>::min());
+
313 std::reverse(reinterpret_cast<char*>(&v), reinterpret_cast<char*>(&v + 1));
+
314 stream.write(&v, sizeof(v));
+
315 } else if constexpr (std::is_enum_v<T>) {
+
316 static_assert(!std::is_convertible_v<T, std::underlying_type_t<T>>, "Serializing unscoped enum");
+
317 to_key(static_cast<std::underlying_type_t<T>>(obj), stream);
+
318 } else {
+
319 using ts_meta = bluegrass::meta::meta_object<T>;
+
320 ts_meta::for_each_field(obj, [&](const auto& member) {
+
321 to_key(member, stream);
+
322 });
+
323 }
+
324}
+
325
+
326template <typename T>
+
327void convert_to_key(const T& t, key_type& bin) {
+ +
329 to_key(t, ss);
+
330 auto orig_size = bin.size();
+
331 bin.resize(orig_size + ss.tellp());
+
332 datastream<char*> fbs(bin.data() + orig_size, ss.tellp());
+
333 to_key(t, fbs);
+
334 check( fbs.valid(), "Stream overrun" );
+
335}
+
336
+
337template <typename T>
+ + + +
341 return result;
+
342}
+
343} // namespace eosio
+
+
+ + + + + + diff --git a/docs/cdt/menu.js b/docs/cdt/menu.js new file mode 100644 index 000000000..54e81cf15 --- /dev/null +++ b/docs/cdt/menu.js @@ -0,0 +1,127 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + var searchBox; + if (searchEnabled) { + if (serverSide) { + searchBox='
'+ + '
'+ + '
'+ + ''+ + '
'+ + '
'+ + '
'+ + '
'; + } else { + searchBox='
'+ + ''+ + ''+ + ''+ + ''+ + ''+ + '' + '' + '
'; + } + } + + $('#main-nav').before('
'+ + ''+ + ''+ + '
'); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchBox) { + $('#main-menu').append('
  • '); + } + var $mainMenuState = $('#main-menu-state'); + var prevWidth = 0; + if ($mainMenuState.length) { + function initResizableIfExists() { + if (typeof initResizable==='function') initResizable(); + } + // animate mobile menu + $mainMenuState.change(function(e) { + var $menu = $('#main-menu'); + var options = { duration: 250, step: initResizableIfExists }; + if (this.checked) { + options['complete'] = function() { $menu.css('display', 'block') }; + $menu.hide().slideDown(options); + } else { + options['complete'] = function() { $menu.css('display', 'none') }; + $menu.show().slideUp(options); + } + }); + // set default menu visibility + function resetState() { + var $menu = $('#main-menu'); + var $mainMenuState = $('#main-menu-state'); + var newWidth = $(window).outerWidth(); + if (newWidth!=prevWidth) { + if ($(window).outerWidth()<768) { + $mainMenuState.prop('checked',false); $menu.hide(); + $('#searchBoxPos1').html(searchBox); + $('#searchBoxPos2').hide(); + } else { + $menu.show(); + $('#searchBoxPos1').empty(); + $('#searchBoxPos2').html(searchBox); + $('#searchBoxPos2').show(); + } + prevWidth = newWidth; + } + } + $(window).ready(function() { resetState(); initResizableIfExists(); }); + $(window).resize(resetState); + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/docs/cdt/menudata.js b/docs/cdt/menudata.js new file mode 100644 index 000000000..8449cfa6d --- /dev/null +++ b/docs/cdt/menudata.js @@ -0,0 +1,107 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Главная",url:"index.html"}, +{text:"Группы",url:"modules.html"}, +{text:"Классы",url:"annotated.html",children:[ +{text:"Классы",url:"annotated.html"}, +{text:"Алфавитный указатель классов",url:"classes.html"}, +{text:"Иерархия классов",url:"hierarchy.html"}, +{text:"Члены классов",url:"functions.html",children:[ +{text:"Указатель",url:"functions.html",children:[ +{text:"_",url:"functions.html#index__5F"}, +{text:"a",url:"functions_a.html#index_a"}, +{text:"b",url:"functions_b.html#index_b"}, +{text:"c",url:"functions_c.html#index_c"}, +{text:"d",url:"functions_d.html#index_d"}, +{text:"e",url:"functions_e.html#index_e"}, +{text:"f",url:"functions_f.html#index_f"}, +{text:"g",url:"functions_g.html#index_g"}, +{text:"i",url:"functions_i.html#index_i"}, +{text:"k",url:"functions_k.html#index_k"}, +{text:"l",url:"functions_l.html#index_l"}, +{text:"m",url:"functions_m.html#index_m"}, +{text:"n",url:"functions_n.html#index_n"}, +{text:"o",url:"functions_o.html#index_o"}, +{text:"p",url:"functions_p.html#index_p"}, +{text:"q",url:"functions_q.html#index_q"}, +{text:"r",url:"functions_r.html#index_r"}, +{text:"s",url:"functions_s.html#index_s"}, +{text:"t",url:"functions_t.html#index_t"}, +{text:"u",url:"functions_u.html#index_u"}, +{text:"v",url:"functions_v.html#index_v"}, +{text:"w",url:"functions_w.html#index_w"}, +{text:"x",url:"functions_x.html#index_x"}, +{text:"y",url:"functions_y.html#index_y"}]}, +{text:"Функции",url:"functions_func.html",children:[ +{text:"a",url:"functions_func.html#index_a"}, +{text:"b",url:"functions_func_b.html#index_b"}, +{text:"c",url:"functions_func_c.html#index_c"}, +{text:"d",url:"functions_func_d.html#index_d"}, +{text:"e",url:"functions_func_e.html#index_e"}, +{text:"f",url:"functions_func_f.html#index_f"}, +{text:"g",url:"functions_func_g.html#index_g"}, +{text:"i",url:"functions_func_i.html#index_i"}, +{text:"l",url:"functions_func_l.html#index_l"}, +{text:"m",url:"functions_func_m.html#index_m"}, +{text:"n",url:"functions_func_n.html#index_n"}, +{text:"o",url:"functions_func_o.html#index_o"}, +{text:"p",url:"functions_func_p.html#index_p"}, +{text:"r",url:"functions_func_r.html#index_r"}, +{text:"s",url:"functions_func_s.html#index_s"}, +{text:"t",url:"functions_func_t.html#index_t"}, +{text:"u",url:"functions_func_u.html#index_u"}, +{text:"v",url:"functions_func_v.html#index_v"}, +{text:"w",url:"functions_func_w.html#index_w"}]}, +{text:"Переменные",url:"functions_vars.html",children:[ +{text:"_",url:"functions_vars.html#index__5F"}, +{text:"a",url:"functions_vars.html#index_a"}, +{text:"b",url:"functions_vars.html#index_b"}, +{text:"c",url:"functions_vars.html#index_c"}, +{text:"d",url:"functions_vars.html#index_d"}, +{text:"e",url:"functions_vars.html#index_e"}, +{text:"k",url:"functions_vars.html#index_k"}, +{text:"l",url:"functions_vars.html#index_l"}, +{text:"m",url:"functions_vars.html#index_m"}, +{text:"n",url:"functions_vars.html#index_n"}, +{text:"p",url:"functions_vars.html#index_p"}, +{text:"q",url:"functions_vars.html#index_q"}, +{text:"r",url:"functions_vars.html#index_r"}, +{text:"s",url:"functions_vars.html#index_s"}, +{text:"t",url:"functions_vars.html#index_t"}, +{text:"v",url:"functions_vars.html#index_v"}, +{text:"w",url:"functions_vars.html#index_w"}, +{text:"x",url:"functions_vars.html#index_x"}, +{text:"y",url:"functions_vars.html#index_y"}]}, +{text:"Определения типов",url:"functions_type.html"}, +{text:"Перечисления",url:"functions_enum.html"}, +{text:"Элементы перечислений",url:"functions_eval.html"}, +{text:"Относящиеся к классу функции",url:"functions_rela.html"}]}]}, +{text:"Файлы",url:"files.html",children:[ +{text:"Обозреватель",url:"files.html"}, +{text:"Список членов всех файлов",url:"globals.html",children:[ +{text:"Указатель",url:"globals.html"}, +{text:"Функции",url:"globals_func.html"}, +{text:"Макросы",url:"globals_defs.html"}]}]}]} diff --git a/docs/cdt/mermaid.min.js b/docs/cdt/mermaid.min.js new file mode 100644 index 000000000..602c21e01 --- /dev/null +++ b/docs/cdt/mermaid.min.js @@ -0,0 +1,2659 @@ +"use strict";var __esbuild_esm_mermaid_nm;(__esbuild_esm_mermaid_nm||={}).mermaid=(()=>{var Jxe=Object.create;var Sy=Object.defineProperty;var ebe=Object.getOwnPropertyDescriptor;var tbe=Object.getOwnPropertyNames;var rbe=Object.getPrototypeOf,nbe=Object.prototype.hasOwnProperty;var o=(t,e)=>Sy(t,"name",{value:e,configurable:!0});var N=(t,e)=>()=>(t&&(e=t(t=0)),e);var Ii=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),hr=(t,e)=>{for(var r in e)Sy(t,r,{get:e[r],enumerable:!0})},z4=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of tbe(e))!nbe.call(t,i)&&i!==r&&Sy(t,i,{get:()=>e[i],enumerable:!(n=ebe(e,i))||n.enumerable});return t},Sr=(t,e,r)=>(z4(t,e,"default"),r&&z4(r,e,"default")),Sa=(t,e,r)=>(r=t!=null?Jxe(rbe(t)):{},z4(e||!t||!t.__esModule?Sy(r,"default",{value:t,enumerable:!0}):r,t)),ibe=t=>z4(Sy({},"__esModule",{value:!0}),t);var abe,a0,GC,h$,G4=N(()=>{"use strict";abe=Object.freeze({left:0,top:0,width:16,height:16}),a0=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),GC=Object.freeze({...abe,...a0}),h$=Object.freeze({...GC,body:"",hidden:!1})});var sbe,f$,d$=N(()=>{"use strict";G4();sbe=Object.freeze({width:null,height:null}),f$=Object.freeze({...sbe,...a0})});var VC,V4,p$=N(()=>{"use strict";VC=o((t,e,r,n="")=>{let i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let l=i.pop(),u=i.pop(),h={provider:i.length>0?i[0]:n,prefix:u,name:l};return e&&!V4(h)?null:h}let a=i[0],s=a.split("-");if(s.length>1){let l={provider:n,prefix:s.shift(),name:s.join("-")};return e&&!V4(l)?null:l}if(r&&n===""){let l={provider:n,prefix:"",name:a};return e&&!V4(l,r)?null:l}return null},"stringToIcon"),V4=o((t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1,"validateIconName")});function m$(t,e){let r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);let n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}var g$=N(()=>{"use strict";o(m$,"mergeIconTransformations")});function UC(t,e){let r=m$(t,e);for(let n in h$)n in a0?n in t&&!(n in r)&&(r[n]=a0[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}var y$=N(()=>{"use strict";G4();g$();o(UC,"mergeIconData")});function v$(t,e){let r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;let l=n[s]&&n[s].parent,u=l&&a(l);u&&(i[s]=[l].concat(u))}return i[s]}return o(a,"resolve"),(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}var x$=N(()=>{"use strict";o(v$,"getIconsTree")});function b$(t,e,r){let n=t.icons,i=t.aliases||Object.create(null),a={};function s(l){a=UC(n[l]||i[l],a)}return o(s,"parse"),s(e),r.forEach(s),UC(t,a)}function HC(t,e){if(t.icons[e])return b$(t,e,[]);let r=v$(t,[e])[e];return r?b$(t,e,r):null}var T$=N(()=>{"use strict";y$();x$();o(b$,"internalGetIconData");o(HC,"getIconData")});function WC(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;let n=t.split(obe);if(n===null||!n.length)return t;let i=[],a=n.shift(),s=lbe.test(a);for(;;){if(s){let l=parseFloat(a);isNaN(l)?i.push(a):i.push(Math.ceil(l*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}var obe,lbe,w$=N(()=>{"use strict";obe=/(-?[0-9.]*[0-9]+[0-9.]*)/g,lbe=/^-?[0-9.]*[0-9]+[0-9.]*$/g;o(WC,"calculateSize")});function cbe(t,e="defs"){let r="",n=t.indexOf("<"+e);for(;n>=0;){let i=t.indexOf(">",n),a=t.indexOf("",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function ube(t,e){return t?""+t+""+e:e}function k$(t,e,r){let n=cbe(t);return ube(n.defs,e+n.content+r)}var E$=N(()=>{"use strict";o(cbe,"splitSVGDefs");o(ube,"mergeDefsAndContent");o(k$,"wrapSVGContent")});function qC(t,e){let r={...GC,...t},n={...f$,...e},i={left:r.left,top:r.top,width:r.width,height:r.height},a=r.body;[r,n].forEach(y=>{let v=[],x=y.hFlip,b=y.vFlip,T=y.rotate;x?b?T+=2:(v.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),v.push("scale(-1 1)"),i.top=i.left=0):b&&(v.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),v.push("scale(1 -1)"),i.top=i.left=0);let C;switch(T<0&&(T-=Math.floor(T/4)*4),T=T%4,T){case 1:C=i.height/2+i.top,v.unshift("rotate(90 "+C.toString()+" "+C.toString()+")");break;case 2:v.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:C=i.width/2+i.left,v.unshift("rotate(-90 "+C.toString()+" "+C.toString()+")");break}T%2===1&&(i.left!==i.top&&(C=i.left,i.left=i.top,i.top=C),i.width!==i.height&&(C=i.width,i.width=i.height,i.height=C)),v.length&&(a=k$(a,'',""))});let s=n.width,l=n.height,u=i.width,h=i.height,f,d;s===null?(d=l===null?"1em":l==="auto"?h:l,f=WC(d,u/h)):(f=s==="auto"?u:s,d=l===null?WC(f,h/u):l==="auto"?h:l);let p={},m=o((y,v)=>{hbe(v)||(p[y]=v.toString())},"setAttr");m("width",f),m("height",d);let g=[i.left,i.top,u,h];return p.viewBox=g.join(" "),{attributes:p,viewBox:g,body:a}}var hbe,S$=N(()=>{"use strict";G4();d$();w$();E$();hbe=o(t=>t==="unset"||t==="undefined"||t==="none","isUnsetKeyword");o(qC,"iconToSVG")});function YC(t,e=dbe){let r=[],n;for(;n=fbe.exec(t);)r.push(n[1]);if(!r.length)return t;let i="suffix"+(Math.random()*16777216|Date.now()).toString(16);return r.forEach(a=>{let s=typeof e=="function"?e(a):e+(pbe++).toString(),l=a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+l+')([")]|\\.[a-z])',"g"),"$1"+s+i+"$3")}),t=t.replace(new RegExp(i,"g"),""),t}var fbe,dbe,pbe,C$=N(()=>{"use strict";fbe=/\sid="(\S+)"/g,dbe="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16),pbe=0;o(YC,"replaceIDs")});function XC(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(let n in e)r+=" "+n+'="'+e[n]+'"';return'"+t+""}var A$=N(()=>{"use strict";o(XC,"iconToHTML")});var D$=Ii((hat,_$)=>{"use strict";var s0=1e3,o0=s0*60,l0=o0*60,Xf=l0*24,mbe=Xf*7,gbe=Xf*365.25;_$.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return ybe(t);if(r==="number"&&isFinite(t))return e.long?xbe(t):vbe(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function ybe(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*gbe;case"weeks":case"week":case"w":return r*mbe;case"days":case"day":case"d":return r*Xf;case"hours":case"hour":case"hrs":case"hr":case"h":return r*l0;case"minutes":case"minute":case"mins":case"min":case"m":return r*o0;case"seconds":case"second":case"secs":case"sec":case"s":return r*s0;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}o(ybe,"parse");function vbe(t){var e=Math.abs(t);return e>=Xf?Math.round(t/Xf)+"d":e>=l0?Math.round(t/l0)+"h":e>=o0?Math.round(t/o0)+"m":e>=s0?Math.round(t/s0)+"s":t+"ms"}o(vbe,"fmtShort");function xbe(t){var e=Math.abs(t);return e>=Xf?U4(t,e,Xf,"day"):e>=l0?U4(t,e,l0,"hour"):e>=o0?U4(t,e,o0,"minute"):e>=s0?U4(t,e,s0,"second"):t+" ms"}o(xbe,"fmtLong");function U4(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}o(U4,"plural")});var R$=Ii((dat,L$)=>{"use strict";function bbe(t){r.debug=r,r.default=r,r.coerce=u,r.disable=s,r.enable=i,r.enabled=l,r.humanize=D$(),r.destroy=h,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let d=0;for(let p=0;p{if(E==="%%")return"%";C++;let A=r.formatters[_];if(typeof A=="function"){let D=v[C];E=A.call(x,D),v.splice(C,1),C--}return E}),r.formatArgs.call(x,v),(x.log||r.log).apply(x,v)}return o(y,"debug"),y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:o(()=>p!==null?p:(m!==r.namespaces&&(m=r.namespaces,g=r.enabled(f)),g),"get"),set:o(v=>{p=v},"set")}),typeof r.init=="function"&&r.init(y),y}o(r,"createDebug");function n(f,d){let p=r(this.namespace+(typeof d>"u"?":":d)+f);return p.log=this.log,p}o(n,"extend");function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let d=(typeof f=="string"?f:"").trim().replace(" ",",").split(",").filter(Boolean);for(let p of d)p[0]==="-"?r.skips.push(p.slice(1)):r.names.push(p)}o(i,"enable");function a(f,d){let p=0,m=0,g=-1,y=0;for(;p"-"+d)].join(",");return r.enable(""),f}o(s,"disable");function l(f){for(let d of r.skips)if(a(f,d))return!1;for(let d of r.names)if(a(f,d))return!0;return!1}o(l,"enabled");function u(f){return f instanceof Error?f.stack||f.message:f}o(u,"coerce");function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o(h,"destroy"),r.enable(r.load()),r}o(bbe,"setup");L$.exports=bbe});var N$=Ii((Ys,H4)=>{"use strict";Ys.formatArgs=wbe;Ys.save=kbe;Ys.load=Ebe;Ys.useColors=Tbe;Ys.storage=Sbe();Ys.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Ys.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Tbe(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}o(Tbe,"useColors");function wbe(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+H4.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}o(wbe,"formatArgs");Ys.log=console.debug||console.log||(()=>{});function kbe(t){try{t?Ys.storage.setItem("debug",t):Ys.storage.removeItem("debug")}catch{}}o(kbe,"save");function Ebe(){let t;try{t=Ys.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}o(Ebe,"load");function Sbe(){try{return localStorage}catch{}}o(Sbe,"localstorage");H4.exports=R$()(Ys);var{formatters:Cbe}=H4.exports;Cbe.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var yat,M$=N(()=>{"use strict";p$();T$();S$();C$();A$();yat=Sa(N$(),1)});var jC,Gn,c0=N(()=>{"use strict";jC=o((t,e,{depth:r=2,clobber:n=!1}={})=>{let i={depth:r,clobber:n};return Array.isArray(e)&&!Array.isArray(t)?(e.forEach(a=>jC(t,a,i)),t):Array.isArray(e)&&Array.isArray(t)?(e.forEach(a=>{t.includes(a)||t.push(a)}),t):t===void 0||r<=0?t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e:(e!==void 0&&typeof t=="object"&&typeof e=="object"&&Object.keys(e).forEach(a=>{typeof e[a]=="object"&&(t[a]===void 0||typeof t[a]=="object")?(t[a]===void 0&&(t[a]=Array.isArray(e[a])?[]:{}),t[a]=jC(t[a],e[a],{depth:r-1,clobber:n})):(n||typeof t[a]!="object"&&typeof e[a]!="object")&&(t[a]=e[a])}),t)},"assignWithDepth"),Gn=jC});var W4=Ii((KC,QC)=>{"use strict";(function(t,e){typeof KC=="object"&&typeof QC<"u"?QC.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs=e()})(KC,function(){"use strict";var t=1e3,e=6e4,r=36e5,n="millisecond",i="second",a="minute",s="hour",l="day",u="week",h="month",f="quarter",d="year",p="date",m="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:o(function(k){var L=["th","st","nd","rd"],S=k%100;return"["+k+(L[(S-20)%10]||L[S]||L[0])+"]"},"ordinal")},x=o(function(k,L,S){var I=String(k);return!I||I.length>=L?k:""+Array(L+1-I.length).join(S)+k},"m"),b={s:x,z:o(function(k){var L=-k.utcOffset(),S=Math.abs(L),I=Math.floor(S/60),M=S%60;return(L<=0?"+":"-")+x(I,2,"0")+":"+x(M,2,"0")},"z"),m:o(function k(L,S){if(L.date()1)return k(B[0])}else{var F=L.name;C[F]=L,M=F}return!I&&M&&(T=M),M||!I&&T},"t"),A=o(function(k,L){if(E(k))return k.clone();var S=typeof L=="object"?L:{};return S.date=k,S.args=arguments,new O(S)},"O"),D=b;D.l=_,D.i=E,D.w=function(k,L){return A(k,{locale:L.$L,utc:L.$u,x:L.$x,$offset:L.$offset})};var O=function(){function k(S){this.$L=_(S.locale,null,!0),this.parse(S),this.$x=this.$x||S.x||{},this[w]=!0}o(k,"M");var L=k.prototype;return L.parse=function(S){this.$d=function(I){var M=I.date,P=I.utc;if(M===null)return new Date(NaN);if(D.u(M))return new Date;if(M instanceof Date)return new Date(M);if(typeof M=="string"&&!/Z$/i.test(M)){var B=M.match(g);if(B){var F=B[2]-1||0,z=(B[7]||"0").substring(0,3);return P?new Date(Date.UTC(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,z)):new Date(B[1],F,B[3]||1,B[4]||0,B[5]||0,B[6]||0,z)}}return new Date(M)}(S),this.init()},L.init=function(){var S=this.$d;this.$y=S.getFullYear(),this.$M=S.getMonth(),this.$D=S.getDate(),this.$W=S.getDay(),this.$H=S.getHours(),this.$m=S.getMinutes(),this.$s=S.getSeconds(),this.$ms=S.getMilliseconds()},L.$utils=function(){return D},L.isValid=function(){return this.$d.toString()!==m},L.isSame=function(S,I){var M=A(S);return this.startOf(I)<=M&&M<=this.endOf(I)},L.isAfter=function(S,I){return A(S){"use strict";I$=Sa(W4(),1),ru={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},X={trace:o((...t)=>{},"trace"),debug:o((...t)=>{},"debug"),info:o((...t)=>{},"info"),warn:o((...t)=>{},"warn"),error:o((...t)=>{},"error"),fatal:o((...t)=>{},"fatal")},Cy=o(function(t="fatal"){let e=ru.fatal;typeof t=="string"?t.toLowerCase()in ru&&(e=ru[t]):typeof t=="number"&&(e=t),X.trace=()=>{},X.debug=()=>{},X.info=()=>{},X.warn=()=>{},X.error=()=>{},X.fatal=()=>{},e<=ru.fatal&&(X.fatal=console.error?console.error.bind(console,To("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",To("FATAL"))),e<=ru.error&&(X.error=console.error?console.error.bind(console,To("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",To("ERROR"))),e<=ru.warn&&(X.warn=console.warn?console.warn.bind(console,To("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",To("WARN"))),e<=ru.info&&(X.info=console.info?console.info.bind(console,To("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",To("INFO"))),e<=ru.debug&&(X.debug=console.debug?console.debug.bind(console,To("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",To("DEBUG"))),e<=ru.trace&&(X.trace=console.debug?console.debug.bind(console,To("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",To("TRACE")))},"setLogLevel"),To=o(t=>`%c${(0,I$.default)().format("ss.SSS")} : ${t} : `,"format")});var q4,O$,P$=N(()=>{"use strict";q4={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:o(t=>t>=255?255:t<0?0:t,"r"),g:o(t=>t>=255?255:t<0?0:t,"g"),b:o(t=>t>=255?255:t<0?0:t,"b"),h:o(t=>t%360,"h"),s:o(t=>t>=100?100:t<0?0:t,"s"),l:o(t=>t>=100?100:t<0?0:t,"l"),a:o(t=>t>=1?1:t<0?0:t,"a")},toLinear:o(t=>{let e=t/255;return t>.03928?Math.pow((e+.055)/1.055,2.4):e/12.92},"toLinear"),hue2rgb:o((t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<.16666666666666666?t+(e-t)*6*r:r<.5?e:r<.6666666666666666?t+(e-t)*(.6666666666666666-r)*6:t),"hue2rgb"),hsl2rgb:o(({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;let i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return q4.hue2rgb(a,i,t+.3333333333333333)*255;case"g":return q4.hue2rgb(a,i,t)*255;case"b":return q4.hue2rgb(a,i,t-.3333333333333333)*255}},"hsl2rgb"),rgb2hsl:o(({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;let i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;let l=i-a,u=s>.5?l/(2-i-a):l/(i+a);if(n==="s")return u*100;switch(i){case t:return((e-r)/l+(e{"use strict";Abe={clamp:o((t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),"clamp"),round:o(t=>Math.round(t*1e10)/1e10,"round")},B$=Abe});var _be,$$,z$=N(()=>{"use strict";_be={dec2hex:o(t=>{let e=Math.round(t).toString(16);return e.length>1?e:`0${e}`},"dec2hex")},$$=_be});var Dbe,jt,Yl=N(()=>{"use strict";P$();F$();z$();Dbe={channel:O$,lang:B$,unit:$$},jt=Dbe});var nu,Oi,Ay=N(()=>{"use strict";Yl();nu={};for(let t=0;t<=255;t++)nu[t]=jt.unit.dec2hex(t);Oi={ALL:0,RGB:1,HSL:2}});var ZC,G$,V$=N(()=>{"use strict";Ay();ZC=class{static{o(this,"Type")}constructor(){this.type=Oi.ALL}get(){return this.type}set(e){if(this.type&&this.type!==e)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=e}reset(){this.type=Oi.ALL}is(e){return this.type===e}},G$=ZC});var JC,U$,H$=N(()=>{"use strict";Yl();V$();Ay();JC=class{static{o(this,"Channels")}constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new G$}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Oi.ALL,this}_ensureHSL(){let e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=jt.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=jt.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=jt.channel.rgb2hsl(e,"l"))}_ensureRGB(){let e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=jt.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=jt.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=jt.channel.hsl2rgb(e,"b"))}get r(){let e=this.data,r=e.r;return!this.type.is(Oi.HSL)&&r!==void 0?r:(this._ensureHSL(),jt.channel.hsl2rgb(e,"r"))}get g(){let e=this.data,r=e.g;return!this.type.is(Oi.HSL)&&r!==void 0?r:(this._ensureHSL(),jt.channel.hsl2rgb(e,"g"))}get b(){let e=this.data,r=e.b;return!this.type.is(Oi.HSL)&&r!==void 0?r:(this._ensureHSL(),jt.channel.hsl2rgb(e,"b"))}get h(){let e=this.data,r=e.h;return!this.type.is(Oi.RGB)&&r!==void 0?r:(this._ensureRGB(),jt.channel.rgb2hsl(e,"h"))}get s(){let e=this.data,r=e.s;return!this.type.is(Oi.RGB)&&r!==void 0?r:(this._ensureRGB(),jt.channel.rgb2hsl(e,"s"))}get l(){let e=this.data,r=e.l;return!this.type.is(Oi.RGB)&&r!==void 0?r:(this._ensureRGB(),jt.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Oi.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Oi.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Oi.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Oi.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Oi.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Oi.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}},U$=JC});var Lbe,sh,_y=N(()=>{"use strict";H$();Lbe=new U$({r:0,g:0,b:0,a:0},"transparent"),sh=Lbe});var W$,jf,e7=N(()=>{"use strict";_y();Ay();W$={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:o(t=>{if(t.charCodeAt(0)!==35)return;let e=t.match(W$.re);if(!e)return;let r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,l=s?1:17,u=s?8:4,h=a?0:-1,f=s?255:15;return sh.set({r:(n>>u*(h+3)&f)*l,g:(n>>u*(h+2)&f)*l,b:(n>>u*(h+1)&f)*l,a:a?(n&f)*l/255:1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`#${nu[Math.round(e)]}${nu[Math.round(r)]}${nu[Math.round(n)]}${nu[Math.round(i*255)]}`:`#${nu[Math.round(e)]}${nu[Math.round(r)]}${nu[Math.round(n)]}`},"stringify")},jf=W$});var Y4,Dy,q$=N(()=>{"use strict";Yl();_y();Y4={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:o(t=>{let e=t.match(Y4.hueRe);if(e){let[,r,n]=e;switch(n){case"grad":return jt.channel.clamp.h(parseFloat(r)*.9);case"rad":return jt.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return jt.channel.clamp.h(parseFloat(r)*360)}}return jt.channel.clamp.h(parseFloat(t))},"_hue2deg"),parse:o(t=>{let e=t.charCodeAt(0);if(e!==104&&e!==72)return;let r=t.match(Y4.re);if(!r)return;let[,n,i,a,s,l]=r;return sh.set({h:Y4._hue2deg(n),s:jt.channel.clamp.s(parseFloat(i)),l:jt.channel.clamp.l(parseFloat(a)),a:s?jt.channel.clamp.a(l?parseFloat(s)/100:parseFloat(s)):1},t)},"parse"),stringify:o(t=>{let{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${jt.lang.round(e)}, ${jt.lang.round(r)}%, ${jt.lang.round(n)}%, ${i})`:`hsl(${jt.lang.round(e)}, ${jt.lang.round(r)}%, ${jt.lang.round(n)}%)`},"stringify")},Dy=Y4});var X4,t7,Y$=N(()=>{"use strict";e7();X4={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:o(t=>{t=t.toLowerCase();let e=X4.colors[t];if(e)return jf.parse(e)},"parse"),stringify:o(t=>{let e=jf.stringify(t);for(let r in X4.colors)if(X4.colors[r]===e)return r},"stringify")},t7=X4});var X$,Ly,j$=N(()=>{"use strict";Yl();_y();X$={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:o(t=>{let e=t.charCodeAt(0);if(e!==114&&e!==82)return;let r=t.match(X$.re);if(!r)return;let[,n,i,a,s,l,u,h,f]=r;return sh.set({r:jt.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:jt.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:jt.channel.clamp.b(u?parseFloat(l)*2.55:parseFloat(l)),a:h?jt.channel.clamp.a(f?parseFloat(h)/100:parseFloat(h)):1},t)},"parse"),stringify:o(t=>{let{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${jt.lang.round(e)}, ${jt.lang.round(r)}, ${jt.lang.round(n)}, ${jt.lang.round(i)})`:`rgb(${jt.lang.round(e)}, ${jt.lang.round(r)}, ${jt.lang.round(n)})`},"stringify")},Ly=X$});var Rbe,Pi,iu=N(()=>{"use strict";e7();q$();Y$();j$();Ay();Rbe={format:{keyword:t7,hex:jf,rgb:Ly,rgba:Ly,hsl:Dy,hsla:Dy},parse:o(t=>{if(typeof t!="string")return t;let e=jf.parse(t)||Ly.parse(t)||Dy.parse(t)||t7.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},"parse"),stringify:o(t=>!t.changed&&t.color?t.color:t.type.is(Oi.HSL)||t.data.r===void 0?Dy.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?Ly.stringify(t):jf.stringify(t),"stringify")},Pi=Rbe});var Nbe,j4,r7=N(()=>{"use strict";Yl();iu();Nbe=o((t,e)=>{let r=Pi.parse(t);for(let n in e)r[n]=jt.channel.clamp[n](e[n]);return Pi.stringify(r)},"change"),j4=Nbe});var Mbe,Ya,n7=N(()=>{"use strict";Yl();_y();iu();r7();Mbe=o((t,e,r=0,n=1)=>{if(typeof t!="number")return j4(t,{a:e});let i=sh.set({r:jt.channel.clamp.r(t),g:jt.channel.clamp.g(e),b:jt.channel.clamp.b(r),a:jt.channel.clamp.a(n)});return Pi.stringify(i)},"rgba"),Ya=Mbe});var Ibe,Kf,K$=N(()=>{"use strict";Yl();iu();Ibe=o((t,e)=>jt.lang.round(Pi.parse(t)[e]),"channel"),Kf=Ibe});var Obe,Q$,Z$=N(()=>{"use strict";Yl();iu();Obe=o(t=>{let{r:e,g:r,b:n}=Pi.parse(t),i=.2126*jt.channel.toLinear(e)+.7152*jt.channel.toLinear(r)+.0722*jt.channel.toLinear(n);return jt.lang.round(i)},"luminance"),Q$=Obe});var Pbe,J$,ez=N(()=>{"use strict";Z$();Pbe=o(t=>Q$(t)>=.5,"isLight"),J$=Pbe});var Bbe,sa,tz=N(()=>{"use strict";ez();Bbe=o(t=>!J$(t),"isDark"),sa=Bbe});var Fbe,K4,i7=N(()=>{"use strict";Yl();iu();Fbe=o((t,e,r)=>{let n=Pi.parse(t),i=n[e],a=jt.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Pi.stringify(n)},"adjustChannel"),K4=Fbe});var $be,Lt,rz=N(()=>{"use strict";i7();$be=o((t,e)=>K4(t,"l",e),"lighten"),Lt=$be});var zbe,Ot,nz=N(()=>{"use strict";i7();zbe=o((t,e)=>K4(t,"l",-e),"darken"),Ot=zbe});var Gbe,Me,iz=N(()=>{"use strict";iu();r7();Gbe=o((t,e)=>{let r=Pi.parse(t),n={};for(let i in e)e[i]&&(n[i]=r[i]+e[i]);return j4(t,n)},"adjust"),Me=Gbe});var Vbe,az,sz=N(()=>{"use strict";iu();n7();Vbe=o((t,e,r=50)=>{let{r:n,g:i,b:a,a:s}=Pi.parse(t),{r:l,g:u,b:h,a:f}=Pi.parse(e),d=r/100,p=d*2-1,m=s-f,y=((p*m===-1?p:(p+m)/(1+p*m))+1)/2,v=1-y,x=n*y+l*v,b=i*y+u*v,T=a*y+h*v,C=s*d+f*(1-d);return Ya(x,b,T,C)},"mix"),az=Vbe});var Ube,wt,oz=N(()=>{"use strict";iu();sz();Ube=o((t,e=100)=>{let r=Pi.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,az(r,t,e)},"invert"),wt=Ube});var lz=N(()=>{"use strict";n7();K$();tz();rz();nz();iz();oz()});var Xs=N(()=>{"use strict";lz()});var oh,lh,Ry=N(()=>{"use strict";oh="#ffffff",lh="#f2f2f2"});var Ei,u0=N(()=>{"use strict";Xs();Ei=o((t,e)=>e?Me(t,{s:-40,l:10}):Me(t,{s:-40,l:-10}),"mkBorder")});var s7,cz,uz=N(()=>{"use strict";Xs();Ry();u0();s7=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px"}updateColors(){if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Me(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Me(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||Ei(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||Ei(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||Ei(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||Ei(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||wt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||wt(this.tertiaryColor),this.lineColor=this.lineColor||wt(this.background),this.arrowheadColor=this.arrowheadColor||wt(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?Ot(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||Ot(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||wt(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||Lt(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||Ot(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||Ot(this.mainBkg,10)):(this.rowOdd=this.rowOdd||Lt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||Lt(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Me(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Me(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Me(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Me(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Me(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Me(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Me(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Me(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Me(this.primaryColor,{h:330}),this.darkMode)for(let r=0;r{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},cz=o(t=>{let e=new s7;return e.calculate(t),e},"getThemeVariables")});var o7,hz,fz=N(()=>{"use strict";Xs();u0();o7=class{static{o(this,"Theme")}constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=Lt(this.primaryColor,16),this.tertiaryColor=Me(this.primaryColor,{h:-160}),this.primaryBorderColor=wt(this.background),this.secondaryBorderColor=Ei(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ei(this.tertiaryColor,this.darkMode),this.primaryTextColor=wt(this.primaryColor),this.secondaryTextColor=wt(this.secondaryColor),this.tertiaryTextColor=wt(this.tertiaryColor),this.lineColor=wt(this.background),this.textColor=wt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=Lt(wt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=Ya(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.sectionBkgColor=Ot("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=Ot(this.sectionBkgColor,10),this.taskBorderColor=Ya(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Ya(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||Lt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||Ot(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd"}updateColors(){this.secondBkg=Lt(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=Lt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=Lt(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=this.darkTextColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Me(this.primaryColor,{h:64}),this.fillType3=Me(this.secondaryColor,{h:64}),this.fillType4=Me(this.primaryColor,{h:-64}),this.fillType5=Me(this.secondaryColor,{h:-64}),this.fillType6=Me(this.primaryColor,{h:128}),this.fillType7=Me(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Me(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Me(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Me(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Me(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Me(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Me(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Me(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Me(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Me(this.primaryColor,{h:330});for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},hz=o(t=>{let e=new o7;return e.calculate(t),e},"getThemeVariables")});var l7,ch,Ny=N(()=>{"use strict";Xs();u0();Ry();l7=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Me(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Me(this.primaryColor,{h:-160}),this.primaryBorderColor=Ei(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ei(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ei(this.tertiaryColor,this.darkMode),this.primaryTextColor=wt(this.primaryColor),this.secondaryTextColor=wt(this.secondaryColor),this.tertiaryTextColor=wt(this.tertiaryColor),this.lineColor=wt(this.background),this.textColor=wt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=Ya(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.updateColors()}updateColors(){this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Me(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Me(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Me(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Me(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Me(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Me(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Me(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Me(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Me(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Ot(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Ot(this.tertiaryColor,40);for(let e=0;e{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}let r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},ch=o(t=>{let e=new l7;return e.calculate(t),e},"getThemeVariables")});var c7,dz,pz=N(()=>{"use strict";Xs();Ry();u0();c7=class{static{o(this,"Theme")}constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=Lt("#cde498",10),this.primaryBorderColor=Ei(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ei(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ei(this.tertiaryColor,this.darkMode),this.primaryTextColor=wt(this.primaryColor),this.secondaryTextColor=wt(this.secondaryColor),this.tertiaryTextColor=wt(this.primaryColor),this.lineColor=wt(this.background),this.textColor=wt(this.background),this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.actorBorder=Ot(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Me(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Me(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Me(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Me(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Me(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Me(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Me(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Me(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Me(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||Ot(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||Ot(this.tertiaryColor,40);for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},dz=o(t=>{let e=new c7;return e.calculate(t),e},"getThemeVariables")});var u7,mz,gz=N(()=>{"use strict";Xs();u0();Ry();u7=class{static{o(this,"Theme")}constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=Lt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Me(this.primaryColor,{h:-160}),this.primaryBorderColor=Ei(this.primaryColor,this.darkMode),this.secondaryBorderColor=Ei(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=Ei(this.tertiaryColor,this.darkMode),this.primaryTextColor=wt(this.primaryColor),this.secondaryTextColor=wt(this.secondaryColor),this.tertiaryTextColor=wt(this.tertiaryColor),this.lineColor=wt(this.background),this.textColor=wt(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||Lt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222"}updateColors(){this.secondBkg=Lt(this.contrast,55),this.border2=this.contrast,this.actorBorder=Lt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let e=0;e{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},mz=o(t=>{let e=new u7;return e.calculate(t),e},"getThemeVariables")});var wo,Q4=N(()=>{"use strict";uz();fz();Ny();pz();gz();wo={base:{getThemeVariables:cz},dark:{getThemeVariables:hz},default:{getThemeVariables:ch},forest:{getThemeVariables:dz},neutral:{getThemeVariables:mz}}});var ll,yz=N(()=>{"use strict";ll={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:!0,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1}});var vz,xz,bz,lr,Ca=N(()=>{"use strict";Q4();yz();vz={...ll,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:wo.default.getThemeVariables(),sequence:{...ll.sequence,messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:o(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:o(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...ll.gantt,tickInterval:void 0,useWidth:void 0},c4:{...ll.c4,useWidth:void 0,personFont:o(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...ll.flowchart,inheritDir:!1},external_personFont:o(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:o(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:o(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:o(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:o(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:o(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:o(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:o(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:o(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:o(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:o(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:o(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:o(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:o(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:o(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:o(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:o(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:o(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:o(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:o(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:o(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...ll.pie,useWidth:984},xyChart:{...ll.xyChart,useWidth:void 0},requirement:{...ll.requirement,useWidth:void 0},packet:{...ll.packet},radar:{...ll.radar},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","}},xz=o((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...xz(t[n],"")]:[...r,e+n],[]),"keyify"),bz=new Set(xz(vz,"")),lr=vz});var h0,Hbe,h7=N(()=>{"use strict";Ca();yt();h0=o(t=>{if(X.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>h0(e));return}for(let e of Object.keys(t)){if(X.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!bz.has(e)||t[e]==null){X.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){X.debug("sanitizing object",e),h0(t[e]);continue}let r=["themeCSS","fontFamily","altFontFamily"];for(let n of r)e.includes(n)&&(X.debug("sanitizing css option",e),t[e]=Hbe(t[e]))}if(t.themeVariables)for(let e of Object.keys(t.themeVariables)){let r=t.themeVariables[e];r?.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}X.debug("After sanitization",t)}},"sanitizeDirective"),Hbe=o(t=>{let e=0,r=0;for(let n of t){if(e{"use strict";c0();yt();Q4();Ca();h7();uh=Object.freeze(lr),bs=Gn({},uh),f0=[],My=Gn({},uh),Z4=o((t,e)=>{let r=Gn({},t),n={};for(let i of e)Sz(i),n=Gn(n,i);if(r=Gn(r,n),n.theme&&n.theme in wo){let i=Gn({},wz),a=Gn(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in wo&&(r.themeVariables=wo[r.theme].getThemeVariables(a))}return My=r,Az(My),My},"updateCurrentConfig"),f7=o(t=>(bs=Gn({},uh),bs=Gn(bs,t),t.theme&&wo[t.theme]&&(bs.themeVariables=wo[t.theme].getThemeVariables(t.themeVariables)),Z4(bs,f0),bs),"setSiteConfig"),kz=o(t=>{wz=Gn({},t)},"saveConfigFromInitialize"),Ez=o(t=>(bs=Gn(bs,t),Z4(bs,f0),bs),"updateSiteConfig"),d7=o(()=>Gn({},bs),"getSiteConfig"),J4=o(t=>(Az(t),Gn(My,t),Qt()),"setConfig"),Qt=o(()=>Gn({},My),"getConfig"),Sz=o(t=>{t&&(["secure",...bs.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(X.debug(`Denied attempt to modify a secure key ${e}`,t[e]),delete t[e])}),Object.keys(t).forEach(e=>{e.startsWith("__")&&delete t[e]}),Object.keys(t).forEach(e=>{typeof t[e]=="string"&&(t[e].includes("<")||t[e].includes(">")||t[e].includes("url(data:"))&&delete t[e],typeof t[e]=="object"&&Sz(t[e])}))},"sanitize"),Cz=o(t=>{h0(t),t.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),f0.push(t),Z4(bs,f0)},"addDirective"),Iy=o((t=bs)=>{f0=[],Z4(t,f0)},"reset"),Wbe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},Tz={},qbe=o(t=>{Tz[t]||(X.warn(Wbe[t]),Tz[t]=!0)},"issueWarning"),Az=o(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&qbe("LAZY_LOAD_DEPRECATED")},"checkConfig")});function Ka(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:r3;_z&&_z(t,null);let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){let a=r(i);a!==i&&(Ybe(e)||(e[n]=a),i=a)}t[i]=!0}return t}function t4e(t){for(let e=0;e0&&arguments[0]!==void 0?arguments[0]:f4e(),e=o(Dt=>Gz(Dt),"DOMPurify");if(e.version="3.2.5",e.removed=[],!t||!t.document||t.document.nodeType!==$y.document||!t.Element)return e.isSupported=!1,e;let{document:r}=t,n=r,i=n.currentScript,{DocumentFragment:a,HTMLTemplateElement:s,Node:l,Element:u,NodeFilter:h,NamedNodeMap:f=t.NamedNodeMap||t.MozNamedAttrMap,HTMLFormElement:d,DOMParser:p,trustedTypes:m}=t,g=u.prototype,y=Fy(g,"cloneNode"),v=Fy(g,"remove"),x=Fy(g,"nextSibling"),b=Fy(g,"childNodes"),T=Fy(g,"parentNode");if(typeof s=="function"){let Dt=r.createElement("template");Dt.content&&Dt.content.ownerDocument&&(r=Dt.content.ownerDocument)}let C,w="",{implementation:E,createNodeIterator:_,createDocumentFragment:A,getElementsByTagName:D}=r,{importNode:O}=n,R=Pz();e.isSupported=typeof Bz=="function"&&typeof T=="function"&&E&&E.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:k,ERB_EXPR:L,TMPLIT_EXPR:S,DATA_ATTR:I,ARIA_ATTR:M,IS_SCRIPT_OR_DATA:P,ATTR_WHITESPACE:B,CUSTOM_ELEMENT:F}=Oz,{IS_ALLOWED_URI:z}=Oz,$=null,U=Ar({},[...Rz,...m7,...g7,...y7,...Nz]),K=null,ee=Ar({},[...Mz,...v7,...Iz,...t3]),Y=Object.seal(Fz(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ce=null,Z=null,ue=!0,Q=!0,j=!1,ne=!0,te=!1,he=!0,le=!1,J=!1,Se=!1,se=!1,ae=!1,Oe=!1,ye=!0,Be=!1,He="user-content-",ze=!0,Le=!1,Ie={},xe=null,q=Ar({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),de=null,ie=Ar({},["audio","video","img","source","image","track"]),oe=null,V=Ar({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Te="http://www.w3.org/1998/Math/MathML",W="http://www.w3.org/2000/svg",pe="http://www.w3.org/1999/xhtml",ve=pe,Pe=!1,_e=null,be=Ar({},[Te,W,pe],p7),Ve=Ar({},["mi","mo","mn","ms","mtext"]),De=Ar({},["annotation-xml"]),Ye=Ar({},["title","style","font","a","script"]),at=null,Rt=["application/xhtml+xml","text/html"],st="text/html",Ue=null,ut=null,We=r.createElement("form"),lt=o(function(Ce){return Ce instanceof RegExp||Ce instanceof Function},"isRegexOrFunction"),Xt=o(function(){let Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ut&&ut===Ce)){if((!Ce||typeof Ce!="object")&&(Ce={}),Ce=Qf(Ce),at=Rt.indexOf(Ce.PARSER_MEDIA_TYPE)===-1?st:Ce.PARSER_MEDIA_TYPE,Ue=at==="application/xhtml+xml"?p7:r3,$=cl(Ce,"ALLOWED_TAGS")?Ar({},Ce.ALLOWED_TAGS,Ue):U,K=cl(Ce,"ALLOWED_ATTR")?Ar({},Ce.ALLOWED_ATTR,Ue):ee,_e=cl(Ce,"ALLOWED_NAMESPACES")?Ar({},Ce.ALLOWED_NAMESPACES,p7):be,oe=cl(Ce,"ADD_URI_SAFE_ATTR")?Ar(Qf(V),Ce.ADD_URI_SAFE_ATTR,Ue):V,de=cl(Ce,"ADD_DATA_URI_TAGS")?Ar(Qf(ie),Ce.ADD_DATA_URI_TAGS,Ue):ie,xe=cl(Ce,"FORBID_CONTENTS")?Ar({},Ce.FORBID_CONTENTS,Ue):q,ce=cl(Ce,"FORBID_TAGS")?Ar({},Ce.FORBID_TAGS,Ue):{},Z=cl(Ce,"FORBID_ATTR")?Ar({},Ce.FORBID_ATTR,Ue):{},Ie=cl(Ce,"USE_PROFILES")?Ce.USE_PROFILES:!1,ue=Ce.ALLOW_ARIA_ATTR!==!1,Q=Ce.ALLOW_DATA_ATTR!==!1,j=Ce.ALLOW_UNKNOWN_PROTOCOLS||!1,ne=Ce.ALLOW_SELF_CLOSE_IN_ATTR!==!1,te=Ce.SAFE_FOR_TEMPLATES||!1,he=Ce.SAFE_FOR_XML!==!1,le=Ce.WHOLE_DOCUMENT||!1,se=Ce.RETURN_DOM||!1,ae=Ce.RETURN_DOM_FRAGMENT||!1,Oe=Ce.RETURN_TRUSTED_TYPE||!1,Se=Ce.FORCE_BODY||!1,ye=Ce.SANITIZE_DOM!==!1,Be=Ce.SANITIZE_NAMED_PROPS||!1,ze=Ce.KEEP_CONTENT!==!1,Le=Ce.IN_PLACE||!1,z=Ce.ALLOWED_URI_REGEXP||$z,ve=Ce.NAMESPACE||pe,Ve=Ce.MATHML_TEXT_INTEGRATION_POINTS||Ve,De=Ce.HTML_INTEGRATION_POINTS||De,Y=Ce.CUSTOM_ELEMENT_HANDLING||{},Ce.CUSTOM_ELEMENT_HANDLING&<(Ce.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Y.tagNameCheck=Ce.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ce.CUSTOM_ELEMENT_HANDLING&<(Ce.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Y.attributeNameCheck=Ce.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ce.CUSTOM_ELEMENT_HANDLING&&typeof Ce.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Y.allowCustomizedBuiltInElements=Ce.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),te&&(Q=!1),ae&&(se=!0),Ie&&($=Ar({},Nz),K=[],Ie.html===!0&&(Ar($,Rz),Ar(K,Mz)),Ie.svg===!0&&(Ar($,m7),Ar(K,v7),Ar(K,t3)),Ie.svgFilters===!0&&(Ar($,g7),Ar(K,v7),Ar(K,t3)),Ie.mathMl===!0&&(Ar($,y7),Ar(K,Iz),Ar(K,t3))),Ce.ADD_TAGS&&($===U&&($=Qf($)),Ar($,Ce.ADD_TAGS,Ue)),Ce.ADD_ATTR&&(K===ee&&(K=Qf(K)),Ar(K,Ce.ADD_ATTR,Ue)),Ce.ADD_URI_SAFE_ATTR&&Ar(oe,Ce.ADD_URI_SAFE_ATTR,Ue),Ce.FORBID_CONTENTS&&(xe===q&&(xe=Qf(xe)),Ar(xe,Ce.FORBID_CONTENTS,Ue)),ze&&($["#text"]=!0),le&&Ar($,["html","head","body"]),$.table&&(Ar($,["tbody"]),delete ce.tbody),Ce.TRUSTED_TYPES_POLICY){if(typeof Ce.TRUSTED_TYPES_POLICY.createHTML!="function")throw By('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ce.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw By('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=Ce.TRUSTED_TYPES_POLICY,w=C.createHTML("")}else C===void 0&&(C=d4e(m,i)),C!==null&&typeof w=="string"&&(w=C.createHTML(""));ja&&ja(Ce),ut=Ce}},"_parseConfig"),Tt=Ar({},[...m7,...g7,...r4e]),Mt=Ar({},[...y7,...n4e]),bt=o(function(Ce){let tt=T(Ce);(!tt||!tt.tagName)&&(tt={namespaceURI:ve,tagName:"template"});let Ct=r3(Ce.tagName),yr=r3(tt.tagName);return _e[Ce.namespaceURI]?Ce.namespaceURI===W?tt.namespaceURI===pe?Ct==="svg":tt.namespaceURI===Te?Ct==="svg"&&(yr==="annotation-xml"||Ve[yr]):!!Tt[Ct]:Ce.namespaceURI===Te?tt.namespaceURI===pe?Ct==="math":tt.namespaceURI===W?Ct==="math"&&De[yr]:!!Mt[Ct]:Ce.namespaceURI===pe?tt.namespaceURI===W&&!De[yr]||tt.namespaceURI===Te&&!Ve[yr]?!1:!Mt[Ct]&&(Ye[Ct]||!Tt[Ct]):!!(at==="application/xhtml+xml"&&_e[Ce.namespaceURI]):!1},"_checkValidNamespace"),ht=o(function(Ce){Oy(e.removed,{element:Ce});try{T(Ce).removeChild(Ce)}catch{v(Ce)}},"_forceRemove"),St=o(function(Ce,tt){try{Oy(e.removed,{attribute:tt.getAttributeNode(Ce),from:tt})}catch{Oy(e.removed,{attribute:null,from:tt})}if(tt.removeAttribute(Ce),Ce==="is")if(se||ae)try{ht(tt)}catch{}else try{tt.setAttribute(Ce,"")}catch{}},"_removeAttribute"),ft=o(function(Ce){let tt=null,Ct=null;if(Se)Ce=""+Ce;else{let gn=Lz(Ce,/^[\r\n\t ]+/);Ct=gn&&gn[0]}at==="application/xhtml+xml"&&ve===pe&&(Ce=''+Ce+"");let yr=C?C.createHTML(Ce):Ce;if(ve===pe)try{tt=new p().parseFromString(yr,at)}catch{}if(!tt||!tt.documentElement){tt=E.createDocument(ve,"template",null);try{tt.documentElement.innerHTML=Pe?w:yr}catch{}}let tn=tt.body||tt.documentElement;return Ce&&Ct&&tn.insertBefore(r.createTextNode(Ct),tn.childNodes[0]||null),ve===pe?D.call(tt,le?"html":"body")[0]:le?tt.documentElement:tn},"_initDocument"),vt=o(function(Ce){return _.call(Ce.ownerDocument||Ce,Ce,h.SHOW_ELEMENT|h.SHOW_COMMENT|h.SHOW_TEXT|h.SHOW_PROCESSING_INSTRUCTION|h.SHOW_CDATA_SECTION,null)},"_createNodeIterator"),nt=o(function(Ce){return Ce instanceof d&&(typeof Ce.nodeName!="string"||typeof Ce.textContent!="string"||typeof Ce.removeChild!="function"||!(Ce.attributes instanceof f)||typeof Ce.removeAttribute!="function"||typeof Ce.setAttribute!="function"||typeof Ce.namespaceURI!="string"||typeof Ce.insertBefore!="function"||typeof Ce.hasChildNodes!="function")},"_isClobbered"),dn=o(function(Ce){return typeof l=="function"&&Ce instanceof l},"_isNode");function kt(Dt,Ce,tt){e3(Dt,Ct=>{Ct.call(e,Ce,tt,ut)})}o(kt,"_executeHooks");let In=o(function(Ce){let tt=null;if(kt(R.beforeSanitizeElements,Ce,null),nt(Ce))return ht(Ce),!0;let Ct=Ue(Ce.nodeName);if(kt(R.uponSanitizeElement,Ce,{tagName:Ct,allowedTags:$}),Ce.hasChildNodes()&&!dn(Ce.firstElementChild)&&Xa(/<[/\w!]/g,Ce.innerHTML)&&Xa(/<[/\w!]/g,Ce.textContent)||Ce.nodeType===$y.progressingInstruction||he&&Ce.nodeType===$y.comment&&Xa(/<[/\w]/g,Ce.data))return ht(Ce),!0;if(!$[Ct]||ce[Ct]){if(!ce[Ct]&&Nr(Ct)&&(Y.tagNameCheck instanceof RegExp&&Xa(Y.tagNameCheck,Ct)||Y.tagNameCheck instanceof Function&&Y.tagNameCheck(Ct)))return!1;if(ze&&!xe[Ct]){let yr=T(Ce)||Ce.parentNode,tn=b(Ce)||Ce.childNodes;if(tn&&yr){let gn=tn.length;for(let Qr=gn-1;Qr>=0;--Qr){let Mi=y(tn[Qr],!0);Mi.__removalCount=(Ce.__removalCount||0)+1,yr.insertBefore(Mi,x(Ce))}}}return ht(Ce),!0}return Ce instanceof u&&!bt(Ce)||(Ct==="noscript"||Ct==="noembed"||Ct==="noframes")&&Xa(/<\/no(script|embed|frames)/i,Ce.innerHTML)?(ht(Ce),!0):(te&&Ce.nodeType===$y.text&&(tt=Ce.textContent,e3([k,L,S],yr=>{tt=Py(tt,yr," ")}),Ce.textContent!==tt&&(Oy(e.removed,{element:Ce.cloneNode()}),Ce.textContent=tt)),kt(R.afterSanitizeElements,Ce,null),!1)},"_sanitizeElements"),en=o(function(Ce,tt,Ct){if(ye&&(tt==="id"||tt==="name")&&(Ct in r||Ct in We))return!1;if(!(Q&&!Z[tt]&&Xa(I,tt))){if(!(ue&&Xa(M,tt))){if(!K[tt]||Z[tt]){if(!(Nr(Ce)&&(Y.tagNameCheck instanceof RegExp&&Xa(Y.tagNameCheck,Ce)||Y.tagNameCheck instanceof Function&&Y.tagNameCheck(Ce))&&(Y.attributeNameCheck instanceof RegExp&&Xa(Y.attributeNameCheck,tt)||Y.attributeNameCheck instanceof Function&&Y.attributeNameCheck(tt))||tt==="is"&&Y.allowCustomizedBuiltInElements&&(Y.tagNameCheck instanceof RegExp&&Xa(Y.tagNameCheck,Ct)||Y.tagNameCheck instanceof Function&&Y.tagNameCheck(Ct))))return!1}else if(!oe[tt]){if(!Xa(z,Py(Ct,B,""))){if(!((tt==="src"||tt==="xlink:href"||tt==="href")&&Ce!=="script"&&Zbe(Ct,"data:")===0&&de[Ce])){if(!(j&&!Xa(P,Py(Ct,B,"")))){if(Ct)return!1}}}}}}return!0},"_isValidAttribute"),Nr=o(function(Ce){return Ce!=="annotation-xml"&&Lz(Ce,F)},"_isBasicCustomElement"),Mr=o(function(Ce){kt(R.beforeSanitizeAttributes,Ce,null);let{attributes:tt}=Ce;if(!tt||nt(Ce))return;let Ct={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:K,forceKeepAttr:void 0},yr=tt.length;for(;yr--;){let tn=tt[yr],{name:gn,namespaceURI:Qr,value:Mi}=tn,Zn=Ue(gn),En=gn==="value"?Mi:Jbe(Mi);if(Ct.attrName=Zn,Ct.attrValue=En,Ct.keepAttr=!0,Ct.forceKeepAttr=void 0,kt(R.uponSanitizeAttribute,Ce,Ct),En=Ct.attrValue,Be&&(Zn==="id"||Zn==="name")&&(St(gn,Ce),En=He+En),he&&Xa(/((--!?|])>)|<\/(style|title)/i,En)){St(gn,Ce);continue}if(Ct.forceKeepAttr||(St(gn,Ce),!Ct.keepAttr))continue;if(!ne&&Xa(/\/>/i,En)){St(gn,Ce);continue}te&&e3([k,L,S],et=>{En=Py(En,et," ")});let Ur=Ue(Ce.nodeName);if(en(Ur,Zn,En)){if(C&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!Qr)switch(m.getAttributeType(Ur,Zn)){case"TrustedHTML":{En=C.createHTML(En);break}case"TrustedScriptURL":{En=C.createScriptURL(En);break}}try{Qr?Ce.setAttributeNS(Qr,gn,En):Ce.setAttribute(gn,En),nt(Ce)?ht(Ce):Dz(e.removed)}catch{}}}kt(R.afterSanitizeAttributes,Ce,null)},"_sanitizeAttributes"),On=o(function Dt(Ce){let tt=null,Ct=vt(Ce);for(kt(R.beforeSanitizeShadowDOM,Ce,null);tt=Ct.nextNode();)kt(R.uponSanitizeShadowNode,tt,null),In(tt),Mr(tt),tt.content instanceof a&&Dt(tt.content);kt(R.afterSanitizeShadowDOM,Ce,null)},"_sanitizeShadowDOM");return e.sanitize=function(Dt){let Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},tt=null,Ct=null,yr=null,tn=null;if(Pe=!Dt,Pe&&(Dt=""),typeof Dt!="string"&&!dn(Dt))if(typeof Dt.toString=="function"){if(Dt=Dt.toString(),typeof Dt!="string")throw By("dirty is not a string, aborting")}else throw By("toString is not a function");if(!e.isSupported)return Dt;if(J||Xt(Ce),e.removed=[],typeof Dt=="string"&&(Le=!1),Le){if(Dt.nodeName){let Mi=Ue(Dt.nodeName);if(!$[Mi]||ce[Mi])throw By("root node is forbidden and cannot be sanitized in-place")}}else if(Dt instanceof l)tt=ft(""),Ct=tt.ownerDocument.importNode(Dt,!0),Ct.nodeType===$y.element&&Ct.nodeName==="BODY"||Ct.nodeName==="HTML"?tt=Ct:tt.appendChild(Ct);else{if(!se&&!te&&!le&&Dt.indexOf("<")===-1)return C&&Oe?C.createHTML(Dt):Dt;if(tt=ft(Dt),!tt)return se?null:Oe?w:""}tt&&Se&&ht(tt.firstChild);let gn=vt(Le?Dt:tt);for(;yr=gn.nextNode();)In(yr),Mr(yr),yr.content instanceof a&&On(yr.content);if(Le)return Dt;if(se){if(ae)for(tn=A.call(tt.ownerDocument);tt.firstChild;)tn.appendChild(tt.firstChild);else tn=tt;return(K.shadowroot||K.shadowrootmode)&&(tn=O.call(n,tn,!0)),tn}let Qr=le?tt.outerHTML:tt.innerHTML;return le&&$["!doctype"]&&tt.ownerDocument&&tt.ownerDocument.doctype&&tt.ownerDocument.doctype.name&&Xa(zz,tt.ownerDocument.doctype.name)&&(Qr=" +`+Qr),te&&e3([k,L,S],Mi=>{Qr=Py(Qr,Mi," ")}),C&&Oe?C.createHTML(Qr):Qr},e.setConfig=function(){let Dt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xt(Dt),J=!0},e.clearConfig=function(){ut=null,J=!1},e.isValidAttribute=function(Dt,Ce,tt){ut||Xt({});let Ct=Ue(Dt),yr=Ue(Ce);return en(Ct,yr,tt)},e.addHook=function(Dt,Ce){typeof Ce=="function"&&Oy(R[Dt],Ce)},e.removeHook=function(Dt,Ce){if(Ce!==void 0){let tt=Kbe(R[Dt],Ce);return tt===-1?void 0:Qbe(R[Dt],tt,1)[0]}return Dz(R[Dt])},e.removeHooks=function(Dt){R[Dt]=[]},e.removeAllHooks=function(){R=Pz()},e}var Bz,_z,Ybe,Xbe,jbe,ja,ko,Fz,x7,b7,e3,Kbe,Dz,Oy,Qbe,r3,p7,Lz,Py,Zbe,Jbe,cl,Xa,By,Rz,m7,g7,r4e,y7,n4e,Nz,Mz,v7,Iz,t3,i4e,a4e,s4e,o4e,l4e,$z,c4e,u4e,zz,h4e,Oz,$y,f4e,d4e,Pz,hh,T7=N(()=>{"use strict";({entries:Bz,setPrototypeOf:_z,isFrozen:Ybe,getPrototypeOf:Xbe,getOwnPropertyDescriptor:jbe}=Object),{freeze:ja,seal:ko,create:Fz}=Object,{apply:x7,construct:b7}=typeof Reflect<"u"&&Reflect;ja||(ja=o(function(e){return e},"freeze"));ko||(ko=o(function(e){return e},"seal"));x7||(x7=o(function(e,r,n){return e.apply(r,n)},"apply"));b7||(b7=o(function(e,r){return new e(...r)},"construct"));e3=Ka(Array.prototype.forEach),Kbe=Ka(Array.prototype.lastIndexOf),Dz=Ka(Array.prototype.pop),Oy=Ka(Array.prototype.push),Qbe=Ka(Array.prototype.splice),r3=Ka(String.prototype.toLowerCase),p7=Ka(String.prototype.toString),Lz=Ka(String.prototype.match),Py=Ka(String.prototype.replace),Zbe=Ka(String.prototype.indexOf),Jbe=Ka(String.prototype.trim),cl=Ka(Object.prototype.hasOwnProperty),Xa=Ka(RegExp.prototype.test),By=e4e(TypeError);o(Ka,"unapply");o(e4e,"unconstruct");o(Ar,"addToSet");o(t4e,"cleanArray");o(Qf,"clone");o(Fy,"lookupGetter");Rz=ja(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),m7=ja(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),g7=ja(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),r4e=ja(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),y7=ja(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),n4e=ja(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Nz=ja(["#text"]),Mz=ja(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),v7=ja(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Iz=ja(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),t3=ja(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),i4e=ko(/\{\{[\w\W]*|[\w\W]*\}\}/gm),a4e=ko(/<%[\w\W]*|[\w\W]*%>/gm),s4e=ko(/\$\{[\w\W]*/gm),o4e=ko(/^data-[\-\w.\u00B7-\uFFFF]+$/),l4e=ko(/^aria-[\-\w]+$/),$z=ko(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),c4e=ko(/^(?:\w+script|data):/i),u4e=ko(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),zz=ko(/^html$/i),h4e=ko(/^[a-z][.\w]*(-[.\w]+)+$/i),Oz=Object.freeze({__proto__:null,ARIA_ATTR:l4e,ATTR_WHITESPACE:u4e,CUSTOM_ELEMENT:h4e,DATA_ATTR:o4e,DOCTYPE_NAME:zz,ERB_EXPR:a4e,IS_ALLOWED_URI:$z,IS_SCRIPT_OR_DATA:c4e,MUSTACHE_EXPR:i4e,TMPLIT_EXPR:s4e}),$y={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},f4e=o(function(){return typeof window>"u"?null:window},"getGlobal"),d4e=o(function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));let a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},"_createTrustedTypesPolicy"),Pz=o(function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},"_createHooksMap");o(Gz,"createDOMPurify");hh=Gz()});var xV={};hr(xV,{ParseError:()=>mt,SETTINGS_SCHEMA:()=>Uy,__defineFunction:()=>Nt,__defineMacro:()=>fe,__defineSymbol:()=>G,__domTree:()=>vV,__parse:()=>pV,__renderToDomTree:()=>D3,__renderToHTMLTree:()=>gV,__setFontMetrics:()=>TG,default:()=>i5e,render:()=>uA,renderToString:()=>dV,version:()=>yV});function b4e(t){return String(t).replace(x4e,e=>v4e[e])}function E4e(t){if(t.default)return t.default;var e=t.type,r=Array.isArray(e)?e[0]:e;if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}function R4e(t){for(var e=0;e=i[0]&&t<=i[1])return r.name}return null}function bG(t){for(var e=0;e=p3[e]&&t<=p3[e+1])return!0;return!1}function TG(t,e){Kl[t]=e}function X7(t,e,r){if(!Kl[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Kl[e][n];if(!i&&t[0]in Uz&&(n=Uz[t[0]].charCodeAt(0),i=Kl[e][n]),!i&&r==="text"&&bG(n)&&(i=Kl[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}function V4e(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!w7[e]){var r=w7[e]={cssEmPerMu:n3.quad[e]/18};for(var n in n3)n3.hasOwnProperty(n)&&(r[n]=n3[n][e])}return w7[e]}function qz(t){if(t instanceof ws)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function Y4e(t){if(t instanceof ed)return t;throw new Error("Expected span but got "+String(t)+".")}function G(t,e,r,n,i,a){Cn[t][i]={font:e,group:r,replace:n},a&&n&&(Cn[t][n]=Cn[t][i])}function Nt(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},u=0;u0&&(a.push(u3(s,e)),s=[]),a.push(n[l]));s.length>0&&a.push(u3(s,e));var h;r?(h=u3(Bi(r,e,!0)),h.classes=["tag"],a.push(h)):i&&a.push(i);var f=cu(["katex-html"],a);if(f.setAttribute("aria-hidden","true"),h){var d=h.children[0];d.style.height=Et(f.height+f.depth),f.depth&&(d.style.verticalAlign=Et(-f.depth))}return f}function MG(t){return new Jf(t)}function S7(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof So&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof So&&r.text===","}else return!1}function Qz(t,e,r,n,i){var a=ks(t,r),s;a.length===1&&a[0]instanceof Qa&&er.contains(["mrow","mtable"],a[0].type)?s=a[0]:s=new dt.MathNode("mrow",a);var l=new dt.MathNode("annotation",[new dt.TextNode(e)]);l.setAttribute("encoding","application/x-tex");var u=new dt.MathNode("semantics",[s,l]),h=new dt.MathNode("math",[u]);h.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&h.setAttribute("display","block");var f=i?"katex":"katex-mathml";return Fe.makeSpan([f],[h])}function xr(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function Z7(t){var e=S3(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function S3(t){return t&&(t.type==="atom"||j4e.hasOwnProperty(t.type))?t:null}function BG(t,e){var r=Bi(t.body,e,!0);return S3e([t.mclass],r,e)}function FG(t,e){var r,n=ks(t.body,e);return t.mclass==="minner"?r=new dt.MathNode("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new dt.MathNode("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new dt.MathNode("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}function _3e(t,e,r){var n=C3e[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),l=r.callFunction("\\\\cdright",[e[1]],[]),u={type:"ordgroup",mode:"math",body:[i,s,l]};return r.callFunction("\\\\cdparent",[u],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var h={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[h],[])}default:return{type:"textord",text:" ",mode:"math"}}}function D3e(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new mt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a-1))if("<>AV".indexOf(h)>-1)for(var d=0;d<2;d++){for(var p=!0,m=u+1;mAV=|." after @',s[u]);var g=_3e(h,f,t),y={type:"styling",body:[g],mode:"math",style:"display"};n.push(y),l=Zz()}a%2===0?n.push(l):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var v=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:v,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}function A3(t,e){var r=S3(t);if(r&&er.contains(V3e,r.text))return r;throw r?new mt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new mt("Invalid delimiter type '"+t.type+"'",t)}function tG(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}function Zl(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,l={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},u=0;u1||!f)&&y.pop(),x.length{"use strict";js=class t{static{o(this,"SourceLocation")}constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new t(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},Co=class t{static{o(this,"Token")}constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new t(r,js.range(this,e))}},mt=class t{static{o(this,"ParseError")}constructor(e,r){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var l=s.lexer.input;i=s.start,a=s.end,i===l.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var u=l.slice(i,a).replace(/[^]/g,"$&\u0332"),h;i>15?h="\u2026"+l.slice(i-15,i):h=l.slice(0,i);var f;a+15":">","<":"<",'"':""","'":"'"},x4e=/[&><"']/g;o(b4e,"escape");xG=o(function t(e){return e.type==="ordgroup"||e.type==="color"?e.body.length===1?t(e.body[0]):e:e.type==="font"?t(e.body):e},"getBaseElem"),T4e=o(function(e){var r=xG(e);return r.type==="mathord"||r.type==="textord"||r.type==="atom"},"isCharacterBox"),w4e=o(function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e},"assert"),k4e=o(function(e){var r=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return r?r[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(r[1])?null:r[1].toLowerCase():"_relative"},"protocolFromUrl"),er={contains:p4e,deflt:m4e,escape:b4e,hyphenate:y4e,getBaseElem:xG,isCharacterBox:T4e,protocolFromUrl:k4e},Uy={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:o(t=>"#"+t,"cliProcessor")},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:o((t,e)=>(e.push(t),e),"cliProcessor")},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:o(t=>Math.max(0,t),"processor"),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:o(t=>Math.max(0,t),"processor"),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:o(t=>Math.max(0,t),"processor"),cli:"-e, --max-expand ",cliProcessor:o(t=>t==="Infinity"?1/0:parseInt(t),"cliProcessor")},globalGroup:{type:"boolean",cli:!1}};o(E4e,"getDefaultValue");Wy=class{static{o(this,"Settings")}constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var r in Uy)if(Uy.hasOwnProperty(r)){var n=Uy[r];this[r]=e[r]!==void 0?n.processor?n.processor(e[r]):e[r]:E4e(n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new mt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var r=er.protocolFromUrl(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},Xl=class{static{o(this,"Style")}constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return jl[S4e[this.id]]}sub(){return jl[C4e[this.id]]}fracNum(){return jl[A4e[this.id]]}fracDen(){return jl[_4e[this.id]]}cramp(){return jl[D4e[this.id]]}text(){return jl[L4e[this.id]]}isTight(){return this.size>=2}},Y7=0,m3=1,m0=2,ou=3,qy=4,Eo=5,g0=6,Za=7,jl=[new Xl(Y7,0,!1),new Xl(m3,0,!0),new Xl(m0,1,!1),new Xl(ou,1,!0),new Xl(qy,2,!1),new Xl(Eo,2,!0),new Xl(g0,3,!1),new Xl(Za,3,!0)],S4e=[qy,Eo,qy,Eo,g0,Za,g0,Za],C4e=[Eo,Eo,Eo,Eo,Za,Za,Za,Za],A4e=[m0,ou,qy,Eo,g0,Za,g0,Za],_4e=[ou,ou,Eo,Eo,Za,Za,Za,Za],D4e=[m3,m3,ou,ou,Eo,Eo,Za,Za],L4e=[Y7,m3,m0,ou,m0,ou,m0,ou],rr={DISPLAY:jl[Y7],TEXT:jl[m0],SCRIPT:jl[qy],SCRIPTSCRIPT:jl[g0]},O7=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];o(R4e,"scriptFromCodepoint");p3=[];O7.forEach(t=>t.blocks.forEach(e=>p3.push(...e)));o(bG,"supportedCodepoint");p0=80,N4e=o(function(e,r){return"M95,"+(622+e+r)+` +c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 +c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 +c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 +s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 +c69,-144,104.5,-217.7,106.5,-221 +l`+e/2.075+" -"+e+` +c5.3,-9.3,12,-14,20,-14 +H400000v`+(40+e)+`H845.2724 +s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 +c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z +M`+(834+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtMain"),M4e=o(function(e,r){return"M263,"+(601+e+r)+`c0.7,0,18,39.7,52,119 +c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 +c340,-704.7,510.7,-1060.3,512,-1067 +l`+e/2.084+" -"+e+` +c4.7,-7.3,11,-11,19,-11 +H40000v`+(40+e)+`H1012.3 +s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 +c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 +s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 +c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize1"),I4e=o(function(e,r){return"M983 "+(10+e+r)+` +l`+e/3.13+" -"+e+` +c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+` +H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 +s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 +c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 +c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 +c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 +c53.7,-170.3,84.5,-266.8,92.5,-289.5z +M`+(1001+e)+" "+r+"h400000v"+(40+e)+"h-400000z"},"sqrtSize2"),O4e=o(function(e,r){return"M424,"+(2398+e+r)+` +c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 +c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 +s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 +s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 +l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000 +v`+(40+e)+`H1014.6 +s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 +c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+r+` +h400000v`+(40+e)+"h-400000z"},"sqrtSize3"),P4e=o(function(e,r){return"M473,"+(2713+e+r)+` +c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+` +c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7 +s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 +c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 +c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 +s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, +606zM`+(1001+e)+" "+r+"h400000v"+(40+e)+"H1017.7z"},"sqrtSize4"),B4e=o(function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},"phasePath"),F4e=o(function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+` +H742v`+i+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 +h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 +c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 +219 661 l218 661zM702 `+r+"H400000v"+(40+e)+"H742z"},"sqrtTall"),$4e=o(function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=N4e(r,p0);break;case"sqrtSize1":i=M4e(r,p0);break;case"sqrtSize2":i=I4e(r,p0);break;case"sqrtSize3":i=O4e(r,p0);break;case"sqrtSize4":i=P4e(r,p0);break;case"sqrtTall":i=F4e(r,p0,n)}return i},"sqrtPath"),z4e=o(function(e,r){switch(e){case"\u239C":return"M291 0 H417 V"+r+" H291z M291 0 H417 V"+r+" H291z";case"\u2223":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z";case"\u2225":return"M145 0 H188 V"+r+" H145z M145 0 H188 V"+r+" H145z"+("M367 0 H410 V"+r+" H367z M367 0 H410 V"+r+" H367z");case"\u239F":return"M457 0 H583 V"+r+" H457z M457 0 H583 V"+r+" H457z";case"\u23A2":return"M319 0 H403 V"+r+" H319z M319 0 H403 V"+r+" H319z";case"\u23A5":return"M263 0 H347 V"+r+" H263z M263 0 H347 V"+r+" H263z";case"\u23AA":return"M384 0 H504 V"+r+" H384z M384 0 H504 V"+r+" H384z";case"\u23D0":return"M312 0 H355 V"+r+" H312z M312 0 H355 V"+r+" H312z";case"\u2016":return"M257 0 H300 V"+r+" H257z M257 0 H300 V"+r+" H257z"+("M478 0 H521 V"+r+" H478z M478 0 H521 V"+r+" H478z");default:return""}},"innerPath"),Vz={doubleleftarrow:`M262 157 +l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3 + 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28 + 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5 +c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5 + 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87 +-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7 +-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z +m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l +-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5 + 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88 +-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68 +-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18 +-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782 +c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3 +-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120 + 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8 +-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247 +c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208 + 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3 + 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202 + l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117 +-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7 + 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13 + 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688 + 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7 +-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80 +H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0 + 435 0h399565z`,leftgroupunder:`M400000 262 +H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219 + 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3 +-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5 +-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7 +-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5 + 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3 +-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7 +-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z +m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333 + 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5 + 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667 +-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12 + 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7 +-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0 +v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5 +-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3 +-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21 + 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z +M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z +M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23 +-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8 +c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3 + 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z +M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334 +c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14 +-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7 + 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11 + 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214 +c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14 + 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3 + 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0 +-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6 +-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z +m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8 +60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8 +-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z +m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2 +c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6 +-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z +m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0 +85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8 +-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z +m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1 +c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128 +-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 + 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 + 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85 +-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 + 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l +-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5 +s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1 +c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3 + 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237 +-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0 + 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18 + 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3 +-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2 +-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 + 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11 +-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7 + 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z +m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8 + 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5 +-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95 +-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8 + 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 + 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3 +-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z +m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3 + 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0 +-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21 + 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z +M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23 + 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32 +-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142 +-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40 + 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69 +-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3 +-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19 +-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101 + 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167 +c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3 + 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42 + 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333 +-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70 + 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7 +-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0 + 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0 + 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128 +-68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418 +-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9 + 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114 +c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751 + 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457 +-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0 + 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697 + 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696 + -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345 +-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409 + 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9 + 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409 + -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5 +3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11 +10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63 +-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1 +-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59 +H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359 +c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22 +c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10 +-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1, +-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10, +-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 +c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 +c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 +s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47 +121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6 +s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11 +c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z +M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32 +-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0 +13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39 +-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5 +-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5 +-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67 +151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17 +c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21 +c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40 +c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z +M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11 +c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9, +1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7, +-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z +M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0 +c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199, +-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6 +c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z +M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},G4e=o(function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 h347 v-84 +H403z M403 1759 V0 H319 V1759 v`+r+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z +M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+" v585 h43z";case"doublevert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+` v585 h43z +M367 15 v585 v`+r+` v585 c2.667,10,9.667,15,21,15 +c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15 +c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+r+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+r+` v1715 h263 v84 H319z +MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+r+` v1799 H0 v-84 H319z +MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v602 h84z +M403 1759 V0 H319 V1759 v`+r+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v602 h84z +M347 1759 V0 h-84 V1759 v`+r+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1 +c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349, +-36,557 l0,`+(r+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210, +949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9 +c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5, +-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189 +l0,-`+(r+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3, +-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3, +63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5 +c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(r+9)+` +c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664 +c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11 +c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17 +c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558 +l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7, +-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}},"tallDelim"),Jf=class{static{o(this,"DocumentFragment")}constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return er.contains(this.classes,e)}toNode(){for(var e=document.createDocumentFragment(),r=0;rr.toText(),"toText");return this.children.map(e).join("")}},Kl={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},n3={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},Uz={\u00C5:"A",\u00D0:"D",\u00DE:"o",\u00E5:"a",\u00F0:"d",\u00FE:"o",\u0410:"A",\u0411:"B",\u0412:"B",\u0413:"F",\u0414:"A",\u0415:"E",\u0416:"K",\u0417:"3",\u0418:"N",\u0419:"N",\u041A:"K",\u041B:"N",\u041C:"M",\u041D:"H",\u041E:"O",\u041F:"N",\u0420:"P",\u0421:"C",\u0422:"T",\u0423:"y",\u0424:"O",\u0425:"X",\u0426:"U",\u0427:"h",\u0428:"W",\u0429:"W",\u042A:"B",\u042B:"X",\u042C:"B",\u042D:"3",\u042E:"X",\u042F:"R",\u0430:"a",\u0431:"b",\u0432:"a",\u0433:"r",\u0434:"y",\u0435:"e",\u0436:"m",\u0437:"e",\u0438:"n",\u0439:"n",\u043A:"n",\u043B:"n",\u043C:"m",\u043D:"n",\u043E:"o",\u043F:"n",\u0440:"p",\u0441:"c",\u0442:"o",\u0443:"y",\u0444:"b",\u0445:"x",\u0446:"n",\u0447:"n",\u0448:"w",\u0449:"w",\u044A:"a",\u044B:"m",\u044C:"a",\u044D:"e",\u044E:"m",\u044F:"r"};o(TG,"setFontMetrics");o(X7,"getCharacterMetrics");w7={};o(V4e,"getGlobalMetrics");U4e=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],Hz=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],Wz=o(function(e,r){return r.size<2?e:U4e[e-1][r.size-1]},"sizeAtStyle"),g3=class t{static{o(this,"Options")}constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||t.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=Hz[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var n in e)e.hasOwnProperty(n)&&(r[n]=e[n]);return new t(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:Wz(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:Hz[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=Wz(t.BASESIZE,e);return this.size===r&&this.textSize===t.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==t.BASESIZE?["sizing","reset-size"+this.size,"size"+t.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=V4e(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};g3.BASESIZE=6;P7={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},H4e={ex:!0,em:!0,mu:!0},wG=o(function(e){return typeof e!="string"&&(e=e.unit),e in P7||e in H4e||e==="ex"},"validUnit"),ri=o(function(e,r){var n;if(e.unit in P7)n=P7[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new mt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},"calculateSize"),Et=o(function(e){return+e.toFixed(4)+"em"},"makeEm"),ph=o(function(e){return e.filter(r=>r).join(" ")},"createClass"),kG=o(function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},"initNode"),EG=o(function(e){var r=document.createElement(e);r.className=ph(this.classes);for(var n in this.style)this.style.hasOwnProperty(n)&&(r.style[n]=this.style[n]);for(var i in this.attributes)this.attributes.hasOwnProperty(i)&&r.setAttribute(i,this.attributes[i]);for(var a=0;a/=\x00-\x1f]/,SG=o(function(e){var r="<"+e;this.classes.length&&(r+=' class="'+er.escape(ph(this.classes))+'"');var n="";for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=er.hyphenate(i)+":"+this.style[i]+";");n&&(r+=' style="'+er.escape(n)+'"');for(var a in this.attributes)if(this.attributes.hasOwnProperty(a)){if(W4e.test(a))throw new mt("Invalid attribute name '"+a+"'");r+=" "+a+'="'+er.escape(this.attributes[a])+'"'}r+=">";for(var s=0;s",r},"toMarkup"),ed=class{static{o(this,"Span")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,kG.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return er.contains(this.classes,e)}toNode(){return EG.call(this,"span")}toMarkup(){return SG.call(this,"span")}},Yy=class{static{o(this,"Anchor")}constructor(e,r,n,i){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,kG.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return er.contains(this.classes,e)}toNode(){return EG.call(this,"a")}toMarkup(){return SG.call(this,"a")}},B7=class{static{o(this,"Img")}constructor(e,r,n){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=r,this.src=e,this.classes=["mord"],this.style=n}hasClass(e){return er.contains(this.classes,e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var r in this.style)this.style.hasOwnProperty(r)&&(e.style[r]=this.style[r]);return e}toMarkup(){var e=''+er.escape(this.alt)+'0&&(r=document.createElement("span"),r.style.marginRight=Et(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=ph(this.classes));for(var n in this.style)this.style.hasOwnProperty(n)&&(r=r||document.createElement("span"),r.style[n]=this.style[n]);return r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="0&&(n+="margin-right:"+this.italic+"em;");for(var i in this.style)this.style.hasOwnProperty(i)&&(n+=er.hyphenate(i)+":"+this.style[i]+";");n&&(e=!0,r+=' style="'+er.escape(n)+'"');var a=er.escape(this.text);return e?(r+=">",r+=a,r+="",r):a}},hl=class{static{o(this,"SvgNode")}constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);for(var i=0;i':''}},Xy=class{static{o(this,"LineNode")}constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,n)&&r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="","\\gt",!0);G(H,re,Ee,"\u2208","\\in",!0);G(H,re,Ee,"\uE020","\\@not");G(H,re,Ee,"\u2282","\\subset",!0);G(H,re,Ee,"\u2283","\\supset",!0);G(H,re,Ee,"\u2286","\\subseteq",!0);G(H,re,Ee,"\u2287","\\supseteq",!0);G(H,ke,Ee,"\u2288","\\nsubseteq",!0);G(H,ke,Ee,"\u2289","\\nsupseteq",!0);G(H,re,Ee,"\u22A8","\\models");G(H,re,Ee,"\u2190","\\leftarrow",!0);G(H,re,Ee,"\u2264","\\le");G(H,re,Ee,"\u2264","\\leq",!0);G(H,re,Ee,"<","\\lt",!0);G(H,re,Ee,"\u2192","\\rightarrow",!0);G(H,re,Ee,"\u2192","\\to");G(H,ke,Ee,"\u2271","\\ngeq",!0);G(H,ke,Ee,"\u2270","\\nleq",!0);G(H,re,hu,"\xA0","\\ ");G(H,re,hu,"\xA0","\\space");G(H,re,hu,"\xA0","\\nobreakspace");G(it,re,hu,"\xA0","\\ ");G(it,re,hu,"\xA0"," ");G(it,re,hu,"\xA0","\\space");G(it,re,hu,"\xA0","\\nobreakspace");G(H,re,hu,null,"\\nobreak");G(H,re,hu,null,"\\allowbreak");G(H,re,k3,",",",");G(H,re,k3,";",";");G(H,ke,It,"\u22BC","\\barwedge",!0);G(H,ke,It,"\u22BB","\\veebar",!0);G(H,re,It,"\u2299","\\odot",!0);G(H,re,It,"\u2295","\\oplus",!0);G(H,re,It,"\u2297","\\otimes",!0);G(H,re,Re,"\u2202","\\partial",!0);G(H,re,It,"\u2298","\\oslash",!0);G(H,ke,It,"\u229A","\\circledcirc",!0);G(H,ke,It,"\u22A1","\\boxdot",!0);G(H,re,It,"\u25B3","\\bigtriangleup");G(H,re,It,"\u25BD","\\bigtriangledown");G(H,re,It,"\u2020","\\dagger");G(H,re,It,"\u22C4","\\diamond");G(H,re,It,"\u22C6","\\star");G(H,re,It,"\u25C3","\\triangleleft");G(H,re,It,"\u25B9","\\triangleright");G(H,re,Ks,"{","\\{");G(it,re,Re,"{","\\{");G(it,re,Re,"{","\\textbraceleft");G(H,re,Ja,"}","\\}");G(it,re,Re,"}","\\}");G(it,re,Re,"}","\\textbraceright");G(H,re,Ks,"{","\\lbrace");G(H,re,Ja,"}","\\rbrace");G(H,re,Ks,"[","\\lbrack",!0);G(it,re,Re,"[","\\lbrack",!0);G(H,re,Ja,"]","\\rbrack",!0);G(it,re,Re,"]","\\rbrack",!0);G(H,re,Ks,"(","\\lparen",!0);G(H,re,Ja,")","\\rparen",!0);G(it,re,Re,"<","\\textless",!0);G(it,re,Re,">","\\textgreater",!0);G(H,re,Ks,"\u230A","\\lfloor",!0);G(H,re,Ja,"\u230B","\\rfloor",!0);G(H,re,Ks,"\u2308","\\lceil",!0);G(H,re,Ja,"\u2309","\\rceil",!0);G(H,re,Re,"\\","\\backslash");G(H,re,Re,"\u2223","|");G(H,re,Re,"\u2223","\\vert");G(it,re,Re,"|","\\textbar",!0);G(H,re,Re,"\u2225","\\|");G(H,re,Re,"\u2225","\\Vert");G(it,re,Re,"\u2225","\\textbardbl");G(it,re,Re,"~","\\textasciitilde");G(it,re,Re,"\\","\\textbackslash");G(it,re,Re,"^","\\textasciicircum");G(H,re,Ee,"\u2191","\\uparrow",!0);G(H,re,Ee,"\u21D1","\\Uparrow",!0);G(H,re,Ee,"\u2193","\\downarrow",!0);G(H,re,Ee,"\u21D3","\\Downarrow",!0);G(H,re,Ee,"\u2195","\\updownarrow",!0);G(H,re,Ee,"\u21D5","\\Updownarrow",!0);G(H,re,Si,"\u2210","\\coprod");G(H,re,Si,"\u22C1","\\bigvee");G(H,re,Si,"\u22C0","\\bigwedge");G(H,re,Si,"\u2A04","\\biguplus");G(H,re,Si,"\u22C2","\\bigcap");G(H,re,Si,"\u22C3","\\bigcup");G(H,re,Si,"\u222B","\\int");G(H,re,Si,"\u222B","\\intop");G(H,re,Si,"\u222C","\\iint");G(H,re,Si,"\u222D","\\iiint");G(H,re,Si,"\u220F","\\prod");G(H,re,Si,"\u2211","\\sum");G(H,re,Si,"\u2A02","\\bigotimes");G(H,re,Si,"\u2A01","\\bigoplus");G(H,re,Si,"\u2A00","\\bigodot");G(H,re,Si,"\u222E","\\oint");G(H,re,Si,"\u222F","\\oiint");G(H,re,Si,"\u2230","\\oiiint");G(H,re,Si,"\u2A06","\\bigsqcup");G(H,re,Si,"\u222B","\\smallint");G(it,re,y0,"\u2026","\\textellipsis");G(H,re,y0,"\u2026","\\mathellipsis");G(it,re,y0,"\u2026","\\ldots",!0);G(H,re,y0,"\u2026","\\ldots",!0);G(H,re,y0,"\u22EF","\\@cdots",!0);G(H,re,y0,"\u22F1","\\ddots",!0);G(H,re,Re,"\u22EE","\\varvdots");G(it,re,Re,"\u22EE","\\varvdots");G(H,re,Vn,"\u02CA","\\acute");G(H,re,Vn,"\u02CB","\\grave");G(H,re,Vn,"\xA8","\\ddot");G(H,re,Vn,"~","\\tilde");G(H,re,Vn,"\u02C9","\\bar");G(H,re,Vn,"\u02D8","\\breve");G(H,re,Vn,"\u02C7","\\check");G(H,re,Vn,"^","\\hat");G(H,re,Vn,"\u20D7","\\vec");G(H,re,Vn,"\u02D9","\\dot");G(H,re,Vn,"\u02DA","\\mathring");G(H,re,tr,"\uE131","\\@imath");G(H,re,tr,"\uE237","\\@jmath");G(H,re,Re,"\u0131","\u0131");G(H,re,Re,"\u0237","\u0237");G(it,re,Re,"\u0131","\\i",!0);G(it,re,Re,"\u0237","\\j",!0);G(it,re,Re,"\xDF","\\ss",!0);G(it,re,Re,"\xE6","\\ae",!0);G(it,re,Re,"\u0153","\\oe",!0);G(it,re,Re,"\xF8","\\o",!0);G(it,re,Re,"\xC6","\\AE",!0);G(it,re,Re,"\u0152","\\OE",!0);G(it,re,Re,"\xD8","\\O",!0);G(it,re,Vn,"\u02CA","\\'");G(it,re,Vn,"\u02CB","\\`");G(it,re,Vn,"\u02C6","\\^");G(it,re,Vn,"\u02DC","\\~");G(it,re,Vn,"\u02C9","\\=");G(it,re,Vn,"\u02D8","\\u");G(it,re,Vn,"\u02D9","\\.");G(it,re,Vn,"\xB8","\\c");G(it,re,Vn,"\u02DA","\\r");G(it,re,Vn,"\u02C7","\\v");G(it,re,Vn,"\xA8",'\\"');G(it,re,Vn,"\u02DD","\\H");G(it,re,Vn,"\u25EF","\\textcircled");CG={"--":!0,"---":!0,"``":!0,"''":!0};G(it,re,Re,"\u2013","--",!0);G(it,re,Re,"\u2013","\\textendash");G(it,re,Re,"\u2014","---",!0);G(it,re,Re,"\u2014","\\textemdash");G(it,re,Re,"\u2018","`",!0);G(it,re,Re,"\u2018","\\textquoteleft");G(it,re,Re,"\u2019","'",!0);G(it,re,Re,"\u2019","\\textquoteright");G(it,re,Re,"\u201C","``",!0);G(it,re,Re,"\u201C","\\textquotedblleft");G(it,re,Re,"\u201D","''",!0);G(it,re,Re,"\u201D","\\textquotedblright");G(H,re,Re,"\xB0","\\degree",!0);G(it,re,Re,"\xB0","\\degree");G(it,re,Re,"\xB0","\\textdegree",!0);G(H,re,Re,"\xA3","\\pounds");G(H,re,Re,"\xA3","\\mathsterling",!0);G(it,re,Re,"\xA3","\\pounds");G(it,re,Re,"\xA3","\\textsterling",!0);G(H,ke,Re,"\u2720","\\maltese");G(it,ke,Re,"\u2720","\\maltese");Yz='0123456789/@."';for(i3=0;i30)return ul(a,h,i,r,s.concat(f));if(u){var d,p;if(u==="boldsymbol"){var m=Z4e(a,i,r,s,n);d=m.fontName,p=[m.fontClass]}else l?(d=DG[u].fontName,p=[u]):(d=c3(u,r.fontWeight,r.fontShape),p=[u,r.fontWeight,r.fontShape]);if(E3(a,d,i).metrics)return ul(a,d,i,r,s.concat(p));if(CG.hasOwnProperty(a)&&d.slice(0,10)==="Typewriter"){for(var g=[],y=0;y{if(ph(t.classes)!==ph(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize)return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n in t.style)if(t.style.hasOwnProperty(n)&&t.style[n]!==e.style[n])return!1;for(var i in e.style)if(e.style.hasOwnProperty(i)&&t.style[i]!==e.style[i])return!1;return!0},"canCombine"),t3e=o(t=>{for(var e=0;er&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},"sizeElementFromChildren"),Ts=o(function(e,r,n,i){var a=new ed(e,r,n,i);return j7(a),a},"makeSpan"),AG=o((t,e,r,n)=>new ed(t,e,r,n),"makeSvgSpan"),r3e=o(function(e,r,n){var i=Ts([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Et(i.height),i.maxFontSize=1,i},"makeLineSpan"),n3e=o(function(e,r,n,i){var a=new Yy(e,r,n,i);return j7(a),a},"makeAnchor"),_G=o(function(e){var r=new Jf(e);return j7(r),r},"makeFragment"),i3e=o(function(e,r){return e instanceof Jf?Ts([],[e],r):e},"wrapFragment"),a3e=o(function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s{var r=Ts(["mspace"],[],e),n=ri(t,e);return r.style.marginRight=Et(n),r},"makeGlue"),c3=o(function(e,r,n){var i="";switch(e){case"amsrm":i="AMS";break;case"textrm":i="Main";break;case"textsf":i="SansSerif";break;case"texttt":i="Typewriter";break;default:i=e}var a;return r==="textbf"&&n==="textit"?a="BoldItalic":r==="textbf"?a="Bold":r==="textit"?a="Italic":a="Regular",i+"-"+a},"retrieveTextFontName"),DG={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},LG={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},l3e=o(function(e,r){var[n,i,a]=LG[e],s=new Ql(n),l=new hl([s],{width:Et(i),height:Et(a),style:"width:"+Et(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),u=AG(["overlay"],[l],r);return u.height=a,u.style.height=Et(a),u.style.width=Et(i),u},"staticSvg"),Fe={fontMap:DG,makeSymbol:ul,mathsym:Q4e,makeSpan:Ts,makeSvgSpan:AG,makeLineSpan:r3e,makeAnchor:n3e,makeFragment:_G,wrapFragment:i3e,makeVList:s3e,makeOrd:J4e,makeGlue:o3e,staticSvg:l3e,svgData:LG,tryCombineChars:t3e},ti={number:3,unit:"mu"},Zf={number:4,unit:"mu"},su={number:5,unit:"mu"},c3e={mord:{mop:ti,mbin:Zf,mrel:su,minner:ti},mop:{mord:ti,mop:ti,mrel:su,minner:ti},mbin:{mord:Zf,mop:Zf,mopen:Zf,minner:Zf},mrel:{mord:su,mop:su,mopen:su,minner:su},mopen:{},mclose:{mop:ti,mbin:Zf,mrel:su,minner:ti},mpunct:{mord:ti,mop:ti,mrel:su,mopen:ti,mclose:ti,mpunct:ti,minner:ti},minner:{mord:ti,mop:ti,mbin:Zf,mrel:su,mopen:ti,mpunct:ti,minner:ti}},u3e={mord:{mop:ti},mop:{mord:ti,mop:ti},mbin:{},mrel:{},mopen:{},mclose:{mop:ti},mpunct:{},minner:{mop:ti}},RG={},v3={},x3={};o(Nt,"defineFunction");o(td,"defineFunctionBuilders");b3=o(function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},"normalizeArgument"),mi=o(function(e){return e.type==="ordgroup"?e.body:[e]},"ordargument"),cu=Fe.makeSpan,h3e=["leftmost","mbin","mopen","mrel","mop","mpunct"],f3e=["rightmost","mrel","mclose","mpunct"],d3e={display:rr.DISPLAY,text:rr.TEXT,script:rr.SCRIPT,scriptscript:rr.SCRIPTSCRIPT},p3e={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Bi=o(function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],s=0;s{var v=y.classes[0],x=g.classes[0];v==="mbin"&&er.contains(f3e,x)?y.classes[0]="mord":x==="mbin"&&er.contains(h3e,v)&&(g.classes[0]="mord")},{node:d},p,m),Kz(a,(g,y)=>{var v=$7(y),x=$7(g),b=v&&x?g.hasClass("mtight")?u3e[v][x]:c3e[v][x]:null;if(b)return Fe.makeGlue(b,h)},{node:d},p,m),a},"buildExpression"),Kz=o(function t(e,r,n,i,a){i&&e.push(i);for(var s=0;sp=>{e.splice(d+1,0,p),s++})(s)}i&&e.pop()},"traverseNonSpaceNodes"),NG=o(function(e){return e instanceof Jf||e instanceof Yy||e instanceof ed&&e.hasClass("enclosing")?e:null},"checkPartialGroup"),m3e=o(function t(e,r){var n=NG(e);if(n){var i=n.children;if(i.length){if(r==="right")return t(i[i.length-1],"right");if(r==="left")return t(i[0],"left")}}return e},"getOutermostNode"),$7=o(function(e,r){return e?(r&&(e=m3e(e,r)),p3e[e.classes[0]]||null):null},"getTypeOfDomTree"),jy=o(function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return cu(r.concat(n))},"makeNullDelimiter"),Fr=o(function(e,r,n){if(!e)return cu();if(v3[e.type]){var i=v3[e.type](e,r);if(n&&r.size!==n.size){i=cu(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new mt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(u3,"buildHTMLUnbreakable");o(z7,"buildHTML");o(MG,"newDocumentFragment");Qa=class{static{o(this,"MathNode")}constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=ph(this.classes));for(var n=0;n0&&(e+=' class ="'+er.escape(ph(this.classes))+'"'),e+=">";for(var n=0;n",e}toText(){return this.children.map(e=>e.toText()).join("")}},So=class{static{o(this,"TextNode")}constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return er.escape(this.toText())}toText(){return this.text}},G7=class{static{o(this,"SpaceNode")}constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character="\u200A":e>=.1666&&e<=.1667?this.character="\u2009":e>=.2222&&e<=.2223?this.character="\u2005":e>=.2777&&e<=.2778?this.character="\u2005\u200A":e>=-.05556&&e<=-.05555?this.character="\u200A\u2063":e>=-.1667&&e<=-.1666?this.character="\u2009\u2063":e>=-.2223&&e<=-.2222?this.character="\u205F\u2063":e>=-.2778&&e<=-.2777?this.character="\u2005\u2063":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",Et(this.width)),e}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},dt={MathNode:Qa,TextNode:So,SpaceNode:G7,newDocumentFragment:MG},Ao=o(function(e,r,n){return Cn[r][e]&&Cn[r][e].replace&&e.charCodeAt(0)!==55349&&!(CG.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=Cn[r][e].replace),new dt.TextNode(e)},"makeText"),K7=o(function(e){return e.length===1?e[0]:new dt.MathNode("mrow",e)},"makeRow"),Q7=o(function(e,r){if(r.fontFamily==="texttt")return"monospace";if(r.fontFamily==="textsf")return r.fontShape==="textit"&&r.fontWeight==="textbf"?"sans-serif-bold-italic":r.fontShape==="textit"?"sans-serif-italic":r.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(r.fontShape==="textit"&&r.fontWeight==="textbf")return"bold-italic";if(r.fontShape==="textit")return"italic";if(r.fontWeight==="textbf")return"bold";var n=r.font;if(!n||n==="mathnormal")return null;var i=e.mode;if(n==="mathit")return"italic";if(n==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(n==="mathbf")return"bold";if(n==="mathbb")return"double-struck";if(n==="mathsfit")return"sans-serif-italic";if(n==="mathfrak")return"fraktur";if(n==="mathscr"||n==="mathcal")return"script";if(n==="mathsf")return"sans-serif";if(n==="mathtt")return"monospace";var a=e.text;if(er.contains(["\\imath","\\jmath"],a))return null;Cn[i][a]&&Cn[i][a].replace&&(a=Cn[i][a].replace);var s=Fe.fontMap[n].fontName;return X7(a,s,i)?Fe.fontMap[n].variant:null},"getVariant");o(S7,"isNumberPunctuation");ks=o(function(e,r,n){if(e.length===1){var i=yn(e[0],r);return n&&i instanceof Qa&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,l=0;l=1&&(s.type==="mn"||S7(s))){var h=u.children[0];h instanceof Qa&&h.type==="mn"&&(h.children=[...s.children,...h.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var f=s.children[0];if(f instanceof So&&f.text==="\u0338"&&(u.type==="mo"||u.type==="mi"||u.type==="mn")){var d=u.children[0];d instanceof So&&d.text.length>0&&(d.text=d.text.slice(0,1)+"\u0338"+d.text.slice(1),a.pop())}}}a.push(u),s=u}return a},"buildExpression"),mh=o(function(e,r,n){return K7(ks(e,r,n))},"buildExpressionRow"),yn=o(function(e,r){if(!e)return new dt.MathNode("mrow");if(x3[e.type]){var n=x3[e.type](e,r);return n}else throw new mt("Got group of unknown type: '"+e.type+"'")},"buildGroup");o(Qz,"buildMathML");IG=o(function(e){return new g3({style:e.displayMode?rr.DISPLAY:rr.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},"optionsFromSettings"),OG=o(function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Fe.makeSpan(n,[e])}return e},"displayWrap"),g3e=o(function(e,r,n){var i=IG(n),a;if(n.output==="mathml")return Qz(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=z7(e,i);a=Fe.makeSpan(["katex"],[s])}else{var l=Qz(e,r,i,n.displayMode,!1),u=z7(e,i);a=Fe.makeSpan(["katex"],[l,u])}return OG(a,n)},"buildTree"),y3e=o(function(e,r,n){var i=IG(n),a=z7(e,i),s=Fe.makeSpan(["katex"],[a]);return OG(s,n)},"buildHTMLTree"),v3e={widehat:"^",widecheck:"\u02C7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overgroup:"\u23E0",undergroup:"\u23E1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21D2",xRightarrow:"\u21D2",overleftharpoon:"\u21BC",xleftharpoonup:"\u21BC",overrightharpoon:"\u21C0",xrightharpoonup:"\u21C0",xLeftarrow:"\u21D0",xLeftrightarrow:"\u21D4",xhookleftarrow:"\u21A9",xhookrightarrow:"\u21AA",xmapsto:"\u21A6",xrightharpoondown:"\u21C1",xleftharpoondown:"\u21BD",xrightleftharpoons:"\u21CC",xleftrightharpoons:"\u21CB",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xtofrom:"\u21C4",xrightleftarrows:"\u21C4",xrightequilibrium:"\u21CC",xleftequilibrium:"\u21CB","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},x3e=o(function(e){var r=new dt.MathNode("mo",[new dt.TextNode(v3e[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},"mathMLnode"),b3e={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},T3e=o(function(e){return e.type==="ordgroup"?e.body.length:1},"groupLength"),w3e=o(function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(er.contains(["widehat","widecheck","widetilde","utilde"],u)){var h=e,f=T3e(h.base),d,p,m;if(f>5)u==="widehat"||u==="widecheck"?(d=420,l=2364,m=.42,p=u+"4"):(d=312,l=2340,m=.34,p="tilde4");else{var g=[1,1,2,2,3,3][f];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],d=[0,239,300,360,420][g],m=[0,.24,.3,.3,.36,.42][g],p=u+g):(l=[0,600,1033,2339,2340][g],d=[0,260,286,306,312][g],m=[0,.26,.286,.3,.306,.34][g],p="tilde"+g)}var y=new Ql(p),v=new hl([y],{width:"100%",height:Et(m),viewBox:"0 0 "+l+" "+d,preserveAspectRatio:"none"});return{span:Fe.makeSvgSpan([],[v],r),minWidth:0,height:m}}else{var x=[],b=b3e[u],[T,C,w]=b,E=w/1e3,_=T.length,A,D;if(_===1){var O=b[3];A=["hide-tail"],D=[O]}else if(_===2)A=["halfarrow-left","halfarrow-right"],D=["xMinYMin","xMaxYMin"];else if(_===3)A=["brace-left","brace-center","brace-right"],D=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support + `+_+" children.");for(var R=0;R<_;R++){var k=new Ql(T[R]),L=new hl([k],{width:"400em",height:Et(E),viewBox:"0 0 "+l+" "+w,preserveAspectRatio:D[R]+" slice"}),S=Fe.makeSvgSpan([A[R]],[L],r);if(_===1)return{span:S,minWidth:C,height:E};S.style.height=Et(E),x.push(S)}return{span:Fe.makeSpan(["stretchy"],x,r),minWidth:C,height:E}}}o(n,"buildSvgSpan_");var{span:i,minWidth:a,height:s}=n();return i.height=s,i.style.height=Et(s),a>0&&(i.style.minWidth=Et(a)),i},"svgSpan"),k3e=o(function(e,r,n,i,a){var s,l=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Fe.makeSpan(["stretchy",r],[],a),r==="fbox"){var u=a.color&&a.getColor();u&&(s.style.borderColor=u)}}else{var h=[];/^[bx]cancel$/.test(r)&&h.push(new Xy({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&h.push(new Xy({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new hl(h,{width:"100%",height:Et(l)});s=Fe.makeSvgSpan([],[f],a)}return s.height=l,s.style.height=Et(l),s},"encloseSpan"),uu={encloseSpan:k3e,mathMLnode:x3e,svgSpan:w3e};o(xr,"assertNodeType");o(Z7,"assertSymbolNodeType");o(S3,"checkSymbolNodeType");J7=o((t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=xr(t.base,"accent"),r=n.base,t.base=r,i=Y4e(Fr(t,e)),t.base=n):(n=xr(t,"accent"),r=n.base);var a=Fr(r,e.havingCrampedStyle()),s=n.isShifty&&er.isCharacterBox(r),l=0;if(s){var u=er.getBaseElem(r),h=Fr(u,e.havingCrampedStyle());l=qz(h).skew}var f=n.label==="\\c",d=f?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),p;if(n.isStretchy)p=uu.svgSpan(n,e),p=Fe.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:p,wrapperClasses:["svg-align"],wrapperStyle:l>0?{width:"calc(100% - "+Et(2*l)+")",marginLeft:Et(2*l)}:void 0}]},e);else{var m,g;n.label==="\\vec"?(m=Fe.staticSvg("vec",e),g=Fe.svgData.vec[1]):(m=Fe.makeOrd({mode:n.mode,text:n.label},e,"textord"),m=qz(m),m.italic=0,g=m.width,f&&(d+=m.depth)),p=Fe.makeSpan(["accent-body"],[m]);var y=n.label==="\\textcircled";y&&(p.classes.push("accent-full"),d=a.height);var v=l;y||(v-=g/2),p.style.left=Et(v),n.label==="\\textcircled"&&(p.style.top=".2em"),p=Fe.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-d},{type:"elem",elem:p}]},e)}var x=Fe.makeSpan(["mord","accent"],[p],e);return i?(i.children[0]=x,i.height=Math.max(x.height,i.height),i.classes[0]="mord",i):x},"htmlBuilder$a"),PG=o((t,e)=>{var r=t.isStretchy?uu.mathMLnode(t.label):new dt.MathNode("mo",[Ao(t.label,t.mode)]),n=new dt.MathNode("mover",[yn(t.base,e),r]);return n.setAttribute("accent","true"),n},"mathmlBuilder$9"),E3e=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));Nt({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:o((t,e)=>{var r=b3(e[0]),n=!E3e.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},"handler"),htmlBuilder:J7,mathmlBuilder:PG});Nt({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:o((t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},"handler"),htmlBuilder:J7,mathmlBuilder:PG});Nt({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},"handler"),htmlBuilder:o((t,e)=>{var r=Fr(t.base,e),n=uu.svgSpan(t,e),i=t.label==="\\utilde"?.12:0,a=Fe.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]},e);return Fe.makeSpan(["mord","accentunder"],[a],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=uu.mathMLnode(t.label),n=new dt.MathNode("munder",[yn(t.base,e),r]);return n.setAttribute("accentunder","true"),n},"mathmlBuilder")});h3=o(t=>{var e=new dt.MathNode("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e},"paddedNode");Nt({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=Fe.wrapFragment(Fr(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=Fe.wrapFragment(Fr(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var l=uu.svgSpan(t,e),u=-e.fontMetrics().axisHeight+.5*l.height,h=-e.fontMetrics().axisHeight-.5*l.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(h-=i.depth);var f;if(s){var d=-e.fontMetrics().axisHeight+s.height+.5*l.height+.111;f=Fe.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u},{type:"elem",elem:s,shift:d}]},e)}else f=Fe.makeVList({positionType:"individualShift",children:[{type:"elem",elem:i,shift:h},{type:"elem",elem:l,shift:u}]},e);return f.children[0].children[0].children[1].classes.push("svg-align"),Fe.makeSpan(["mrel","x-arrow"],[f],e)},mathmlBuilder(t,e){var r=uu.mathMLnode(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=h3(yn(t.body,e));if(t.below){var a=h3(yn(t.below,e));n=new dt.MathNode("munderover",[r,a,i])}else n=new dt.MathNode("mover",[r,i])}else if(t.below){var s=h3(yn(t.below,e));n=new dt.MathNode("munder",[r,s])}else n=h3(),n=new dt.MathNode("mover",[r,n]);return n}});S3e=Fe.makeSpan;o(BG,"htmlBuilder$9");o(FG,"mathmlBuilder$8");Nt({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:mi(i),isCharacterBox:er.isCharacterBox(i)}},htmlBuilder:BG,mathmlBuilder:FG});C3=o(t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"},"binrelClass");Nt({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:C3(e[0]),body:mi(e[1]),isCharacterBox:er.isCharacterBox(e[1])}}});Nt({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=C3(i):s="mrel";var l={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:mi(i)},u={type:"supsub",mode:a.mode,base:l,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[u],isCharacterBox:er.isCharacterBox(u)}},htmlBuilder:BG,mathmlBuilder:FG});Nt({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:C3(e[0]),body:mi(e[0])}},htmlBuilder(t,e){var r=Bi(t.body,e,!0),n=Fe.makeSpan([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=ks(t.body,e),n=new dt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});C3e={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Zz=o(()=>({type:"styling",body:[],mode:"math",style:"display"}),"newCell"),Jz=o(t=>t.type==="textord"&&t.text==="@","isStartOfArrow"),A3e=o((t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e,"isLabelEnd");o(_3e,"cdArrow");o(D3e,"parseCD");Nt({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=Fe.wrapFragment(Fr(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Et(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new dt.MathNode("mrow",[yn(t.label,e)]);return r=new dt.MathNode("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new dt.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});Nt({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=Fe.wrapFragment(Fr(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new dt.MathNode("mrow",[yn(t.fragment,e)])}});Nt({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=xr(e[0],"ordgroup"),i=n.body,a="",s=0;s=1114111)throw new mt("\\@char with invalid code point "+a);return u<=65535?h=String.fromCharCode(u):(u-=65536,h=String.fromCharCode((u>>10)+55296,(u&1023)+56320)),{type:"textord",mode:r.mode,text:h}}});$G=o((t,e)=>{var r=Bi(t.body,e.withColor(t.color),!1);return Fe.makeFragment(r)},"htmlBuilder$8"),zG=o((t,e)=>{var r=ks(t.body,e.withColor(t.color)),n=new dt.MathNode("mstyle",r);return n.setAttribute("mathcolor",t.color),n},"mathmlBuilder$7");Nt({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=xr(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:mi(i)}},htmlBuilder:$G,mathmlBuilder:zG});Nt({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=xr(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:$G,mathmlBuilder:zG});Nt({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&xr(i,"size").value}},htmlBuilder(t,e){var r=Fe.makeSpan(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Et(ri(t.size,e)))),r},mathmlBuilder(t,e){var r=new dt.MathNode("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Et(ri(t.size,e)))),r}});V7={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},GG=o(t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new mt("Expected a control sequence",t);return e},"checkControlSequence"),L3e=o(t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},"getRHS"),VG=o((t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)},"letCommand");Nt({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(V7[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=V7[n.text]),xr(e.parseFunction(),"internal");throw new mt("Invalid token after macro prefix",n)}});Nt({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new mt("Expected a control sequence",n);for(var a=0,s,l=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),l[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new mt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new mt('Argument number "'+n.text+'" out of order');a++,l.push([])}else{if(n.text==="EOF")throw new mt("Expected a macro definition");l[a].push(n.text)}var{tokens:u}=e.gullet.consumeArg();return s&&u.unshift(s),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(i,{tokens:u,numArgs:a,delimiters:l},r===V7[r]),{type:"internal",mode:e.mode}}});Nt({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=GG(e.gullet.popToken());e.gullet.consumeSpaces();var i=L3e(e);return VG(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});Nt({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=GG(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return VG(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});Vy=o(function(e,r,n){var i=Cn.math[e]&&Cn.math[e].replace,a=X7(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},"getMetrics"),eA=o(function(e,r,n,i){var a=n.havingBaseStyle(r),s=Fe.makeSpan(i.concat(a.sizingClasses(n)),[e],n),l=a.sizeMultiplier/n.sizeMultiplier;return s.height*=l,s.depth*=l,s.maxFontSize=a.sizeMultiplier,s},"styleWrap"),UG=o(function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Et(a),e.height-=a,e.depth+=a},"centerSpan"),R3e=o(function(e,r,n,i,a,s){var l=Fe.makeSymbol(e,"Main-Regular",a,i),u=eA(l,r,i,s);return n&&UG(u,i,r),u},"makeSmallDelim"),N3e=o(function(e,r,n,i){return Fe.makeSymbol(e,"Size"+r+"-Regular",n,i)},"mathrmSize"),HG=o(function(e,r,n,i,a,s){var l=N3e(e,r,a,i),u=eA(Fe.makeSpan(["delimsizing","size"+r],[l],i),rr.TEXT,i,s);return n&&UG(u,i,rr.TEXT),u},"makeLargeDelim"),C7=o(function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Fe.makeSpan(["delimsizinginner",i],[Fe.makeSpan([],[Fe.makeSymbol(e,r,n)])]);return{type:"elem",elem:a}},"makeGlyphSpan"),A7=o(function(e,r,n){var i=Kl["Size4-Regular"][e.charCodeAt(0)]?Kl["Size4-Regular"][e.charCodeAt(0)][4]:Kl["Size1-Regular"][e.charCodeAt(0)][4],a=new Ql("inner",z4e(e,Math.round(1e3*r))),s=new hl([a],{width:Et(i),height:Et(r),style:"width:"+Et(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),l=Fe.makeSvgSpan([],[s],n);return l.height=r,l.style.height=Et(r),l.style.width=Et(i),{type:"elem",elem:l}},"makeInner"),U7=.008,f3={type:"kern",size:-1*U7},M3e=["|","\\lvert","\\rvert","\\vert"],I3e=["\\|","\\lVert","\\rVert","\\Vert"],WG=o(function(e,r,n,i,a,s){var l,u,h,f,d="",p=0;l=h=f=e,u=null;var m="Size1-Regular";e==="\\uparrow"?h=f="\u23D0":e==="\\Uparrow"?h=f="\u2016":e==="\\downarrow"?l=h="\u23D0":e==="\\Downarrow"?l=h="\u2016":e==="\\updownarrow"?(l="\\uparrow",h="\u23D0",f="\\downarrow"):e==="\\Updownarrow"?(l="\\Uparrow",h="\u2016",f="\\Downarrow"):er.contains(M3e,e)?(h="\u2223",d="vert",p=333):er.contains(I3e,e)?(h="\u2225",d="doublevert",p=556):e==="["||e==="\\lbrack"?(l="\u23A1",h="\u23A2",f="\u23A3",m="Size4-Regular",d="lbrack",p=667):e==="]"||e==="\\rbrack"?(l="\u23A4",h="\u23A5",f="\u23A6",m="Size4-Regular",d="rbrack",p=667):e==="\\lfloor"||e==="\u230A"?(h=l="\u23A2",f="\u23A3",m="Size4-Regular",d="lfloor",p=667):e==="\\lceil"||e==="\u2308"?(l="\u23A1",h=f="\u23A2",m="Size4-Regular",d="lceil",p=667):e==="\\rfloor"||e==="\u230B"?(h=l="\u23A5",f="\u23A6",m="Size4-Regular",d="rfloor",p=667):e==="\\rceil"||e==="\u2309"?(l="\u23A4",h=f="\u23A5",m="Size4-Regular",d="rceil",p=667):e==="("||e==="\\lparen"?(l="\u239B",h="\u239C",f="\u239D",m="Size4-Regular",d="lparen",p=875):e===")"||e==="\\rparen"?(l="\u239E",h="\u239F",f="\u23A0",m="Size4-Regular",d="rparen",p=875):e==="\\{"||e==="\\lbrace"?(l="\u23A7",u="\u23A8",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(l="\u23AB",u="\u23AC",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lgroup"||e==="\u27EE"?(l="\u23A7",f="\u23A9",h="\u23AA",m="Size4-Regular"):e==="\\rgroup"||e==="\u27EF"?(l="\u23AB",f="\u23AD",h="\u23AA",m="Size4-Regular"):e==="\\lmoustache"||e==="\u23B0"?(l="\u23A7",f="\u23AD",h="\u23AA",m="Size4-Regular"):(e==="\\rmoustache"||e==="\u23B1")&&(l="\u23AB",f="\u23A9",h="\u23AA",m="Size4-Regular");var g=Vy(l,m,a),y=g.height+g.depth,v=Vy(h,m,a),x=v.height+v.depth,b=Vy(f,m,a),T=b.height+b.depth,C=0,w=1;if(u!==null){var E=Vy(u,m,a);C=E.height+E.depth,w=2}var _=y+T+C,A=Math.max(0,Math.ceil((r-_)/(w*x))),D=_+A*w*x,O=i.fontMetrics().axisHeight;n&&(O*=i.sizeMultiplier);var R=D/2-O,k=[];if(d.length>0){var L=D-y-T,S=Math.round(D*1e3),I=G4e(d,Math.round(L*1e3)),M=new Ql(d,I),P=(p/1e3).toFixed(3)+"em",B=(S/1e3).toFixed(3)+"em",F=new hl([M],{width:P,height:B,viewBox:"0 0 "+p+" "+S}),z=Fe.makeSvgSpan([],[F],i);z.height=S/1e3,z.style.width=P,z.style.height=B,k.push({type:"elem",elem:z})}else{if(k.push(C7(f,m,a)),k.push(f3),u===null){var $=D-y-T+2*U7;k.push(A7(h,$,i))}else{var U=(D-y-T-C)/2+2*U7;k.push(A7(h,U,i)),k.push(f3),k.push(C7(u,m,a)),k.push(f3),k.push(A7(h,U,i))}k.push(f3),k.push(C7(l,m,a))}var K=i.havingBaseStyle(rr.TEXT),ee=Fe.makeVList({positionType:"bottom",positionData:R,children:k},K);return eA(Fe.makeSpan(["delimsizing","mult"],[ee],K),rr.TEXT,i,s)},"makeStackedDelim"),_7=80,D7=.08,L7=o(function(e,r,n,i,a){var s=$4e(e,i,n),l=new Ql(e,s),u=new hl([l],{width:"400em",height:Et(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return Fe.makeSvgSpan(["hide-tail"],[u],a)},"sqrtSvg"),O3e=o(function(e,r){var n=r.havingBaseSizing(),i=jG("\\surd",e*n.sizeMultiplier,XG,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),l,u=0,h=0,f=0,d;return i.type==="small"?(f=1e3+1e3*s+_7,e<1?a=1:e<1.4&&(a=.7),u=(1+s+D7)/a,h=(1+s)/a,l=L7("sqrtMain",u,f,s,r),l.style.minWidth="0.853em",d=.833/a):i.type==="large"?(f=(1e3+_7)*Hy[i.size],h=(Hy[i.size]+s)/a,u=(Hy[i.size]+s+D7)/a,l=L7("sqrtSize"+i.size,u,f,s,r),l.style.minWidth="1.02em",d=1/a):(u=e+s+D7,h=e+s,f=Math.floor(1e3*e+s)+_7,l=L7("sqrtTall",u,f,s,r),l.style.minWidth="0.742em",d=1.056),l.height=h,l.style.height=Et(u),{span:l,advanceWidth:d,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},"makeSqrtImage"),qG=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","\\surd"],P3e=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1"],YG=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],Hy=[0,1.2,1.8,2.4,3],B3e=o(function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle"),er.contains(qG,e)||er.contains(YG,e))return HG(e,r,!1,n,i,a);if(er.contains(P3e,e))return WG(e,Hy[r],!1,n,i,a);throw new mt("Illegal delimiter: '"+e+"'")},"makeSizedDelim"),F3e=[{type:"small",style:rr.SCRIPTSCRIPT},{type:"small",style:rr.SCRIPT},{type:"small",style:rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],$3e=[{type:"small",style:rr.SCRIPTSCRIPT},{type:"small",style:rr.SCRIPT},{type:"small",style:rr.TEXT},{type:"stack"}],XG=[{type:"small",style:rr.SCRIPTSCRIPT},{type:"small",style:rr.SCRIPT},{type:"small",style:rr.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],z3e=o(function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},"delimTypeToFont"),jG=o(function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;sr)return n[s]}return n[n.length-1]},"traverseSequence"),KG=o(function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="\u27E8"?e="\\langle":(e===">"||e==="\\gt"||e==="\u27E9")&&(e="\\rangle");var l;er.contains(YG,e)?l=F3e:er.contains(qG,e)?l=XG:l=$3e;var u=jG(e,r,l,i);return u.type==="small"?R3e(e,u.style,n,i,a,s):u.type==="large"?HG(e,u.size,n,i,a,s):WG(e,r,n,i,a,s)},"makeCustomSizedDelim"),G3e=o(function(e,r,n,i,a,s){var l=i.fontMetrics().axisHeight*i.sizeMultiplier,u=901,h=5/i.fontMetrics().ptPerEm,f=Math.max(r-l,n+l),d=Math.max(f/500*u,2*f-h);return KG(e,d,!0,i,a,s)},"makeLeftRightDelim"),lu={sqrtImage:O3e,sizedDelim:B3e,sizeToMaxHeight:Hy,customSizedDelim:KG,leftRightDelim:G3e},eG={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},V3e=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];o(A3,"checkDelimiter");Nt({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:o((t,e)=>{var r=A3(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:eG[t.funcName].size,mclass:eG[t.funcName].mclass,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>t.delim==="."?Fe.makeSpan([t.mclass]):lu.sizedDelim(t.delim,t.size,e,t.mode,[t.mclass]),"htmlBuilder"),mathmlBuilder:o(t=>{var e=[];t.delim!=="."&&e.push(Ao(t.delim,t.mode));var r=new dt.MathNode("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Et(lu.sizeToMaxHeight[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r},"mathmlBuilder")});o(tG,"assertParsed");Nt({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new mt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:A3(e[0],t).text,color:r}},"handler")});Nt({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=A3(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=xr(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},"handler"),htmlBuilder:o((t,e)=>{tG(t);for(var r=Bi(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s{tG(t);var r=ks(t.body,e);if(t.left!=="."){var n=new dt.MathNode("mo",[Ao(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new dt.MathNode("mo",[Ao(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return K7(r)},"mathmlBuilder")});Nt({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var r=A3(e[0],t);if(!t.parser.leftrightDepth)throw new mt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},"handler"),htmlBuilder:o((t,e)=>{var r;if(t.delim===".")r=jy(e,[]);else{r=lu.sizedDelim(t.delim,1,e,t.mode,[]);var n={delim:t.delim,options:e};r.isMiddle=n}return r},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Ao("|","text"):Ao(t.delim,t.mode),n=new dt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n},"mathmlBuilder")});tA=o((t,e)=>{var r=Fe.wrapFragment(Fr(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s=0,l=er.isCharacterBox(t.body);if(n==="sout")a=Fe.makeSpan(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var u=ri({number:.6,unit:"pt"},e),h=ri({number:.35,unit:"ex"},e),f=e.havingBaseSizing();i=i/f.sizeMultiplier;var d=r.height+r.depth+u+h;r.style.paddingLeft=Et(d/2+u);var p=Math.floor(1e3*d*i),m=B4e(p),g=new hl([new Ql("phase",m)],{width:"400em",height:Et(p/1e3),viewBox:"0 0 400000 "+p,preserveAspectRatio:"xMinYMin slice"});a=Fe.makeSvgSpan(["hide-tail"],[g],e),a.style.height=Et(d),s=r.depth+u+h}else{/cancel/.test(n)?l||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var y=0,v=0,x=0;/box/.test(n)?(x=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),y=e.fontMetrics().fboxsep+(n==="colorbox"?0:x),v=y):n==="angl"?(x=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),y=4*x,v=Math.max(0,.25-r.depth)):(y=l?.2:0,v=y),a=uu.encloseSpan(r,n,y,v,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Et(x)):n==="angl"&&x!==.049&&(a.style.borderTopWidth=Et(x),a.style.borderRightWidth=Et(x)),s=r.depth+v,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=Fe.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]},e);else{var T=/cancel|phase/.test(n)?["svg-align"]:[];b=Fe.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:T}]},e)}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!l?Fe.makeSpan(["mord","cancel-lap"],[b],e):Fe.makeSpan(["mord"],[b],e)},"htmlBuilder$7"),rA=o((t,e)=>{var r=0,n=new dt.MathNode(t.label.indexOf("colorbox")>-1?"mpadded":"menclose",[yn(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+i+"em solid "+String(t.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n},"mathmlBuilder$6");Nt({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=xr(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:tA,mathmlBuilder:rA});Nt({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=xr(e[0],"color-token").color,s=xr(e[1],"color-token").color,l=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:l}},htmlBuilder:tA,mathmlBuilder:rA});Nt({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});Nt({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:tA,mathmlBuilder:rA});Nt({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});QG={};o(Zl,"defineEnvironment");ZG={};o(fe,"defineMacro");o(rG,"getHLines");_3=o(t=>{var e=t.parser.settings;if(!e.displayMode)throw new mt("{"+t.envName+"} can be used only in display mode.")},"validateAmsEnvironmentContext");o(nA,"getAutoTag");o(gh,"parseArray");o(iA,"dCellStyle");Jl=o(function(e,r){var n,i,a=e.body.length,s=e.hLinesBeforeRow,l=0,u=new Array(a),h=[],f=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),d=1/r.fontMetrics().ptPerEm,p=5*d;if(e.colSeparationType&&e.colSeparationType==="small"){var m=r.havingStyle(rr.SCRIPT).sizeMultiplier;p=.2778*(m/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?ri({number:3,unit:"ex"},r):12*d,y=3*d,v=e.arraystretch*g,x=.7*v,b=.3*v,T=0;function C(ae){for(var Oe=0;Oe0&&(T+=.25),h.push({pos:T,isDashed:ae[Oe]})}for(o(C,"setHLinePos"),C(s[0]),n=0;n0&&(R+=b,_ae))for(n=0;n=l)){var Z=void 0;(i>0||e.hskipBeforeAndAfter)&&(Z=er.deflt(U.pregap,p),Z!==0&&(I=Fe.makeSpan(["arraycolsep"],[]),I.style.width=Et(Z),S.push(I)));var ue=[];for(n=0;n0){for(var te=Fe.makeLineSpan("hline",r,f),he=Fe.makeLineSpan("hdashline",r,f),le=[{type:"elem",elem:u,shift:0}];h.length>0;){var J=h.pop(),Se=J.pos-k;J.isDashed?le.push({type:"elem",elem:he,shift:Se}):le.push({type:"elem",elem:te,shift:Se})}u=Fe.makeVList({positionType:"individualShift",children:le},r)}if(P.length===0)return Fe.makeSpan(["mord"],[u],r);var se=Fe.makeVList({positionType:"individualShift",children:P},r);return se=Fe.makeSpan(["tag"],[se],r),Fe.makeFragment([u,se])},"htmlBuilder"),U3e={c:"center ",l:"left ",r:"right "},ec=o(function(e,r){for(var n=[],i=new dt.MathNode("mtd",[],["mtr-glue"]),a=new dt.MathNode("mtd",[],["mml-eqn-num"]),s=0;s0){var g=e.cols,y="",v=!1,x=0,b=g.length;g[0].type==="separator"&&(p+="top ",x=1),g[g.length-1].type==="separator"&&(p+="bottom ",b-=1);for(var T=x;T0?"left ":"",p+=A[A.length-1].length>0?"right ":"";for(var D=1;D-1?"alignat":"align",a=e.envName==="split",s=gh(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:nA(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),l,u=0,h={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var f="",d=0;d0&&m&&(v=1),n[g]={type:"align",align:y,pregap:v,postgap:0}}return s.colSeparationType=m?"align":"alignat",s},"alignedHandler");Zl({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=S3(e[0]),n=r?[e[0]]:xr(e[0],"ordgroup").body,i=n.map(function(s){var l=Z7(s),u=l.text;if("lcr".indexOf(u)!==-1)return{type:"align",align:u};if(u==="|")return{type:"separator",separator:"|"};if(u===":")return{type:"separator",separator:":"};throw new mt("Unknown column alignment: "+u,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return gh(t.parser,a,iA(t.envName))},htmlBuilder:Jl,mathmlBuilder:ec});Zl({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,"lcr".indexOf(r)===-1)throw new mt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=gh(t.parser,n,iA(t.envName)),s=Math.max(0,...a.body.map(l=>l.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:Jl,mathmlBuilder:ec});Zl({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=gh(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:Jl,mathmlBuilder:ec});Zl({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=S3(e[0]),n=r?[e[0]]:xr(e[0],"ordgroup").body,i=n.map(function(s){var l=Z7(s),u=l.text;if("lc".indexOf(u)!==-1)return{type:"align",align:u};throw new mt("Unknown column alignment: "+u,s)});if(i.length>1)throw new mt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5};if(a=gh(t.parser,a,"script"),a.body.length>0&&a.body[0].length>1)throw new mt("{subarray} can contain only one column");return a},htmlBuilder:Jl,mathmlBuilder:ec});Zl({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=gh(t.parser,e,iA(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.indexOf("r")>-1?".":"\\{",right:t.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Jl,mathmlBuilder:ec});Zl({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:JG,htmlBuilder:Jl,mathmlBuilder:ec});Zl({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){er.contains(["gather","gather*"],t.envName)&&_3(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:nA(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return gh(t.parser,e,"display")},htmlBuilder:Jl,mathmlBuilder:ec});Zl({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:JG,htmlBuilder:Jl,mathmlBuilder:ec});Zl({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){_3(t);var e={autoTag:nA(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return gh(t.parser,e,"display")},htmlBuilder:Jl,mathmlBuilder:ec});Zl({type:"array",names:["CD"],props:{numArgs:0},handler(t){return _3(t),D3e(t.parser)},htmlBuilder:Jl,mathmlBuilder:ec});fe("\\nonumber","\\gdef\\@eqnsw{0}");fe("\\notag","\\nonumber");Nt({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new mt(t.funcName+" valid only within array environment")}});nG=QG;Nt({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new mt("Invalid environment name",i);for(var a="",s=0;s{var r=t.font,n=e.withFont(r);return Fr(t.body,n)},"htmlBuilder$5"),tV=o((t,e)=>{var r=t.font,n=e.withFont(r);return yn(t.body,n)},"mathmlBuilder$4"),iG={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};Nt({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=b3(e[0]),a=n;return a in iG&&(a=iG[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},"handler"),htmlBuilder:eV,mathmlBuilder:tV});Nt({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r}=t,n=e[0],i=er.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:C3(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:i}},"handler")});Nt({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i),l="math"+n.slice(1);return{type:"font",mode:a,font:l,body:{type:"ordgroup",mode:r.mode,body:s}}},"handler"),htmlBuilder:eV,mathmlBuilder:tV});rV=o((t,e)=>{var r=e;return t==="display"?r=r.id>=rr.SCRIPT.id?r.text():rr.DISPLAY:t==="text"&&r.size===rr.DISPLAY.size?r=rr.TEXT:t==="script"?r=rr.SCRIPT:t==="scriptscript"&&(r=rr.SCRIPTSCRIPT),r},"adjustStyle"),aA=o((t,e)=>{var r=rV(t.size,e.style),n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=Fr(t.numer,a,e);if(t.continued){var l=8.5/e.fontMetrics().ptPerEm,u=3.5/e.fontMetrics().ptPerEm;s.height=s.height0?g=3*p:g=7*p,y=e.fontMetrics().denom1):(d>0?(m=e.fontMetrics().num2,g=p):(m=e.fontMetrics().num3,g=3*p),y=e.fontMetrics().denom2);var v;if(f){var b=e.fontMetrics().axisHeight;m-s.depth-(b+.5*d){var r=new dt.MathNode("mfrac",[yn(t.numer,e),yn(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=ri(t.barSize,e);r.setAttribute("linethickness",Et(n))}var i=rV(t.size,e.style);if(i.size!==e.style.size){r=new dt.MathNode("mstyle",[r]);var a=i.size===rr.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",a),r.setAttribute("scriptlevel","0")}if(t.leftDelim!=null||t.rightDelim!=null){var s=[];if(t.leftDelim!=null){var l=new dt.MathNode("mo",[new dt.TextNode(t.leftDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}if(s.push(r),t.rightDelim!=null){var u=new dt.MathNode("mo",[new dt.TextNode(t.rightDelim.replace("\\",""))]);u.setAttribute("fence","true"),s.push(u)}return K7(s)}return r},"mathmlBuilder$3");Nt({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,l=null,u=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,l="(",u=")";break;case"\\\\bracefrac":s=!1,l="\\{",u="\\}";break;case"\\\\brackfrac":s=!1,l="[",u="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text";break}return{type:"genfrac",mode:r.mode,continued:!1,numer:i,denom:a,hasBarLine:s,leftDelim:l,rightDelim:u,size:h,barSize:null}},"handler"),htmlBuilder:aA,mathmlBuilder:sA});Nt({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:i,denom:a,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}},"handler")});Nt({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});aG=["display","text","script","scriptscript"],sG=o(function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r},"delimFromValue");Nt({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=b3(e[0]),s=a.type==="atom"&&a.family==="open"?sG(a.text):null,l=b3(e[1]),u=l.type==="atom"&&l.family==="close"?sG(l.text):null,h=xr(e[2],"size"),f,d=null;h.isBlank?f=!0:(d=h.value,f=d.number>0);var p="auto",m=e[3];if(m.type==="ordgroup"){if(m.body.length>0){var g=xr(m.body[0],"textord");p=aG[Number(g.text)]}}else m=xr(m,"textord"),p=aG[Number(m.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:f,barSize:d,leftDelim:s,rightDelim:u,size:p}},htmlBuilder:aA,mathmlBuilder:sA});Nt({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:xr(e[0],"size").value,token:i}}});Nt({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=w4e(xr(e[1],"infix").size),s=e[2],l=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:l,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},"handler"),htmlBuilder:aA,mathmlBuilder:sA});nV=o((t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?Fr(t.sup,e.havingStyle(r.sup()),e):Fr(t.sub,e.havingStyle(r.sub()),e),i=xr(t.base,"horizBrace")):i=xr(t,"horizBrace");var a=Fr(i.base,e.havingBaseStyle(rr.DISPLAY)),s=uu.svgSpan(i,e),l;if(i.isOver?(l=Fe.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s}]},e),l.children[0].children[0].children[1].classes.push("svg-align")):(l=Fe.makeVList({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:a}]},e),l.children[0].children[0].children[0].classes.push("svg-align")),n){var u=Fe.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e);i.isOver?l=Fe.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:u},{type:"kern",size:.2},{type:"elem",elem:n}]},e):l=Fe.makeVList({positionType:"bottom",positionData:u.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:u}]},e)}return Fe.makeSpan(["mord",i.isOver?"mover":"munder"],[l],e)},"htmlBuilder$3"),H3e=o((t,e)=>{var r=uu.mathMLnode(t.label);return new dt.MathNode(t.isOver?"mover":"munder",[yn(t.base,e),r])},"mathmlBuilder$2");Nt({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:e[0]}},htmlBuilder:nV,mathmlBuilder:H3e});Nt({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[1],i=xr(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:mi(n)}:r.formatUnsupportedCmd("\\href")},"handler"),htmlBuilder:o((t,e)=>{var r=Bi(t.body,e,!1);return Fe.makeAnchor(t.href,[],r,e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=mh(t.body,e);return r instanceof Qa||(r=new Qa("mrow",[r])),r.setAttribute("href",t.href),r},"mathmlBuilder")});Nt({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=xr(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a{var{parser:r,funcName:n,token:i}=t,a=xr(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var l,u={};switch(n){case"\\htmlClass":u.class=a,l={command:"\\htmlClass",class:a};break;case"\\htmlId":u.id=a,l={command:"\\htmlId",id:a};break;case"\\htmlStyle":u.style=a,l={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var h=a.split(","),f=0;f{var r=Bi(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Fe.makeSpan(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},"htmlBuilder"),mathmlBuilder:o((t,e)=>mh(t.body,e),"mathmlBuilder")});Nt({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:mi(e[0]),mathml:mi(e[1])}},"handler"),htmlBuilder:o((t,e)=>{var r=Bi(t.html,e,!1);return Fe.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>mh(t.mathml,e),"mathmlBuilder")});R7=o(function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new mt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!wG(n))throw new mt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n},"sizeData");Nt({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:o((t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},l="";if(r[0])for(var u=xr(r[0],"raw").string,h=u.split(","),f=0;f{var r=ri(t.height,e),n=0;t.totalheight.number>0&&(n=ri(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=ri(t.width,e));var a={height:Et(r+n)};i>0&&(a.width=Et(i)),n>0&&(a.verticalAlign=Et(-n));var s=new B7(t.src,t.alt,a);return s.height=r,s.depth=n,s},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new dt.MathNode("mglyph",[]);r.setAttribute("alt",t.alt);var n=ri(t.height,e),i=0;if(t.totalheight.number>0&&(i=ri(t.totalheight,e)-n,r.setAttribute("valign",Et(-i))),r.setAttribute("height",Et(n+i)),t.width.number>0){var a=ri(t.width,e);r.setAttribute("width",Et(a))}return r.setAttribute("src",t.src),r},"mathmlBuilder")});Nt({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=xr(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return Fe.makeGlue(t.dimension,e)},mathmlBuilder(t,e){var r=ri(t.dimension,e);return new dt.SpaceNode(r)}});Nt({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},"handler"),htmlBuilder:o((t,e)=>{var r;t.alignment==="clap"?(r=Fe.makeSpan([],[Fr(t.body,e)]),r=Fe.makeSpan(["inner"],[r],e)):r=Fe.makeSpan(["inner"],[Fr(t.body,e)]);var n=Fe.makeSpan(["fix"],[]),i=Fe.makeSpan([t.alignment],[r,n],e),a=Fe.makeSpan(["strut"]);return a.style.height=Et(i.height+i.depth),i.depth&&(a.style.verticalAlign=Et(-i.depth)),i.children.unshift(a),i=Fe.makeSpan(["thinbox"],[i],e),Fe.makeSpan(["mord","vbox"],[i],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=new dt.MathNode("mpadded",[yn(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r},"mathmlBuilder")});Nt({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",body:s}}});Nt({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new mt("Mismatched "+t.funcName)}});oG=o((t,e)=>{switch(e.style.size){case rr.DISPLAY.size:return t.display;case rr.TEXT.size:return t.text;case rr.SCRIPT.size:return t.script;case rr.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}},"chooseMathStyle");Nt({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:o((t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:mi(e[0]),text:mi(e[1]),script:mi(e[2]),scriptscript:mi(e[3])}},"handler"),htmlBuilder:o((t,e)=>{var r=oG(t,e),n=Bi(r,e,!1);return Fe.makeFragment(n)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=oG(t,e);return mh(r,e)},"mathmlBuilder")});iV=o((t,e,r,n,i,a,s)=>{t=Fe.makeSpan([],[t]);var l=r&&er.isCharacterBox(r),u,h;if(e){var f=Fr(e,n.havingStyle(i.sup()),n);h={elem:f,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-f.depth)}}if(r){var d=Fr(r,n.havingStyle(i.sub()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-d.height)}}var p;if(h&&u){var m=n.fontMetrics().bigOpSpacing5+u.elem.height+u.elem.depth+u.kern+t.depth+s;p=Fe.makeVList({positionType:"bottom",positionData:m,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:Et(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:Et(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(u){var g=t.height-s;p=Fe.makeVList({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:u.elem,marginLeft:Et(-a)},{type:"kern",size:u.kern},{type:"elem",elem:t}]},n)}else if(h){var y=t.depth+s;p=Fe.makeVList({positionType:"bottom",positionData:y,children:[{type:"elem",elem:t},{type:"kern",size:h.kern},{type:"elem",elem:h.elem,marginLeft:Et(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else return t;var v=[p];if(u&&a!==0&&!l){var x=Fe.makeSpan(["mspace"],[],n);x.style.marginRight=Et(a),v.unshift(x)}return Fe.makeSpan(["mop","op-limits"],v,n)},"assembleSupSub"),aV=["\\smallint"],v0=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=xr(t.base,"op"),i=!0):a=xr(t,"op");var s=e.style,l=!1;s.size===rr.DISPLAY.size&&a.symbol&&!er.contains(aV,a.name)&&(l=!0);var u;if(a.symbol){var h=l?"Size2-Regular":"Size1-Regular",f="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(f=a.name.slice(1),a.name=f==="oiint"?"\\iint":"\\iiint"),u=Fe.makeSymbol(a.name,h,"math",e,["mop","op-symbol",l?"large-op":"small-op"]),f.length>0){var d=u.italic,p=Fe.staticSvg(f+"Size"+(l?"2":"1"),e);u=Fe.makeVList({positionType:"individualShift",children:[{type:"elem",elem:u,shift:0},{type:"elem",elem:p,shift:l?.08:0}]},e),a.name="\\"+f,u.classes.unshift("mop"),u.italic=d}}else if(a.body){var m=Bi(a.body,e,!0);m.length===1&&m[0]instanceof ws?(u=m[0],u.classes[0]="mop"):u=Fe.makeSpan(["mop"],m,e)}else{for(var g=[],y=1;y{var r;if(t.symbol)r=new Qa("mo",[Ao(t.name,t.mode)]),er.contains(aV,t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new Qa("mo",ks(t.body,e));else{r=new Qa("mi",[new So(t.name.slice(1))]);var n=new Qa("mo",[Ao("\u2061","text")]);t.parentIsSupSub?r=new Qa("mrow",[r,n]):r=MG([r,n])}return r},"mathmlBuilder$1"),W3e={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A06":"\\bigsqcup"};Nt({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A04","\u2A06"],props:{numArgs:0},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=W3e[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},"handler"),htmlBuilder:v0,mathmlBuilder:Ky});Nt({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:mi(n)}},"handler"),htmlBuilder:v0,mathmlBuilder:Ky});q3e={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint"};Nt({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:v0,mathmlBuilder:Ky});Nt({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:v0,mathmlBuilder:Ky});Nt({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=q3e[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:v0,mathmlBuilder:Ky});sV=o((t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=xr(t.base,"operatorname"),i=!0):a=xr(t,"operatorname");var s;if(a.body.length>0){for(var l=a.body.map(d=>{var p=d.text;return typeof p=="string"?{type:"textord",mode:d.mode,text:p}:d}),u=Bi(l,e.withFont("mathrm"),!0),h=0;h{for(var r=ks(t.body,e.withFont("mathrm")),n=!0,i=0;if.toText()).join("");r=[new dt.TextNode(l)]}var u=new dt.MathNode("mi",r);u.setAttribute("mathvariant","normal");var h=new dt.MathNode("mo",[Ao("\u2061","text")]);return t.parentIsSupSub?new dt.MathNode("mrow",[u,h]):dt.newDocumentFragment([u,h])},"mathmlBuilder");Nt({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:o((t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:mi(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},"handler"),htmlBuilder:sV,mathmlBuilder:Y3e});fe("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");td({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?Fe.makeFragment(Bi(t.body,e,!1)):Fe.makeSpan(["mord"],Bi(t.body,e,!0),e)},mathmlBuilder(t,e){return mh(t.body,e,!0)}});Nt({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=Fr(t.body,e.havingCrampedStyle()),n=Fe.makeLineSpan("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Fe.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]},e);return Fe.makeSpan(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new dt.MathNode("mo",[new dt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new dt.MathNode("mover",[yn(t.body,e),r]);return n.setAttribute("accent","true"),n}});Nt({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:mi(n)}},"handler"),htmlBuilder:o((t,e)=>{var r=Bi(t.body,e.withPhantom(),!1);return Fe.makeFragment(r)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=ks(t.body,e);return new dt.MathNode("mphantom",r)},"mathmlBuilder")});Nt({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"hphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=Fe.makeSpan([],[Fr(t.body,e.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(var n=0;n{var r=ks(mi(t.body),e),n=new dt.MathNode("mphantom",r),i=new dt.MathNode("mpadded",[n]);return i.setAttribute("height","0px"),i.setAttribute("depth","0px"),i},"mathmlBuilder")});Nt({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:o((t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},"handler"),htmlBuilder:o((t,e)=>{var r=Fe.makeSpan(["inner"],[Fr(t.body,e.withPhantom())]),n=Fe.makeSpan(["fix"],[]);return Fe.makeSpan(["mord","rlap"],[r,n],e)},"htmlBuilder"),mathmlBuilder:o((t,e)=>{var r=ks(mi(t.body),e),n=new dt.MathNode("mphantom",r),i=new dt.MathNode("mpadded",[n]);return i.setAttribute("width","0px"),i},"mathmlBuilder")});Nt({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=xr(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=Fr(t.body,e),n=ri(t.dy,e);return Fe.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){var r=new dt.MathNode("mpadded",[yn(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});Nt({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});Nt({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=xr(e[0],"size"),s=xr(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&xr(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Fe.makeSpan(["mord","rule"],[],e),n=ri(t.width,e),i=ri(t.height,e),a=t.shift?ri(t.shift,e):0;return r.style.borderRightWidth=Et(n),r.style.borderTopWidth=Et(i),r.style.bottom=Et(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=ri(t.width,e),n=ri(t.height,e),i=t.shift?ri(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new dt.MathNode("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Et(r)),s.setAttribute("height",Et(n));var l=new dt.MathNode("mpadded",[s]);return i>=0?l.setAttribute("height",Et(i)):(l.setAttribute("height",Et(i)),l.setAttribute("depth",Et(-i))),l.setAttribute("voffset",Et(i)),l}});o(oV,"sizingGroup");lG=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],X3e=o((t,e)=>{var r=e.havingSize(t.size);return oV(t.body,r,e)},"htmlBuilder");Nt({type:"sizing",names:lG,props:{numArgs:0,allowedInText:!0},handler:o((t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:lG.indexOf(n)+1,body:a}},"handler"),htmlBuilder:X3e,mathmlBuilder:o((t,e)=>{var r=e.havingSize(t.size),n=ks(t.body,r),i=new dt.MathNode("mstyle",n);return i.setAttribute("mathsize",Et(r.sizeMultiplier)),i},"mathmlBuilder")});Nt({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:o((t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&xr(r[0],"ordgroup");if(s)for(var l="",u=0;u{var r=Fe.makeSpan([],[Fr(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0,r.children))for(var n=0;n{var r=new dt.MathNode("mpadded",[yn(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r},"mathmlBuilder")});Nt({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=Fr(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=Fe.wrapFragment(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.idr.height+r.depth+s&&(s=(s+d-r.height-r.depth)/2);var p=u.height-r.height-s-h;r.style.paddingLeft=Et(f);var m=Fe.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:h}]},e);if(t.index){var g=e.havingStyle(rr.SCRIPTSCRIPT),y=Fr(t.index,g,e),v=.6*(m.height-m.depth),x=Fe.makeVList({positionType:"shift",positionData:-v,children:[{type:"elem",elem:y}]},e),b=Fe.makeSpan(["root"],[x]);return Fe.makeSpan(["mord","sqrt"],[b,m],e)}else return Fe.makeSpan(["mord","sqrt"],[m],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new dt.MathNode("mroot",[yn(r,e),yn(n,e)]):new dt.MathNode("msqrt",[yn(r,e)])}});cG={display:rr.DISPLAY,text:rr.TEXT,script:rr.SCRIPT,scriptscript:rr.SCRIPTSCRIPT};Nt({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=cG[t.style],n=e.havingStyle(r).withFont("");return oV(t.body,n,e)},mathmlBuilder(t,e){var r=cG[t.style],n=e.havingStyle(r),i=ks(t.body,n),a=new dt.MathNode("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},l=s[t.style];return a.setAttribute("scriptlevel",l[0]),a.setAttribute("displaystyle",l[1]),a}});j3e=o(function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===rr.DISPLAY.size||n.alwaysHandleSupSub);return i?v0:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===rr.DISPLAY.size||n.limits);return a?sV:null}else{if(n.type==="accent")return er.isCharacterBox(n.base)?J7:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?nV:null}else return null}else return null},"htmlBuilderDelegate");td({type:"supsub",htmlBuilder(t,e){var r=j3e(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=Fr(n,e),l,u,h=e.fontMetrics(),f=0,d=0,p=n&&er.isCharacterBox(n);if(i){var m=e.havingStyle(e.style.sup());l=Fr(i,m,e),p||(f=s.height-m.fontMetrics().supDrop*m.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());u=Fr(a,g,e),p||(d=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var y;e.style===rr.DISPLAY?y=h.sup1:e.style.cramped?y=h.sup3:y=h.sup2;var v=e.sizeMultiplier,x=Et(.5/h.ptPerEm/v),b=null;if(u){var T=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");(s instanceof ws||T)&&(b=Et(-s.italic))}var C;if(l&&u){f=Math.max(f,y,l.depth+.25*h.xHeight),d=Math.max(d,h.sub2);var w=h.defaultRuleThickness,E=4*w;if(f-l.depth-(u.height-d)0&&(f+=_,d-=_)}var A=[{type:"elem",elem:u,shift:d,marginRight:x,marginLeft:b},{type:"elem",elem:l,shift:-f,marginRight:x}];C=Fe.makeVList({positionType:"individualShift",children:A},e)}else if(u){d=Math.max(d,h.sub1,u.height-.8*h.xHeight);var D=[{type:"elem",elem:u,marginLeft:b,marginRight:x}];C=Fe.makeVList({positionType:"shift",positionData:d,children:D},e)}else if(l)f=Math.max(f,y,l.depth+.25*h.xHeight),C=Fe.makeVList({positionType:"shift",positionData:-f,children:[{type:"elem",elem:l,marginRight:x}]},e);else throw new Error("supsub must have either sup or sub.");var O=$7(s,"right")||"mord";return Fe.makeSpan([O],[s,Fe.makeSpan(["msupsub"],[C])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[yn(t.base,e)];t.sub&&a.push(yn(t.sub,e)),t.sup&&a.push(yn(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var h=t.base;h&&h.type==="op"&&h.limits&&e.style===rr.DISPLAY||h&&h.type==="operatorname"&&h.alwaysHandleSupSub&&(e.style===rr.DISPLAY||h.limits)?s="munderover":s="msubsup"}else{var u=t.base;u&&u.type==="op"&&u.limits&&(e.style===rr.DISPLAY||u.alwaysHandleSupSub)||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(u.limits||e.style===rr.DISPLAY)?s="munder":s="msub"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===rr.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===rr.DISPLAY)?s="mover":s="msup"}return new dt.MathNode(s,a)}});td({type:"atom",htmlBuilder(t,e){return Fe.mathsym(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new dt.MathNode("mo",[Ao(t.text,t.mode)]);if(t.family==="bin"){var n=Q7(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});lV={mi:"italic",mn:"normal",mtext:"normal"};td({type:"mathord",htmlBuilder(t,e){return Fe.makeOrd(t,e,"mathord")},mathmlBuilder(t,e){var r=new dt.MathNode("mi",[Ao(t.text,t.mode,e)]),n=Q7(t,e)||"italic";return n!==lV[r.type]&&r.setAttribute("mathvariant",n),r}});td({type:"textord",htmlBuilder(t,e){return Fe.makeOrd(t,e,"textord")},mathmlBuilder(t,e){var r=Ao(t.text,t.mode,e),n=Q7(t,e)||"normal",i;return t.mode==="text"?i=new dt.MathNode("mtext",[r]):/[0-9]/.test(t.text)?i=new dt.MathNode("mn",[r]):t.text==="\\prime"?i=new dt.MathNode("mo",[r]):i=new dt.MathNode("mi",[r]),n!==lV[i.type]&&i.setAttribute("mathvariant",n),i}});N7={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},M7={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};td({type:"spacing",htmlBuilder(t,e){if(M7.hasOwnProperty(t.text)){var r=M7[t.text].className||"";if(t.mode==="text"){var n=Fe.makeOrd(t,e,"textord");return n.classes.push(r),n}else return Fe.makeSpan(["mspace",r],[Fe.mathsym(t.text,t.mode,e)],e)}else{if(N7.hasOwnProperty(t.text))return Fe.makeSpan(["mspace",N7[t.text]],[],e);throw new mt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(M7.hasOwnProperty(t.text))r=new dt.MathNode("mtext",[new dt.TextNode("\xA0")]);else{if(N7.hasOwnProperty(t.text))return new dt.MathNode("mspace");throw new mt('Unknown type of space "'+t.text+'"')}return r}});uG=o(()=>{var t=new dt.MathNode("mtd",[]);return t.setAttribute("width","50%"),t},"pad");td({type:"tag",mathmlBuilder(t,e){var r=new dt.MathNode("mtable",[new dt.MathNode("mtr",[uG(),new dt.MathNode("mtd",[mh(t.body,e)]),uG(),new dt.MathNode("mtd",[mh(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});hG={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},fG={"\\textbf":"textbf","\\textmd":"textmd"},K3e={"\\textit":"textit","\\textup":"textup"},dG=o((t,e)=>{var r=t.font;if(r){if(hG[r])return e.withTextFontFamily(hG[r]);if(fG[r])return e.withTextFontWeight(fG[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(K3e[r])},"optionsWithFont");Nt({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:mi(i),font:n}},htmlBuilder(t,e){var r=dG(t,e),n=Bi(t.body,r,!0);return Fe.makeSpan(["mord","text"],n,r)},mathmlBuilder(t,e){var r=dG(t,e);return mh(t.body,r)}});Nt({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Fr(t.body,e),n=Fe.makeLineSpan("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=Fe.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]},e);return Fe.makeSpan(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new dt.MathNode("mo",[new dt.TextNode("\u203E")]);r.setAttribute("stretchy","true");var n=new dt.MathNode("munder",[yn(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});Nt({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Fr(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return Fe.makeVList({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]},e)},mathmlBuilder(t,e){return new dt.MathNode("mpadded",[yn(t.body,e)],["vcenter"])}});Nt({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new mt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=pG(t),n=[],i=e.havingStyle(e.style.text()),a=0;at.body.replace(/ /g,t.star?"\u2423":"\xA0"),"makeVerb"),dh=RG,cV=`[ \r + ]`,Q3e="\\\\[a-zA-Z@]+",Z3e="\\\\[^\uD800-\uDFFF]",J3e="("+Q3e+")"+cV+"*",e5e=`\\\\( +|[ \r ]+ +?)[ \r ]*`,H7="[\u0300-\u036F]",t5e=new RegExp(H7+"+$"),r5e="("+cV+"+)|"+(e5e+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(H7+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(H7+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+J3e)+("|"+Z3e+")"),T3=class{static{o(this,"Lexer")}constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(r5e,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new Co("EOF",new js(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new mt("Unexpected character: '"+e[r]+"'",new Co(e[r],new js(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(` +`,this.tokenRegex.lastIndex);return a===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=a+1,this.lex()}return new Co(i,new js(this,r,this.tokenRegex.lastIndex))}},W7=class{static{o(this,"Namespace")}constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new mt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}},n5e=ZG;fe("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});fe("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});fe("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});fe("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});fe("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});fe("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");fe("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});mG={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};fe("\\char",function(t){var e=t.popToken(),r,n="";if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new mt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=mG[e.text],n==null||n>=r)throw new mt("Invalid base-"+r+" digit "+e.text);for(var i;(i=mG[t.future().text])!=null&&i{var i=t.consumeArg().tokens;if(i.length!==1)throw new mt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new mt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new mt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var l=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var u="",h=t.expandNextToken();h.text!=="]"&&h.text!=="EOF";)u+=h.text,h=t.expandNextToken();if(!u.match(/^\s*[0-9]+\s*$/))throw new mt("Invalid number of arguments: "+u);l=parseInt(u),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:l}),""},"newcommand");fe("\\newcommand",t=>oA(t,!1,!0,!1));fe("\\renewcommand",t=>oA(t,!0,!1,!1));fe("\\providecommand",t=>oA(t,!0,!0,!0));fe("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});fe("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});fe("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),dh[r],Cn.math[r],Cn.text[r]),""});fe("\\bgroup","{");fe("\\egroup","}");fe("~","\\nobreakspace");fe("\\lq","`");fe("\\rq","'");fe("\\aa","\\r a");fe("\\AA","\\r A");fe("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");fe("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");fe("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");fe("\u212C","\\mathscr{B}");fe("\u2130","\\mathscr{E}");fe("\u2131","\\mathscr{F}");fe("\u210B","\\mathscr{H}");fe("\u2110","\\mathscr{I}");fe("\u2112","\\mathscr{L}");fe("\u2133","\\mathscr{M}");fe("\u211B","\\mathscr{R}");fe("\u212D","\\mathfrak{C}");fe("\u210C","\\mathfrak{H}");fe("\u2128","\\mathfrak{Z}");fe("\\Bbbk","\\Bbb{k}");fe("\xB7","\\cdotp");fe("\\llap","\\mathllap{\\textrm{#1}}");fe("\\rlap","\\mathrlap{\\textrm{#1}}");fe("\\clap","\\mathclap{\\textrm{#1}}");fe("\\mathstrut","\\vphantom{(}");fe("\\underbar","\\underline{\\text{#1}}");fe("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');fe("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");fe("\\ne","\\neq");fe("\u2260","\\neq");fe("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");fe("\u2209","\\notin");fe("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");fe("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");fe("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");fe("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");fe("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");fe("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");fe("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");fe("\u27C2","\\perp");fe("\u203C","\\mathclose{!\\mkern-0.8mu!}");fe("\u220C","\\notni");fe("\u231C","\\ulcorner");fe("\u231D","\\urcorner");fe("\u231E","\\llcorner");fe("\u231F","\\lrcorner");fe("\xA9","\\copyright");fe("\xAE","\\textregistered");fe("\uFE0F","\\textregistered");fe("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');fe("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');fe("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');fe("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');fe("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");fe("\u22EE","\\vdots");fe("\\varGamma","\\mathit{\\Gamma}");fe("\\varDelta","\\mathit{\\Delta}");fe("\\varTheta","\\mathit{\\Theta}");fe("\\varLambda","\\mathit{\\Lambda}");fe("\\varXi","\\mathit{\\Xi}");fe("\\varPi","\\mathit{\\Pi}");fe("\\varSigma","\\mathit{\\Sigma}");fe("\\varUpsilon","\\mathit{\\Upsilon}");fe("\\varPhi","\\mathit{\\Phi}");fe("\\varPsi","\\mathit{\\Psi}");fe("\\varOmega","\\mathit{\\Omega}");fe("\\substack","\\begin{subarray}{c}#1\\end{subarray}");fe("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");fe("\\boxed","\\fbox{$\\displaystyle{#1}$}");fe("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");fe("\\implies","\\DOTSB\\;\\Longrightarrow\\;");fe("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");fe("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");fe("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");gG={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};fe("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in gG?e=gG[r]:(r.slice(0,4)==="\\not"||r in Cn.math&&er.contains(["bin","rel"],Cn.math[r].group))&&(e="\\dotsb"),e});lA={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};fe("\\dotso",function(t){var e=t.future().text;return e in lA?"\\ldots\\,":"\\ldots"});fe("\\dotsc",function(t){var e=t.future().text;return e in lA&&e!==","?"\\ldots\\,":"\\ldots"});fe("\\cdots",function(t){var e=t.future().text;return e in lA?"\\@cdots\\,":"\\@cdots"});fe("\\dotsb","\\cdots");fe("\\dotsm","\\cdots");fe("\\dotsi","\\!\\cdots");fe("\\dotsx","\\ldots\\,");fe("\\DOTSI","\\relax");fe("\\DOTSB","\\relax");fe("\\DOTSX","\\relax");fe("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");fe("\\,","\\tmspace+{3mu}{.1667em}");fe("\\thinspace","\\,");fe("\\>","\\mskip{4mu}");fe("\\:","\\tmspace+{4mu}{.2222em}");fe("\\medspace","\\:");fe("\\;","\\tmspace+{5mu}{.2777em}");fe("\\thickspace","\\;");fe("\\!","\\tmspace-{3mu}{.1667em}");fe("\\negthinspace","\\!");fe("\\negmedspace","\\tmspace-{4mu}{.2222em}");fe("\\negthickspace","\\tmspace-{5mu}{.277em}");fe("\\enspace","\\kern.5em ");fe("\\enskip","\\hskip.5em\\relax");fe("\\quad","\\hskip1em\\relax");fe("\\qquad","\\hskip2em\\relax");fe("\\tag","\\@ifstar\\tag@literal\\tag@paren");fe("\\tag@paren","\\tag@literal{({#1})}");fe("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new mt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});fe("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");fe("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");fe("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");fe("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");fe("\\newline","\\\\\\relax");fe("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");uV=Et(Kl["Main-Regular"][84][1]-.7*Kl["Main-Regular"][65][1]);fe("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+uV+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");fe("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+uV+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");fe("\\hspace","\\@ifstar\\@hspacer\\@hspace");fe("\\@hspace","\\hskip #1\\relax");fe("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");fe("\\ordinarycolon",":");fe("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");fe("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');fe("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');fe("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');fe("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');fe("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');fe("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');fe("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');fe("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');fe("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');fe("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');fe("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');fe("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');fe("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');fe("\u2237","\\dblcolon");fe("\u2239","\\eqcolon");fe("\u2254","\\coloneqq");fe("\u2255","\\eqqcolon");fe("\u2A74","\\Coloneqq");fe("\\ratio","\\vcentcolon");fe("\\coloncolon","\\dblcolon");fe("\\colonequals","\\coloneqq");fe("\\coloncolonequals","\\Coloneqq");fe("\\equalscolon","\\eqqcolon");fe("\\equalscoloncolon","\\Eqqcolon");fe("\\colonminus","\\coloneq");fe("\\coloncolonminus","\\Coloneq");fe("\\minuscolon","\\eqcolon");fe("\\minuscoloncolon","\\Eqcolon");fe("\\coloncolonapprox","\\Colonapprox");fe("\\coloncolonsim","\\Colonsim");fe("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");fe("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");fe("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");fe("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");fe("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");fe("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");fe("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");fe("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");fe("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");fe("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");fe("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");fe("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");fe("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");fe("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");fe("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");fe("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");fe("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");fe("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");fe("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");fe("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");fe("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");fe("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");fe("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");fe("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");fe("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");fe("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");fe("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");fe("\\imath","\\html@mathml{\\@imath}{\u0131}");fe("\\jmath","\\html@mathml{\\@jmath}{\u0237}");fe("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");fe("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");fe("\u27E6","\\llbracket");fe("\u27E7","\\rrbracket");fe("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");fe("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");fe("\u2983","\\lBrace");fe("\u2984","\\rBrace");fe("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");fe("\u29B5","\\minuso");fe("\\darr","\\downarrow");fe("\\dArr","\\Downarrow");fe("\\Darr","\\Downarrow");fe("\\lang","\\langle");fe("\\rang","\\rangle");fe("\\uarr","\\uparrow");fe("\\uArr","\\Uparrow");fe("\\Uarr","\\Uparrow");fe("\\N","\\mathbb{N}");fe("\\R","\\mathbb{R}");fe("\\Z","\\mathbb{Z}");fe("\\alef","\\aleph");fe("\\alefsym","\\aleph");fe("\\Alpha","\\mathrm{A}");fe("\\Beta","\\mathrm{B}");fe("\\bull","\\bullet");fe("\\Chi","\\mathrm{X}");fe("\\clubs","\\clubsuit");fe("\\cnums","\\mathbb{C}");fe("\\Complex","\\mathbb{C}");fe("\\Dagger","\\ddagger");fe("\\diamonds","\\diamondsuit");fe("\\empty","\\emptyset");fe("\\Epsilon","\\mathrm{E}");fe("\\Eta","\\mathrm{H}");fe("\\exist","\\exists");fe("\\harr","\\leftrightarrow");fe("\\hArr","\\Leftrightarrow");fe("\\Harr","\\Leftrightarrow");fe("\\hearts","\\heartsuit");fe("\\image","\\Im");fe("\\infin","\\infty");fe("\\Iota","\\mathrm{I}");fe("\\isin","\\in");fe("\\Kappa","\\mathrm{K}");fe("\\larr","\\leftarrow");fe("\\lArr","\\Leftarrow");fe("\\Larr","\\Leftarrow");fe("\\lrarr","\\leftrightarrow");fe("\\lrArr","\\Leftrightarrow");fe("\\Lrarr","\\Leftrightarrow");fe("\\Mu","\\mathrm{M}");fe("\\natnums","\\mathbb{N}");fe("\\Nu","\\mathrm{N}");fe("\\Omicron","\\mathrm{O}");fe("\\plusmn","\\pm");fe("\\rarr","\\rightarrow");fe("\\rArr","\\Rightarrow");fe("\\Rarr","\\Rightarrow");fe("\\real","\\Re");fe("\\reals","\\mathbb{R}");fe("\\Reals","\\mathbb{R}");fe("\\Rho","\\mathrm{P}");fe("\\sdot","\\cdot");fe("\\sect","\\S");fe("\\spades","\\spadesuit");fe("\\sub","\\subset");fe("\\sube","\\subseteq");fe("\\supe","\\supseteq");fe("\\Tau","\\mathrm{T}");fe("\\thetasym","\\vartheta");fe("\\weierp","\\wp");fe("\\Zeta","\\mathrm{Z}");fe("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");fe("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");fe("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");fe("\\bra","\\mathinner{\\langle{#1}|}");fe("\\ket","\\mathinner{|{#1}\\rangle}");fe("\\braket","\\mathinner{\\langle{#1}\\rangle}");fe("\\Bra","\\left\\langle#1\\right|");fe("\\Ket","\\left|#1\\right\\rangle");hV=o(t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),l=e.macros.get("\\|");e.macros.beginGroup();var u=o(d=>p=>{t&&(p.macros.set("|",s),i.length&&p.macros.set("\\|",l));var m=d;if(!d&&i.length){var g=p.future();g.text==="|"&&(p.popToken(),m=!0)}return{tokens:m?i:n,numArgs:0}},"midMacro");e.macros.set("|",u(!1)),i.length&&e.macros.set("\\|",u(!0));var h=e.consumeArg().tokens,f=e.expandTokens([...a,...h,...r]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}},"braketHelper");fe("\\bra@ket",hV(!1));fe("\\bra@set",hV(!0));fe("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");fe("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");fe("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");fe("\\angln","{\\angl n}");fe("\\blue","\\textcolor{##6495ed}{#1}");fe("\\orange","\\textcolor{##ffa500}{#1}");fe("\\pink","\\textcolor{##ff00af}{#1}");fe("\\red","\\textcolor{##df0030}{#1}");fe("\\green","\\textcolor{##28ae7b}{#1}");fe("\\gray","\\textcolor{gray}{#1}");fe("\\purple","\\textcolor{##9d38bd}{#1}");fe("\\blueA","\\textcolor{##ccfaff}{#1}");fe("\\blueB","\\textcolor{##80f6ff}{#1}");fe("\\blueC","\\textcolor{##63d9ea}{#1}");fe("\\blueD","\\textcolor{##11accd}{#1}");fe("\\blueE","\\textcolor{##0c7f99}{#1}");fe("\\tealA","\\textcolor{##94fff5}{#1}");fe("\\tealB","\\textcolor{##26edd5}{#1}");fe("\\tealC","\\textcolor{##01d1c1}{#1}");fe("\\tealD","\\textcolor{##01a995}{#1}");fe("\\tealE","\\textcolor{##208170}{#1}");fe("\\greenA","\\textcolor{##b6ffb0}{#1}");fe("\\greenB","\\textcolor{##8af281}{#1}");fe("\\greenC","\\textcolor{##74cf70}{#1}");fe("\\greenD","\\textcolor{##1fab54}{#1}");fe("\\greenE","\\textcolor{##0d923f}{#1}");fe("\\goldA","\\textcolor{##ffd0a9}{#1}");fe("\\goldB","\\textcolor{##ffbb71}{#1}");fe("\\goldC","\\textcolor{##ff9c39}{#1}");fe("\\goldD","\\textcolor{##e07d10}{#1}");fe("\\goldE","\\textcolor{##a75a05}{#1}");fe("\\redA","\\textcolor{##fca9a9}{#1}");fe("\\redB","\\textcolor{##ff8482}{#1}");fe("\\redC","\\textcolor{##f9685d}{#1}");fe("\\redD","\\textcolor{##e84d39}{#1}");fe("\\redE","\\textcolor{##bc2612}{#1}");fe("\\maroonA","\\textcolor{##ffbde0}{#1}");fe("\\maroonB","\\textcolor{##ff92c6}{#1}");fe("\\maroonC","\\textcolor{##ed5fa6}{#1}");fe("\\maroonD","\\textcolor{##ca337c}{#1}");fe("\\maroonE","\\textcolor{##9e034e}{#1}");fe("\\purpleA","\\textcolor{##ddd7ff}{#1}");fe("\\purpleB","\\textcolor{##c6b9fc}{#1}");fe("\\purpleC","\\textcolor{##aa87ff}{#1}");fe("\\purpleD","\\textcolor{##7854ab}{#1}");fe("\\purpleE","\\textcolor{##543b78}{#1}");fe("\\mintA","\\textcolor{##f5f9e8}{#1}");fe("\\mintB","\\textcolor{##edf2df}{#1}");fe("\\mintC","\\textcolor{##e0e5cc}{#1}");fe("\\grayA","\\textcolor{##f6f7f7}{#1}");fe("\\grayB","\\textcolor{##f0f1f2}{#1}");fe("\\grayC","\\textcolor{##e3e5e6}{#1}");fe("\\grayD","\\textcolor{##d6d8da}{#1}");fe("\\grayE","\\textcolor{##babec2}{#1}");fe("\\grayF","\\textcolor{##888d93}{#1}");fe("\\grayG","\\textcolor{##626569}{#1}");fe("\\grayH","\\textcolor{##3b3e40}{#1}");fe("\\grayI","\\textcolor{##21242c}{#1}");fe("\\kaBlue","\\textcolor{##314453}{#1}");fe("\\kaGreen","\\textcolor{##71B307}{#1}");fV={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},q7=class{static{o(this,"MacroExpander")}constructor(e,r,n){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(e),this.macros=new W7(n5e,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new T3(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new Co("EOF",n.loc)),this.pushTokens(i),r.range(n,"")}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,l=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new mt("Extra }",a)}else if(a.text==="EOF")throw new mt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[l]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[l]==="{")&&a.text===e[l]){if(++l,l===e.length){r.splice(-l,l);break}}else l=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new mt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;ithis.settings.maxExpand)throw new mt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new mt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var l=a.length-1;l>=0;--l){var u=a[l];if(u.text==="#"){if(l===0)throw new mt("Incomplete placeholder at end of macro body",u);if(u=a[--l],u.text==="#")a.splice(l+1,1);else if(/^[1-9]$/.test(u.text))a.splice(l,2,...s[+u.text-1]);else throw new mt("Not a valid argument number",u)}}}return this.pushTokens(a),a.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Co(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.indexOf("#")!==-1)for(var s=i.replace(/##/g,"");s.indexOf("#"+(a+1))!==-1;)++a;for(var l=new T3(i,this.settings),u=[],h=l.lex();h.text!=="EOF";)u.push(h),h=l.lex();u.reverse();var f={tokens:u,numArgs:a};return f}return i}isDefined(e){return this.macros.has(e)||dh.hasOwnProperty(e)||Cn.math.hasOwnProperty(e)||Cn.text.hasOwnProperty(e)||fV.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:dh.hasOwnProperty(e)&&!dh[e].primitive}},yG=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,d3=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),I7={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},vG={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},w3=class t{static{o(this,"Parser")}constructor(e,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new q7(e,r,this.mode),this.settings=r,this.leftrightDepth=0}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new mt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var r=this.nextToken;this.consume(),this.gullet.pushToken(new Co("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(t.endOfExpression.indexOf(i.text)!==-1||r&&i.text===r||e&&dh[i.text]&&dh[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var l=Cn[this.mode][r].group,u=js.range(e),h;if(X4e.hasOwnProperty(l)){var f=l;h={type:"atom",mode:this.mode,family:f,loc:u,text:r}}else h={type:l,mode:this.mode,loc:u,text:r};s=h}else if(r.charCodeAt(0)>=128)this.settings.strict&&(bG(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:js.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),hh.addHook("afterSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute(t)&&(e.setAttribute("target",e.getAttribute(t)??""),e.removeAttribute(t),e.getAttribute("target")==="_blank"&&e.setAttribute("rel","noopener"))})}var rd,a5e,s5e,kV,TV,ar,l5e,c5e,u5e,h5e,EV,fu,mr,f5e,d5e,tc,hA,p5e,m5e,wV,L3,gi,nd,g5e,yh,Ze,dr=N(()=>{"use strict";T7();rd=//gi,a5e=o(t=>t?EV(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),s5e=(()=>{let t=!1;return()=>{t||(o5e(),t=!0)}})();o(o5e,"setupDompurifyHooks");kV=o(t=>(s5e(),hh.sanitize(t)),"removeScript"),TV=o((t,e)=>{if(e.flowchart?.htmlLabels!==!1){let r=e.securityLevel;r==="antiscript"||r==="strict"?t=kV(t):r!=="loose"&&(t=EV(t),t=t.replace(//g,">"),t=t.replace(/=/g,"="),t=h5e(t))}return t},"sanitizeMore"),ar=o((t,e)=>t&&(e.dompurifyConfig?t=hh.sanitize(TV(t,e),e.dompurifyConfig).toString():t=hh.sanitize(TV(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),l5e=o((t,e)=>typeof t=="string"?ar(t,e):t.flat().map(r=>ar(r,e)),"sanitizeTextOrArray"),c5e=o(t=>rd.test(t),"hasBreaks"),u5e=o(t=>t.split(rd),"splitBreaks"),h5e=o(t=>t.replace(/#br#/g,"
    "),"placeholderToBreak"),EV=o(t=>t.replace(rd,"#br#"),"breakToPlaceholder"),fu=o(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),mr=o(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),f5e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),d5e=o(function(...t){let e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),tc=o(function(t){let e=t.split(/(,)/),r=[];for(let n=0;n0&&n+1Math.max(0,t.split(e).length-1),"countOccurrence"),p5e=o((t,e)=>{let r=hA(t,"~"),n=hA(e,"~");return r===1&&n===1},"shouldCombineSets"),m5e=o(t=>{let e=hA(t,"~"),r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);let n=[...t],i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),wV=o(()=>window.MathMLElement!==void 0,"isMathMLSupported"),L3=/\$\$(.*)\$\$/g,gi=o(t=>(t.match(L3)?.length??0)>0,"hasKatex"),nd=o(async(t,e)=>{let r=document.createElement("div");r.innerHTML=await yh(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0",document.querySelector("body")?.insertAdjacentElement("beforeend",r);let i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),g5e=o(async(t,e)=>{if(!gi(t))return t;if(!(wV()||e.legacyMathML||e.forceLegacyMathML))return t.replace(L3,"MathML is unsupported in this environment.");{let{default:r}=await Promise.resolve().then(()=>(bV(),xV)),n=e.forceLegacyMathML||!wV()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(rd).map(i=>gi(i)?`
    ${i}
    `:`
    ${i}
    `).join("").replace(L3,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(//g,""))}return t.replace(L3,"Katex is not supported in @mermaid-js/tiny. Please use the full mermaid library.")},"renderKatexUnsanitized"),yh=o(async(t,e)=>ar(await g5e(t,e),e),"renderKatexSanitized"),Ze={getRows:a5e,sanitizeText:ar,sanitizeTextOrArray:l5e,hasBreaks:c5e,splitBreaks:u5e,lineBreakRegex:rd,removeScript:kV,getUrl:fu,evaluate:mr,getMax:f5e,getMin:d5e}});var dA,fA,SV,R3,CV,AV,Es,rc=N(()=>{"use strict";M$();Jn();dr();yt();dA={body:'?',height:80,width:80},fA=new Map,SV=new Map,R3=o(t=>{for(let e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(X.debug("Registering icon pack:",e.name),"loader"in e)SV.set(e.name,e.loader);else if("icons"in e)fA.set(e.name,e.icons);else throw X.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),CV=o(async(t,e)=>{let r=VC(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);let n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=fA.get(n);if(!i){let s=SV.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},fA.set(n,i)}catch(l){throw X.error(l),new Error(`Failed to load icon set: ${r.prefix}`)}}let a=HC(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),AV=o(async t=>{try{return await CV(t),!0}catch{return!1}},"isIconAvailable"),Es=o(async(t,e,r)=>{let n;try{n=await CV(t,e?.fallbackPrefix)}catch(s){X.error(s),n=dA}let i=qC(n,e),a=XC(YC(i.body),{...i.attributes,...r});return ar(a,Qt())},"getIconSVG")});function N3(t){for(var e=[],r=1;r{"use strict";o(N3,"dedent")});var M3,id,_V,I3=N(()=>{"use strict";M3=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,id=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,_V=/\s*%%.*\n/gm});var x0,mA=N(()=>{"use strict";x0=class extends Error{static{o(this,"UnknownDiagramError")}constructor(e){super(e),this.name="UnknownDiagramError"}}});var du,b0,Qy,gA,DV,ad=N(()=>{"use strict";yt();I3();mA();du={},b0=o(function(t,e){t=t.replace(M3,"").replace(id,"").replace(_V,` +`);for(let[r,{detector:n}]of Object.entries(du))if(n(t,e))return r;throw new x0(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),Qy=o((...t)=>{for(let{id:e,detector:r,loader:n}of t)gA(e,r,n)},"registerLazyLoadedDiagrams"),gA=o((t,e,r)=>{du[t]&&X.warn(`Detector with key ${t} already exists. Overwriting.`),du[t]={detector:e,loader:r},X.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),DV=o(t=>du[t].loader,"getDiagramLoader")});var Zy,LV,yA=N(()=>{"use strict";Zy=function(){var t=o(function(ze,Le,Ie,xe){for(Ie=Ie||{},xe=ze.length;xe--;Ie[ze[xe]]=Le);return Ie},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],l=[1,64],u=[1,65],h=[1,66],f=[1,67],d=[1,68],p=[1,69],m=[1,29],g=[1,30],y=[1,31],v=[1,32],x=[1,33],b=[1,34],T=[1,35],C=[1,36],w=[1,37],E=[1,38],_=[1,39],A=[1,40],D=[1,41],O=[1,42],R=[1,43],k=[1,44],L=[1,45],S=[1,46],I=[1,47],M=[1,48],P=[1,50],B=[1,51],F=[1,52],z=[1,53],$=[1,54],U=[1,55],K=[1,56],ee=[1,57],Y=[1,58],ce=[1,59],Z=[1,60],ue=[14,42],Q=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],j=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ne=[1,82],te=[1,83],he=[1,84],le=[1,85],J=[12,14,42],Se=[12,14,33,42],se=[12,14,33,42,76,77,79,80],ae=[12,33],Oe=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ye={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:o(function(Le,Ie,xe,q,de,ie,oe){var V=ie.length-1;switch(de){case 3:q.setDirection("TB");break;case 4:q.setDirection("BT");break;case 5:q.setDirection("RL");break;case 6:q.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:q.setC4Type(ie[V-3]);break;case 19:q.setTitle(ie[V].substring(6)),this.$=ie[V].substring(6);break;case 20:q.setAccDescription(ie[V].substring(15)),this.$=ie[V].substring(15);break;case 21:this.$=ie[V].trim(),q.setTitle(this.$);break;case 22:case 23:this.$=ie[V].trim(),q.setAccDescription(this.$);break;case 28:ie[V].splice(2,0,"ENTERPRISE"),q.addPersonOrSystemBoundary(...ie[V]),this.$=ie[V];break;case 29:ie[V].splice(2,0,"SYSTEM"),q.addPersonOrSystemBoundary(...ie[V]),this.$=ie[V];break;case 30:q.addPersonOrSystemBoundary(...ie[V]),this.$=ie[V];break;case 31:ie[V].splice(2,0,"CONTAINER"),q.addContainerBoundary(...ie[V]),this.$=ie[V];break;case 32:q.addDeploymentNode("node",...ie[V]),this.$=ie[V];break;case 33:q.addDeploymentNode("nodeL",...ie[V]),this.$=ie[V];break;case 34:q.addDeploymentNode("nodeR",...ie[V]),this.$=ie[V];break;case 35:q.popBoundaryParseStack();break;case 39:q.addPersonOrSystem("person",...ie[V]),this.$=ie[V];break;case 40:q.addPersonOrSystem("external_person",...ie[V]),this.$=ie[V];break;case 41:q.addPersonOrSystem("system",...ie[V]),this.$=ie[V];break;case 42:q.addPersonOrSystem("system_db",...ie[V]),this.$=ie[V];break;case 43:q.addPersonOrSystem("system_queue",...ie[V]),this.$=ie[V];break;case 44:q.addPersonOrSystem("external_system",...ie[V]),this.$=ie[V];break;case 45:q.addPersonOrSystem("external_system_db",...ie[V]),this.$=ie[V];break;case 46:q.addPersonOrSystem("external_system_queue",...ie[V]),this.$=ie[V];break;case 47:q.addContainer("container",...ie[V]),this.$=ie[V];break;case 48:q.addContainer("container_db",...ie[V]),this.$=ie[V];break;case 49:q.addContainer("container_queue",...ie[V]),this.$=ie[V];break;case 50:q.addContainer("external_container",...ie[V]),this.$=ie[V];break;case 51:q.addContainer("external_container_db",...ie[V]),this.$=ie[V];break;case 52:q.addContainer("external_container_queue",...ie[V]),this.$=ie[V];break;case 53:q.addComponent("component",...ie[V]),this.$=ie[V];break;case 54:q.addComponent("component_db",...ie[V]),this.$=ie[V];break;case 55:q.addComponent("component_queue",...ie[V]),this.$=ie[V];break;case 56:q.addComponent("external_component",...ie[V]),this.$=ie[V];break;case 57:q.addComponent("external_component_db",...ie[V]),this.$=ie[V];break;case 58:q.addComponent("external_component_queue",...ie[V]),this.$=ie[V];break;case 60:q.addRel("rel",...ie[V]),this.$=ie[V];break;case 61:q.addRel("birel",...ie[V]),this.$=ie[V];break;case 62:q.addRel("rel_u",...ie[V]),this.$=ie[V];break;case 63:q.addRel("rel_d",...ie[V]),this.$=ie[V];break;case 64:q.addRel("rel_l",...ie[V]),this.$=ie[V];break;case 65:q.addRel("rel_r",...ie[V]),this.$=ie[V];break;case 66:q.addRel("rel_b",...ie[V]),this.$=ie[V];break;case 67:ie[V].splice(0,1),q.addRel("rel",...ie[V]),this.$=ie[V];break;case 68:q.updateElStyle("update_el_style",...ie[V]),this.$=ie[V];break;case 69:q.updateRelStyle("update_rel_style",...ie[V]),this.$=ie[V];break;case 70:q.updateLayoutConfig("update_layout_config",...ie[V]),this.$=ie[V];break;case 71:this.$=[ie[V]];break;case 72:ie[V].unshift(ie[V-1]),this.$=ie[V];break;case 73:case 75:this.$=ie[V].trim();break;case 74:let Te={};Te[ie[V-1].trim()]=ie[V].trim(),this.$=Te;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:C,52:w,53:E,54:_,55:A,56:D,57:O,58:R,59:k,60:L,61:S,62:I,63:M,64:P,65:B,66:F,67:z,68:$,69:U,70:K,71:ee,72:Y,73:ce,74:Z},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:C,52:w,53:E,54:_,55:A,56:D,57:O,58:R,59:k,60:L,61:S,62:I,63:M,64:P,65:B,66:F,67:z,68:$,69:U,70:K,71:ee,72:Y,73:ce,74:Z},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:C,52:w,53:E,54:_,55:A,56:D,57:O,58:R,59:k,60:L,61:S,62:I,63:M,64:P,65:B,66:F,67:z,68:$,69:U,70:K,71:ee,72:Y,73:ce,74:Z},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:C,52:w,53:E,54:_,55:A,56:D,57:O,58:R,59:k,60:L,61:S,62:I,63:M,64:P,65:B,66:F,67:z,68:$,69:U,70:K,71:ee,72:Y,73:ce,74:Z},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:C,52:w,53:E,54:_,55:A,56:D,57:O,58:R,59:k,60:L,61:S,62:I,63:M,64:P,65:B,66:F,67:z,68:$,69:U,70:K,71:ee,72:Y,73:ce,74:Z},{14:[1,74]},t(ue,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:C,52:w,53:E,54:_,55:A,56:D,57:O,58:R,59:k,60:L,61:S,62:I,63:M,64:P,65:B,66:F,67:z,68:$,69:U,70:K,71:ee,72:Y,73:ce,74:Z}),t(ue,[2,14]),t(Q,[2,16],{12:[1,76]}),t(ue,[2,36],{12:[1,77]}),t(j,[2,19]),t(j,[2,20]),{25:[1,78]},{27:[1,79]},t(j,[2,23]),{35:80,75:81,76:ne,77:te,79:he,80:le},{35:86,75:81,76:ne,77:te,79:he,80:le},{35:87,75:81,76:ne,77:te,79:he,80:le},{35:88,75:81,76:ne,77:te,79:he,80:le},{35:89,75:81,76:ne,77:te,79:he,80:le},{35:90,75:81,76:ne,77:te,79:he,80:le},{35:91,75:81,76:ne,77:te,79:he,80:le},{35:92,75:81,76:ne,77:te,79:he,80:le},{35:93,75:81,76:ne,77:te,79:he,80:le},{35:94,75:81,76:ne,77:te,79:he,80:le},{35:95,75:81,76:ne,77:te,79:he,80:le},{35:96,75:81,76:ne,77:te,79:he,80:le},{35:97,75:81,76:ne,77:te,79:he,80:le},{35:98,75:81,76:ne,77:te,79:he,80:le},{35:99,75:81,76:ne,77:te,79:he,80:le},{35:100,75:81,76:ne,77:te,79:he,80:le},{35:101,75:81,76:ne,77:te,79:he,80:le},{35:102,75:81,76:ne,77:te,79:he,80:le},{35:103,75:81,76:ne,77:te,79:he,80:le},{35:104,75:81,76:ne,77:te,79:he,80:le},t(J,[2,59]),{35:105,75:81,76:ne,77:te,79:he,80:le},{35:106,75:81,76:ne,77:te,79:he,80:le},{35:107,75:81,76:ne,77:te,79:he,80:le},{35:108,75:81,76:ne,77:te,79:he,80:le},{35:109,75:81,76:ne,77:te,79:he,80:le},{35:110,75:81,76:ne,77:te,79:he,80:le},{35:111,75:81,76:ne,77:te,79:he,80:le},{35:112,75:81,76:ne,77:te,79:he,80:le},{35:113,75:81,76:ne,77:te,79:he,80:le},{35:114,75:81,76:ne,77:te,79:he,80:le},{35:115,75:81,76:ne,77:te,79:he,80:le},{20:116,29:49,30:61,32:62,34:s,36:l,37:u,38:h,39:f,40:d,41:p,43:23,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:C,52:w,53:E,54:_,55:A,56:D,57:O,58:R,59:k,60:L,61:S,62:I,63:M,64:P,65:B,66:F,67:z,68:$,69:U,70:K,71:ee,72:Y,73:ce,74:Z},{12:[1,118],33:[1,117]},{35:119,75:81,76:ne,77:te,79:he,80:le},{35:120,75:81,76:ne,77:te,79:he,80:le},{35:121,75:81,76:ne,77:te,79:he,80:le},{35:122,75:81,76:ne,77:te,79:he,80:le},{35:123,75:81,76:ne,77:te,79:he,80:le},{35:124,75:81,76:ne,77:te,79:he,80:le},{35:125,75:81,76:ne,77:te,79:he,80:le},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(ue,[2,15]),t(Q,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(ue,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:l,37:u,38:h,39:f,40:d,41:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T,51:C,52:w,53:E,54:_,55:A,56:D,57:O,58:R,59:k,60:L,61:S,62:I,63:M,64:P,65:B,66:F,67:z,68:$,69:U,70:K,71:ee,72:Y,73:ce,74:Z}),t(j,[2,21]),t(j,[2,22]),t(J,[2,39]),t(Se,[2,71],{75:81,35:132,76:ne,77:te,79:he,80:le}),t(se,[2,73]),{78:[1,133]},t(se,[2,75]),t(se,[2,76]),t(J,[2,40]),t(J,[2,41]),t(J,[2,42]),t(J,[2,43]),t(J,[2,44]),t(J,[2,45]),t(J,[2,46]),t(J,[2,47]),t(J,[2,48]),t(J,[2,49]),t(J,[2,50]),t(J,[2,51]),t(J,[2,52]),t(J,[2,53]),t(J,[2,54]),t(J,[2,55]),t(J,[2,56]),t(J,[2,57]),t(J,[2,58]),t(J,[2,60]),t(J,[2,61]),t(J,[2,62]),t(J,[2,63]),t(J,[2,64]),t(J,[2,65]),t(J,[2,66]),t(J,[2,67]),t(J,[2,68]),t(J,[2,69]),t(J,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(ae,[2,28]),t(ae,[2,29]),t(ae,[2,30]),t(ae,[2,31]),t(ae,[2,32]),t(ae,[2,33]),t(ae,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(Q,[2,18]),t(ue,[2,38]),t(Se,[2,72]),t(se,[2,74]),t(J,[2,24]),t(J,[2,35]),t(Oe,[2,25]),t(Oe,[2,26],{12:[1,138]}),t(Oe,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:o(function(Le,Ie){if(Ie.recoverable)this.trace(Le);else{var xe=new Error(Le);throw xe.hash=Ie,xe}},"parseError"),parse:o(function(Le){var Ie=this,xe=[0],q=[],de=[null],ie=[],oe=this.table,V="",Te=0,W=0,pe=0,ve=2,Pe=1,_e=ie.slice.call(arguments,1),be=Object.create(this.lexer),Ve={yy:{}};for(var De in this.yy)Object.prototype.hasOwnProperty.call(this.yy,De)&&(Ve.yy[De]=this.yy[De]);be.setInput(Le,Ve.yy),Ve.yy.lexer=be,Ve.yy.parser=this,typeof be.yylloc>"u"&&(be.yylloc={});var Ye=be.yylloc;ie.push(Ye);var at=be.options&&be.options.ranges;typeof Ve.yy.parseError=="function"?this.parseError=Ve.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Rt(nt){xe.length=xe.length-2*nt,de.length=de.length-nt,ie.length=ie.length-nt}o(Rt,"popStack");function st(){var nt;return nt=q.pop()||be.lex()||Pe,typeof nt!="number"&&(nt instanceof Array&&(q=nt,nt=q.pop()),nt=Ie.symbols_[nt]||nt),nt}o(st,"lex");for(var Ue,ut,We,lt,Xt,Tt,Mt={},bt,ht,St,ft;;){if(We=xe[xe.length-1],this.defaultActions[We]?lt=this.defaultActions[We]:((Ue===null||typeof Ue>"u")&&(Ue=st()),lt=oe[We]&&oe[We][Ue]),typeof lt>"u"||!lt.length||!lt[0]){var vt="";ft=[];for(bt in oe[We])this.terminals_[bt]&&bt>ve&&ft.push("'"+this.terminals_[bt]+"'");be.showPosition?vt="Parse error on line "+(Te+1)+`: +`+be.showPosition()+` +Expecting `+ft.join(", ")+", got '"+(this.terminals_[Ue]||Ue)+"'":vt="Parse error on line "+(Te+1)+": Unexpected "+(Ue==Pe?"end of input":"'"+(this.terminals_[Ue]||Ue)+"'"),this.parseError(vt,{text:be.match,token:this.terminals_[Ue]||Ue,line:be.yylineno,loc:Ye,expected:ft})}if(lt[0]instanceof Array&<.length>1)throw new Error("Parse Error: multiple actions possible at state: "+We+", token: "+Ue);switch(lt[0]){case 1:xe.push(Ue),de.push(be.yytext),ie.push(be.yylloc),xe.push(lt[1]),Ue=null,ut?(Ue=ut,ut=null):(W=be.yyleng,V=be.yytext,Te=be.yylineno,Ye=be.yylloc,pe>0&&pe--);break;case 2:if(ht=this.productions_[lt[1]][1],Mt.$=de[de.length-ht],Mt._$={first_line:ie[ie.length-(ht||1)].first_line,last_line:ie[ie.length-1].last_line,first_column:ie[ie.length-(ht||1)].first_column,last_column:ie[ie.length-1].last_column},at&&(Mt._$.range=[ie[ie.length-(ht||1)].range[0],ie[ie.length-1].range[1]]),Tt=this.performAction.apply(Mt,[V,W,Te,Ve.yy,lt[1],de,ie].concat(_e)),typeof Tt<"u")return Tt;ht&&(xe=xe.slice(0,-1*ht*2),de=de.slice(0,-1*ht),ie=ie.slice(0,-1*ht)),xe.push(this.productions_[lt[1]][0]),de.push(Mt.$),ie.push(Mt._$),St=oe[xe[xe.length-2]][xe[xe.length-1]],xe.push(St);break;case 3:return!0}}return!0},"parse")},Be=function(){var ze={EOF:1,parseError:o(function(Ie,xe){if(this.yy.parser)this.yy.parser.parseError(Ie,xe);else throw new Error(Ie)},"parseError"),setInput:o(function(Le,Ie){return this.yy=Ie||this.yy||{},this._input=Le,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var Le=this._input[0];this.yytext+=Le,this.yyleng++,this.offset++,this.match+=Le,this.matched+=Le;var Ie=Le.match(/(?:\r\n?|\n).*/g);return Ie?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Le},"input"),unput:o(function(Le){var Ie=Le.length,xe=Le.split(/(?:\r\n?|\n)/g);this._input=Le+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ie),this.offset-=Ie;var q=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),xe.length-1&&(this.yylineno-=xe.length-1);var de=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:xe?(xe.length===q.length?this.yylloc.first_column:0)+q[q.length-xe.length].length-xe[0].length:this.yylloc.first_column-Ie},this.options.ranges&&(this.yylloc.range=[de[0],de[0]+this.yyleng-Ie]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(Le){this.unput(this.match.slice(Le))},"less"),pastInput:o(function(){var Le=this.matched.substr(0,this.matched.length-this.match.length);return(Le.length>20?"...":"")+Le.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var Le=this.match;return Le.length<20&&(Le+=this._input.substr(0,20-Le.length)),(Le.substr(0,20)+(Le.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var Le=this.pastInput(),Ie=new Array(Le.length+1).join("-");return Le+this.upcomingInput()+` +`+Ie+"^"},"showPosition"),test_match:o(function(Le,Ie){var xe,q,de;if(this.options.backtrack_lexer&&(de={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(de.yylloc.range=this.yylloc.range.slice(0))),q=Le[0].match(/(?:\r\n?|\n).*/g),q&&(this.yylineno+=q.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:q?q[q.length-1].length-q[q.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Le[0].length},this.yytext+=Le[0],this.match+=Le[0],this.matches=Le,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(Le[0].length),this.matched+=Le[0],xe=this.performAction.call(this,this.yy,this,Ie,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),xe)return xe;if(this._backtrack){for(var ie in de)this[ie]=de[ie];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Le,Ie,xe,q;this._more||(this.yytext="",this.match="");for(var de=this._currentRules(),ie=0;ieIe[0].length)){if(Ie=xe,q=ie,this.options.backtrack_lexer){if(Le=this.test_match(xe,de[ie]),Le!==!1)return Le;if(this._backtrack){Ie=!1;continue}else return!1}else if(!this.options.flex)break}return Ie?(Le=this.test_match(Ie,de[q]),Le!==!1?Le:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var Ie=this.next();return Ie||this.lex()},"lex"),begin:o(function(Ie){this.conditionStack.push(Ie)},"begin"),popState:o(function(){var Ie=this.conditionStack.length-1;return Ie>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(Ie){return Ie=this.conditionStack.length-1-Math.abs(Ie||0),Ie>=0?this.conditionStack[Ie]:"INITIAL"},"topState"),pushState:o(function(Ie){this.begin(Ie)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(Ie,xe,q,de){var ie=de;switch(q){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),26;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:break;case 14:c;break;case 15:return 12;case 16:break;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;break;case 23:return this.begin("person"),44;break;case 24:return this.begin("system_ext_queue"),51;break;case 25:return this.begin("system_ext_db"),50;break;case 26:return this.begin("system_ext"),49;break;case 27:return this.begin("system_queue"),48;break;case 28:return this.begin("system_db"),47;break;case 29:return this.begin("system"),46;break;case 30:return this.begin("boundary"),37;break;case 31:return this.begin("enterprise_boundary"),34;break;case 32:return this.begin("system_boundary"),36;break;case 33:return this.begin("container_ext_queue"),57;break;case 34:return this.begin("container_ext_db"),56;break;case 35:return this.begin("container_ext"),55;break;case 36:return this.begin("container_queue"),54;break;case 37:return this.begin("container_db"),53;break;case 38:return this.begin("container"),52;break;case 39:return this.begin("container_boundary"),38;break;case 40:return this.begin("component_ext_queue"),63;break;case 41:return this.begin("component_ext_db"),62;break;case 42:return this.begin("component_ext"),61;break;case 43:return this.begin("component_queue"),60;break;case 44:return this.begin("component_db"),59;break;case 45:return this.begin("component"),58;break;case 46:return this.begin("node"),39;break;case 47:return this.begin("node"),39;break;case 48:return this.begin("node_l"),40;break;case 49:return this.begin("node_r"),41;break;case 50:return this.begin("rel"),64;break;case 51:return this.begin("birel"),65;break;case 52:return this.begin("rel_u"),66;break;case 53:return this.begin("rel_u"),66;break;case 54:return this.begin("rel_d"),67;break;case 55:return this.begin("rel_d"),67;break;case 56:return this.begin("rel_l"),68;break;case 57:return this.begin("rel_l"),68;break;case 58:return this.begin("rel_r"),69;break;case 59:return this.begin("rel_r"),69;break;case 60:return this.begin("rel_b"),70;break;case 61:return this.begin("rel_index"),71;break;case 62:return this.begin("update_el_style"),72;break;case 63:return this.begin("update_rel_style"),73;break;case 64:return this.begin("update_layout_config"),74;break;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";break;case 67:this.begin("attribute");break;case 68:this.popState(),this.popState();break;case 69:return 80;case 70:break;case 71:return 80;case 72:this.begin("string");break;case 73:this.popState();break;case 74:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";break;case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 79:this.popState(),this.popState();break;case 80:return"STR";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}};return ze}();ye.lexer=Be;function He(){this.yy={}}return o(He,"Parser"),He.prototype=ye,ye.Parser=He,new He}();Zy.parser=Zy;LV=Zy});var y5e,v5e,hn,_o,yi=N(()=>{"use strict";yt();y5e=o(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),v5e=o(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),hn=o(function(t,e,r,n){let i=v5e(e,r,n);y5e(t,i)},"configureSvgSize"),_o=o(function(t,e,r,n){let i=e.node().getBBox(),a=i.width,s=i.height;X.info(`SVG bounds: ${a}x${s}`,i);let l=0,u=0;X.info(`Graph bounds: ${l}x${u}`,t),l=a+r*2,u=s+r*2,X.info(`Calculated bounds: ${l}x${u}`),hn(e,u,l,n);let h=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",h)},"setupGraphViewbox")});var O3,x5e,RV,NV,vA=N(()=>{"use strict";yt();O3={},x5e=o((t,e,r)=>{let n="";return t in O3&&O3[t]?n=O3[t](r):X.warn(`No theme found for ${t}`),` & { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + fill: ${r.textColor} + } + @keyframes edge-animation-frame { + from { + stroke-dashoffset: 0; + } + } + @keyframes dash { + to { + stroke-dashoffset: 0; + } + } + & .edge-animation-slow { + stroke-dasharray: 9,5 !important; + stroke-dashoffset: 900; + animation: dash 50s linear infinite; + stroke-linecap: round; + } + & .edge-animation-fast { + stroke-dasharray: 9,5 !important; + stroke-dashoffset: 900; + animation: dash 20s linear infinite; + stroke-linecap: round; + } + /* Classes common for multiple diagrams */ + + & .error-icon { + fill: ${r.errorBkgColor}; + } + & .error-text { + fill: ${r.errorTextColor}; + stroke: ${r.errorTextColor}; + } + + & .edge-thickness-normal { + stroke-width: 1px; + } + & .edge-thickness-thick { + stroke-width: 3.5px + } + & .edge-pattern-solid { + stroke-dasharray: 0; + } + & .edge-thickness-invisible { + stroke-width: 0; + fill: none; + } + & .edge-pattern-dashed{ + stroke-dasharray: 3; + } + .edge-pattern-dotted { + stroke-dasharray: 2; + } + + & .marker { + fill: ${r.lineColor}; + stroke: ${r.lineColor}; + } + & .marker.cross { + stroke: ${r.lineColor}; + } + + & svg { + font-family: ${r.fontFamily}; + font-size: ${r.fontSize}; + } + & p { + margin: 0 + } + + ${n} + + ${e} +`},"getStyles"),RV=o((t,e)=>{e!==void 0&&(O3[t]=e)},"addStylesForDiagram"),NV=x5e});var Jy={};hr(Jy,{clear:()=>wr,getAccDescription:()=>Lr,getAccTitle:()=>_r,getDiagramTitle:()=>Rr,setAccDescription:()=>Dr,setAccTitle:()=>Cr,setDiagramTitle:()=>Ir});var xA,bA,TA,wA,wr,Cr,_r,Dr,Lr,Ir,Rr,ci=N(()=>{"use strict";dr();Jn();xA="",bA="",TA="",wA=o(t=>ar(t,Qt()),"sanitizeText"),wr=o(()=>{xA="",TA="",bA=""},"clear"),Cr=o(t=>{xA=wA(t).replace(/^\s+/g,"")},"setAccTitle"),_r=o(()=>xA,"getAccTitle"),Dr=o(t=>{TA=wA(t).replace(/\n\s+/g,` +`)},"setAccDescription"),Lr=o(()=>TA,"getAccDescription"),Ir=o(t=>{bA=wA(t)},"setDiagramTitle"),Rr=o(()=>bA,"getDiagramTitle")});var MV,b5e,ge,ev,B3,tv,EA,T5e,P3,sd,rv,kA,qt=N(()=>{"use strict";ad();yt();Jn();dr();yi();vA();ci();MV=X,b5e=Cy,ge=Qt,ev=J4,B3=uh,tv=o(t=>ar(t,ge()),"sanitizeText"),EA=_o,T5e=o(()=>Jy,"getCommonDb"),P3={},sd=o((t,e,r)=>{P3[t]&&MV.warn(`Diagram with id ${t} already registered. Overwriting.`),P3[t]=e,r&&gA(t,r),RV(t,e.styles),e.injectUtils?.(MV,b5e,ge,tv,EA,T5e(),()=>{})},"registerDiagram"),rv=o(t=>{if(t in P3)return P3[t];throw new kA(t)},"getDiagram"),kA=class extends Error{static{o(this,"DiagramNotFoundError")}constructor(e){super(`Diagram ${e} not found.`)}}});var dl,vh,es,fl,nc,nv,SA,CA,F3,$3,IV,w5e,k5e,E5e,S5e,C5e,A5e,_5e,D5e,L5e,R5e,N5e,M5e,I5e,O5e,P5e,B5e,F5e,OV,$5e,z5e,PV,G5e,V5e,U5e,H5e,xh,W5e,q5e,Y5e,X5e,j5e,iv,AA=N(()=>{"use strict";qt();dr();ci();dl=[],vh=[""],es="global",fl="",nc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],nv=[],SA="",CA=!1,F3=4,$3=2,w5e=o(function(){return IV},"getC4Type"),k5e=o(function(t){IV=ar(t,ge())},"setC4Type"),E5e=o(function(t,e,r,n,i,a,s,l,u){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let h={},f=nv.find(d=>d.from===e&&d.to===r);if(f?h=f:nv.push(h),h.type=t,h.from=e,h.to=r,h.label={text:n},i==null)h.techn={text:""};else if(typeof i=="object"){let[d,p]=Object.entries(i)[0];h[d]={text:p}}else h.techn={text:i};if(a==null)h.descr={text:""};else if(typeof a=="object"){let[d,p]=Object.entries(a)[0];h[d]={text:p}}else h.descr={text:a};if(typeof s=="object"){let[d,p]=Object.entries(s)[0];h[d]=p}else h.sprite=s;if(typeof l=="object"){let[d,p]=Object.entries(l)[0];h[d]=p}else h.tags=l;if(typeof u=="object"){let[d,p]=Object.entries(u)[0];h[d]=p}else h.link=u;h.wrap=xh()},"addRel"),S5e=o(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let l={},u=dl.find(h=>h.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,dl.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.descr={text:""};else if(typeof n=="object"){let[h,f]=Object.entries(n)[0];l[h]={text:f}}else l.descr={text:n};if(typeof i=="object"){let[h,f]=Object.entries(i)[0];l[h]=f}else l.sprite=i;if(typeof a=="object"){let[h,f]=Object.entries(a)[0];l[h]=f}else l.tags=a;if(typeof s=="object"){let[h,f]=Object.entries(s)[0];l[h]=f}else l.link=s;l.typeC4Shape={text:t},l.parentBoundary=es,l.wrap=xh()},"addPersonOrSystem"),C5e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=dl.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,dl.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=xh(),u.typeC4Shape={text:t},u.parentBoundary=es},"addContainer"),A5e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=dl.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,dl.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.techn={text:""};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.techn={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof a=="object"){let[f,d]=Object.entries(a)[0];u[f]=d}else u.sprite=a;if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.wrap=xh(),u.typeC4Shape={text:t},u.parentBoundary=es},"addComponent"),_5e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=nc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,nc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=es,a.wrap=xh(),fl=es,es=t,vh.push(fl)},"addPersonOrSystemBoundary"),D5e=o(function(t,e,r,n,i){if(t===null||e===null)return;let a={},s=nc.find(l=>l.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,nc.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[l,u]=Object.entries(r)[0];a[l]={text:u}}else a.type={text:r};if(typeof n=="object"){let[l,u]=Object.entries(n)[0];a[l]=u}else a.tags=n;if(typeof i=="object"){let[l,u]=Object.entries(i)[0];a[l]=u}else a.link=i;a.parentBoundary=es,a.wrap=xh(),fl=es,es=t,vh.push(fl)},"addContainerBoundary"),L5e=o(function(t,e,r,n,i,a,s,l){if(e===null||r===null)return;let u={},h=nc.find(f=>f.alias===e);if(h&&e===h.alias?u=h:(u.alias=e,nc.push(u)),r==null?u.label={text:""}:u.label={text:r},n==null)u.type={text:"node"};else if(typeof n=="object"){let[f,d]=Object.entries(n)[0];u[f]={text:d}}else u.type={text:n};if(i==null)u.descr={text:""};else if(typeof i=="object"){let[f,d]=Object.entries(i)[0];u[f]={text:d}}else u.descr={text:i};if(typeof s=="object"){let[f,d]=Object.entries(s)[0];u[f]=d}else u.tags=s;if(typeof l=="object"){let[f,d]=Object.entries(l)[0];u[f]=d}else u.link=l;u.nodeType=t,u.parentBoundary=es,u.wrap=xh(),fl=es,es=e,vh.push(fl)},"addDeploymentNode"),R5e=o(function(){es=fl,vh.pop(),fl=vh.pop(),vh.push(fl)},"popBoundaryParseStack"),N5e=o(function(t,e,r,n,i,a,s,l,u,h,f){let d=dl.find(p=>p.alias===e);if(!(d===void 0&&(d=nc.find(p=>p.alias===e),d===void 0))){if(r!=null)if(typeof r=="object"){let[p,m]=Object.entries(r)[0];d[p]=m}else d.bgColor=r;if(n!=null)if(typeof n=="object"){let[p,m]=Object.entries(n)[0];d[p]=m}else d.fontColor=n;if(i!=null)if(typeof i=="object"){let[p,m]=Object.entries(i)[0];d[p]=m}else d.borderColor=i;if(a!=null)if(typeof a=="object"){let[p,m]=Object.entries(a)[0];d[p]=m}else d.shadowing=a;if(s!=null)if(typeof s=="object"){let[p,m]=Object.entries(s)[0];d[p]=m}else d.shape=s;if(l!=null)if(typeof l=="object"){let[p,m]=Object.entries(l)[0];d[p]=m}else d.sprite=l;if(u!=null)if(typeof u=="object"){let[p,m]=Object.entries(u)[0];d[p]=m}else d.techn=u;if(h!=null)if(typeof h=="object"){let[p,m]=Object.entries(h)[0];d[p]=m}else d.legendText=h;if(f!=null)if(typeof f=="object"){let[p,m]=Object.entries(f)[0];d[p]=m}else d.legendSprite=f}},"updateElStyle"),M5e=o(function(t,e,r,n,i,a,s){let l=nv.find(u=>u.from===e&&u.to===r);if(l!==void 0){if(n!=null)if(typeof n=="object"){let[u,h]=Object.entries(n)[0];l[u]=h}else l.textColor=n;if(i!=null)if(typeof i=="object"){let[u,h]=Object.entries(i)[0];l[u]=h}else l.lineColor=i;if(a!=null)if(typeof a=="object"){let[u,h]=Object.entries(a)[0];l[u]=parseInt(h)}else l.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[u,h]=Object.entries(s)[0];l[u]=parseInt(h)}else l.offsetY=parseInt(s)}},"updateRelStyle"),I5e=o(function(t,e,r){let n=F3,i=$3;if(typeof e=="object"){let a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){let a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(F3=n),i>=1&&($3=i)},"updateLayoutConfig"),O5e=o(function(){return F3},"getC4ShapeInRow"),P5e=o(function(){return $3},"getC4BoundaryInRow"),B5e=o(function(){return es},"getCurrentBoundaryParse"),F5e=o(function(){return fl},"getParentBoundaryParse"),OV=o(function(t){return t==null?dl:dl.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),$5e=o(function(t){return dl.find(e=>e.alias===t)},"getC4Shape"),z5e=o(function(t){return Object.keys(OV(t))},"getC4ShapeKeys"),PV=o(function(t){return t==null?nc:nc.filter(e=>e.parentBoundary===t)},"getBoundaries"),G5e=PV,V5e=o(function(){return nv},"getRels"),U5e=o(function(){return SA},"getTitle"),H5e=o(function(t){CA=t},"setWrap"),xh=o(function(){return CA},"autoWrap"),W5e=o(function(){dl=[],nc=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],fl="",es="global",vh=[""],nv=[],vh=[""],SA="",CA=!1,F3=4,$3=2},"clear"),q5e={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},Y5e={FILLED:0,OPEN:1},X5e={LEFTOF:0,RIGHTOF:1,OVER:2},j5e=o(function(t){SA=ar(t,ge())},"setTitle"),iv={addPersonOrSystem:S5e,addPersonOrSystemBoundary:_5e,addContainer:C5e,addContainerBoundary:D5e,addComponent:A5e,addDeploymentNode:L5e,popBoundaryParseStack:R5e,addRel:E5e,updateElStyle:N5e,updateRelStyle:M5e,updateLayoutConfig:I5e,autoWrap:xh,setWrap:H5e,getC4ShapeArray:OV,getC4Shape:$5e,getC4ShapeKeys:z5e,getBoundaries:PV,getBoundarys:G5e,getCurrentBoundaryParse:B5e,getParentBoundaryParse:F5e,getRels:V5e,getTitle:U5e,getC4Type:w5e,getC4ShapeInRow:O5e,getC4BoundaryInRow:P5e,setAccTitle:Cr,getAccTitle:_r,getAccDescription:Lr,setAccDescription:Dr,getConfig:o(()=>ge().c4,"getConfig"),clear:W5e,LINETYPE:q5e,ARROWTYPE:Y5e,PLACEMENT:X5e,setTitle:j5e,setC4Type:k5e}});function od(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}var _A=N(()=>{"use strict";o(od,"ascending")});function DA(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}var BV=N(()=>{"use strict";o(DA,"descending")});function ld(t){let e,r,n;t.length!==2?(e=od,r=o((l,u)=>od(t(l),u),"compare2"),n=o((l,u)=>t(l)-u,"delta")):(e=t===od||t===DA?t:K5e,r=t,n=t);function i(l,u,h=0,f=l.length){if(h>>1;r(l[d],u)<0?h=d+1:f=d}while(h>>1;r(l[d],u)<=0?h=d+1:f=d}while(hh&&n(l[d-1],u)>-n(l[d],u)?d-1:d}return o(s,"center"),{left:i,center:s,right:a}}function K5e(){return 0}var LA=N(()=>{"use strict";_A();BV();o(ld,"bisector");o(K5e,"zero")});function RA(t){return t===null?NaN:+t}var FV=N(()=>{"use strict";o(RA,"number")});var $V,zV,Q5e,Z5e,NA,GV=N(()=>{"use strict";_A();LA();FV();$V=ld(od),zV=$V.right,Q5e=$V.left,Z5e=ld(RA).center,NA=zV});function VV({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function J5e({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function eTe({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function tTe(t){return t!==null&&typeof t=="object"?t.valueOf():t}var T0,UV=N(()=>{"use strict";T0=class extends Map{static{o(this,"InternMap")}constructor(e,r=tTe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(VV(this,e))}has(e){return super.has(VV(this,e))}set(e,r){return super.set(J5e(this,e),r)}delete(e){return super.delete(eTe(this,e))}};o(VV,"intern_get");o(J5e,"intern_set");o(eTe,"intern_delete");o(tTe,"keyof")});function z3(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=rTe?10:a>=nTe?5:a>=iTe?2:1,l,u,h;return i<0?(h=Math.pow(10,-i)/s,l=Math.round(t*h),u=Math.round(e*h),l/he&&--u,h=-h):(h=Math.pow(10,i)*s,l=Math.round(t/h),u=Math.round(e/h),l*he&&--u),u0))return[];if(t===e)return[t];let n=e=i))return[];let l=a-i+1,u=new Array(l);if(n)if(s<0)for(let h=0;h{"use strict";rTe=Math.sqrt(50),nTe=Math.sqrt(10),iTe=Math.sqrt(2);o(z3,"tickSpec");o(G3,"ticks");o(av,"tickIncrement");o(w0,"tickStep")});function V3(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var WV=N(()=>{"use strict";o(V3,"max")});function U3(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var qV=N(()=>{"use strict";o(U3,"min")});function H3(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n{"use strict";o(H3,"range")});var bh=N(()=>{"use strict";GV();LA();WV();qV();YV();HV();UV()});function MA(t){return t}var XV=N(()=>{"use strict";o(MA,"default")});function aTe(t){return"translate("+t+",0)"}function sTe(t){return"translate(0,"+t+")"}function oTe(t){return e=>+t(e)}function lTe(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function cTe(){return!this.__axis}function KV(t,e){var r=[],n=null,i=null,a=6,s=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,h=t===q3||t===W3?-1:1,f=t===W3||t===IA?"x":"y",d=t===q3||t===OA?aTe:sTe;function p(m){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),y=i??(e.tickFormat?e.tickFormat.apply(e,r):MA),v=Math.max(a,0)+l,x=e.range(),b=+x[0]+u,T=+x[x.length-1]+u,C=(e.bandwidth?lTe:oTe)(e.copy(),u),w=m.selection?m.selection():m,E=w.selectAll(".domain").data([null]),_=w.selectAll(".tick").data(g,e).order(),A=_.exit(),D=_.enter().append("g").attr("class","tick"),O=_.select("line"),R=_.select("text");E=E.merge(E.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),_=_.merge(D),O=O.merge(D.append("line").attr("stroke","currentColor").attr(f+"2",h*a)),R=R.merge(D.append("text").attr("fill","currentColor").attr(f,h*v).attr("dy",t===q3?"0em":t===OA?"0.71em":"0.32em")),m!==w&&(E=E.transition(m),_=_.transition(m),O=O.transition(m),R=R.transition(m),A=A.transition(m).attr("opacity",jV).attr("transform",function(k){return isFinite(k=C(k))?d(k+u):this.getAttribute("transform")}),D.attr("opacity",jV).attr("transform",function(k){var L=this.parentNode.__axis;return d((L&&isFinite(L=L(k))?L:C(k))+u)})),A.remove(),E.attr("d",t===W3||t===IA?s?"M"+h*s+","+b+"H"+u+"V"+T+"H"+h*s:"M"+u+","+b+"V"+T:s?"M"+b+","+h*s+"V"+u+"H"+T+"V"+h*s:"M"+b+","+u+"H"+T),_.attr("opacity",1).attr("transform",function(k){return d(C(k)+u)}),O.attr(f+"2",h*a),R.attr(f,h*v).text(y),w.filter(cTe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===IA?"start":t===W3?"end":"middle"),w.each(function(){this.__axis=C})}return o(p,"axis"),p.scale=function(m){return arguments.length?(e=m,p):e},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(m){return arguments.length?(r=m==null?[]:Array.from(m),p):r.slice()},p.tickValues=function(m){return arguments.length?(n=m==null?null:Array.from(m),p):n&&n.slice()},p.tickFormat=function(m){return arguments.length?(i=m,p):i},p.tickSize=function(m){return arguments.length?(a=s=+m,p):a},p.tickSizeInner=function(m){return arguments.length?(a=+m,p):a},p.tickSizeOuter=function(m){return arguments.length?(s=+m,p):s},p.tickPadding=function(m){return arguments.length?(l=+m,p):l},p.offset=function(m){return arguments.length?(u=+m,p):u},p}function PA(t){return KV(q3,t)}function BA(t){return KV(OA,t)}var q3,IA,OA,W3,jV,QV=N(()=>{"use strict";XV();q3=1,IA=2,OA=3,W3=4,jV=1e-6;o(aTe,"translateX");o(sTe,"translateY");o(oTe,"number");o(lTe,"center");o(cTe,"entering");o(KV,"axis");o(PA,"axisTop");o(BA,"axisBottom")});var ZV=N(()=>{"use strict";QV()});function eU(){for(var t=0,e=arguments.length,r={},n;t=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}function fTe(t,e){for(var r=0,n=t.length,i;r{"use strict";uTe={value:o(()=>{},"value")};o(eU,"dispatch");o(Y3,"Dispatch");o(hTe,"parseTypenames");Y3.prototype=eU.prototype={constructor:Y3,on:o(function(t,e){var r=this._,n=hTe(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a0)for(var r=new Array(i),n=0,i,a;n{"use strict";tU()});var X3,zA,GA=N(()=>{"use strict";X3="http://www.w3.org/1999/xhtml",zA={svg:"http://www.w3.org/2000/svg",xhtml:X3,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}});function ic(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),zA.hasOwnProperty(e)?{space:zA[e],local:t}:t}var j3=N(()=>{"use strict";GA();o(ic,"default")});function dTe(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===X3&&e.documentElement.namespaceURI===X3?e.createElement(t):e.createElementNS(r,t)}}function pTe(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function sv(t){var e=ic(t);return(e.local?pTe:dTe)(e)}var VA=N(()=>{"use strict";j3();GA();o(dTe,"creatorInherit");o(pTe,"creatorFixed");o(sv,"default")});function mTe(){}function Th(t){return t==null?mTe:function(){return this.querySelector(t)}}var K3=N(()=>{"use strict";o(mTe,"none");o(Th,"default")});function UA(t){typeof t!="function"&&(t=Th(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";pl();K3();o(UA,"default")});function HA(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}var nU=N(()=>{"use strict";o(HA,"array")});function gTe(){return[]}function k0(t){return t==null?gTe:function(){return this.querySelectorAll(t)}}var WA=N(()=>{"use strict";o(gTe,"empty");o(k0,"default")});function yTe(t){return function(){return HA(t.apply(this,arguments))}}function qA(t){typeof t=="function"?t=yTe(t):t=k0(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a{"use strict";pl();nU();WA();o(yTe,"arrayAll");o(qA,"default")});function E0(t){return function(){return this.matches(t)}}function Q3(t){return function(e){return e.matches(t)}}var ov=N(()=>{"use strict";o(E0,"default");o(Q3,"childMatcher")});function xTe(t){return function(){return vTe.call(this.children,t)}}function bTe(){return this.firstElementChild}function YA(t){return this.select(t==null?bTe:xTe(typeof t=="function"?t:Q3(t)))}var vTe,aU=N(()=>{"use strict";ov();vTe=Array.prototype.find;o(xTe,"childFind");o(bTe,"childFirst");o(YA,"default")});function wTe(){return Array.from(this.children)}function kTe(t){return function(){return TTe.call(this.children,t)}}function XA(t){return this.selectAll(t==null?wTe:kTe(typeof t=="function"?t:Q3(t)))}var TTe,sU=N(()=>{"use strict";ov();TTe=Array.prototype.filter;o(wTe,"children");o(kTe,"childrenFilter");o(XA,"default")});function jA(t){typeof t!="function"&&(t=E0(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";pl();ov();o(jA,"default")});function lv(t){return new Array(t.length)}var KA=N(()=>{"use strict";o(lv,"default")});function QA(){return new ui(this._enter||this._groups.map(lv),this._parents)}function cv(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}var ZA=N(()=>{"use strict";KA();pl();o(QA,"default");o(cv,"EnterNode");cv.prototype={constructor:cv,appendChild:o(function(t){return this._parent.insertBefore(t,this._next)},"appendChild"),insertBefore:o(function(t,e){return this._parent.insertBefore(t,e)},"insertBefore"),querySelector:o(function(t){return this._parent.querySelector(t)},"querySelector"),querySelectorAll:o(function(t){return this._parent.querySelectorAll(t)},"querySelectorAll")}});function JA(t){return function(){return t}}var lU=N(()=>{"use strict";o(JA,"default")});function ETe(t,e,r,n,i,a){for(var s=0,l,u=e.length,h=a.length;s=T&&(T=b+1);!(w=v[T])&&++T{"use strict";pl();ZA();lU();o(ETe,"bindIndex");o(STe,"bindKey");o(CTe,"datum");o(e8,"default");o(ATe,"arraylike")});function t8(){return new ui(this._exit||this._groups.map(lv),this._parents)}var uU=N(()=>{"use strict";KA();pl();o(t8,"default")});function r8(t,e,r){var n=this.enter(),i=this,a=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),r==null?a.remove():r(a),n&&i?n.merge(i).order():i}var hU=N(()=>{"use strict";o(r8,"default")});function n8(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,s=Math.min(i,a),l=new Array(i),u=0;u{"use strict";pl();o(n8,"default")});function i8(){for(var t=this._groups,e=-1,r=t.length;++e=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}var dU=N(()=>{"use strict";o(i8,"default")});function a8(t){t||(t=_Te);function e(d,p){return d&&p?t(d.__data__,p.__data__):!d-!p}o(e,"compareNode");for(var r=this._groups,n=r.length,i=new Array(n),a=0;ae?1:t>=e?0:NaN}var pU=N(()=>{"use strict";pl();o(a8,"default");o(_Te,"ascending")});function s8(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}var mU=N(()=>{"use strict";o(s8,"default")});function o8(){return Array.from(this)}var gU=N(()=>{"use strict";o(o8,"default")});function l8(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(l8,"default")});function c8(){let t=0;for(let e of this)++t;return t}var vU=N(()=>{"use strict";o(c8,"default")});function u8(){return!this.node()}var xU=N(()=>{"use strict";o(u8,"default")});function h8(t){for(var e=this._groups,r=0,n=e.length;r{"use strict";o(h8,"default")});function DTe(t){return function(){this.removeAttribute(t)}}function LTe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function RTe(t,e){return function(){this.setAttribute(t,e)}}function NTe(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function MTe(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function ITe(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function f8(t,e){var r=ic(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?LTe:DTe:typeof e=="function"?r.local?ITe:MTe:r.local?NTe:RTe)(r,e))}var TU=N(()=>{"use strict";j3();o(DTe,"attrRemove");o(LTe,"attrRemoveNS");o(RTe,"attrConstant");o(NTe,"attrConstantNS");o(MTe,"attrFunction");o(ITe,"attrFunctionNS");o(f8,"default")});function uv(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}var d8=N(()=>{"use strict";o(uv,"default")});function OTe(t){return function(){this.style.removeProperty(t)}}function PTe(t,e,r){return function(){this.style.setProperty(t,e,r)}}function BTe(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function p8(t,e,r){return arguments.length>1?this.each((e==null?OTe:typeof e=="function"?BTe:PTe)(t,e,r??"")):wh(this.node(),t)}function wh(t,e){return t.style.getPropertyValue(e)||uv(t).getComputedStyle(t,null).getPropertyValue(e)}var m8=N(()=>{"use strict";d8();o(OTe,"styleRemove");o(PTe,"styleConstant");o(BTe,"styleFunction");o(p8,"default");o(wh,"styleValue")});function FTe(t){return function(){delete this[t]}}function $Te(t,e){return function(){this[t]=e}}function zTe(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function g8(t,e){return arguments.length>1?this.each((e==null?FTe:typeof e=="function"?zTe:$Te)(t,e)):this.node()[t]}var wU=N(()=>{"use strict";o(FTe,"propertyRemove");o($Te,"propertyConstant");o(zTe,"propertyFunction");o(g8,"default")});function kU(t){return t.trim().split(/^|\s+/)}function y8(t){return t.classList||new EU(t)}function EU(t){this._node=t,this._names=kU(t.getAttribute("class")||"")}function SU(t,e){for(var r=y8(t),n=-1,i=e.length;++n{"use strict";o(kU,"classArray");o(y8,"classList");o(EU,"ClassList");EU.prototype={add:o(function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},"add"),remove:o(function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},"remove"),contains:o(function(t){return this._names.indexOf(t)>=0},"contains")};o(SU,"classedAdd");o(CU,"classedRemove");o(GTe,"classedTrue");o(VTe,"classedFalse");o(UTe,"classedFunction");o(v8,"default")});function HTe(){this.textContent=""}function WTe(t){return function(){this.textContent=t}}function qTe(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function x8(t){return arguments.length?this.each(t==null?HTe:(typeof t=="function"?qTe:WTe)(t)):this.node().textContent}var _U=N(()=>{"use strict";o(HTe,"textRemove");o(WTe,"textConstant");o(qTe,"textFunction");o(x8,"default")});function YTe(){this.innerHTML=""}function XTe(t){return function(){this.innerHTML=t}}function jTe(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function b8(t){return arguments.length?this.each(t==null?YTe:(typeof t=="function"?jTe:XTe)(t)):this.node().innerHTML}var DU=N(()=>{"use strict";o(YTe,"htmlRemove");o(XTe,"htmlConstant");o(jTe,"htmlFunction");o(b8,"default")});function KTe(){this.nextSibling&&this.parentNode.appendChild(this)}function T8(){return this.each(KTe)}var LU=N(()=>{"use strict";o(KTe,"raise");o(T8,"default")});function QTe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function w8(){return this.each(QTe)}var RU=N(()=>{"use strict";o(QTe,"lower");o(w8,"default")});function k8(t){var e=typeof t=="function"?t:sv(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}var NU=N(()=>{"use strict";VA();o(k8,"default")});function ZTe(){return null}function E8(t,e){var r=typeof t=="function"?t:sv(t),n=e==null?ZTe:typeof e=="function"?e:Th(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}var MU=N(()=>{"use strict";VA();K3();o(ZTe,"constantNull");o(E8,"default")});function JTe(){var t=this.parentNode;t&&t.removeChild(this)}function S8(){return this.each(JTe)}var IU=N(()=>{"use strict";o(JTe,"remove");o(S8,"default")});function ewe(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function twe(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function C8(t){return this.select(t?twe:ewe)}var OU=N(()=>{"use strict";o(ewe,"selection_cloneShallow");o(twe,"selection_cloneDeep");o(C8,"default")});function A8(t){return arguments.length?this.property("__data__",t):this.node().__data__}var PU=N(()=>{"use strict";o(A8,"default")});function rwe(t){return function(e){t.call(this,e,this.__data__)}}function nwe(t){return t.trim().split(/^|\s+/).map(function(e){var r="",n=e.indexOf(".");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function iwe(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r{"use strict";o(rwe,"contextListener");o(nwe,"parseTypenames");o(iwe,"onRemove");o(awe,"onAdd");o(_8,"default")});function FU(t,e,r){var n=uv(t),i=n.CustomEvent;typeof i=="function"?i=new i(e,r):(i=n.document.createEvent("Event"),r?(i.initEvent(e,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function swe(t,e){return function(){return FU(this,t,e)}}function owe(t,e){return function(){return FU(this,t,e.apply(this,arguments))}}function D8(t,e){return this.each((typeof e=="function"?owe:swe)(t,e))}var $U=N(()=>{"use strict";d8();o(FU,"dispatchEvent");o(swe,"dispatchConstant");o(owe,"dispatchFunction");o(D8,"default")});function*L8(){for(var t=this._groups,e=0,r=t.length;e{"use strict";o(L8,"default")});function ui(t,e){this._groups=t,this._parents=e}function GU(){return new ui([[document.documentElement]],R8)}function lwe(){return this}var R8,pu,pl=N(()=>{"use strict";rU();iU();aU();sU();oU();cU();ZA();uU();hU();fU();dU();pU();mU();gU();yU();vU();xU();bU();TU();m8();wU();AU();_U();DU();LU();RU();NU();MU();IU();OU();PU();BU();$U();zU();R8=[null];o(ui,"Selection");o(GU,"selection");o(lwe,"selection_selection");ui.prototype=GU.prototype={constructor:ui,select:UA,selectAll:qA,selectChild:YA,selectChildren:XA,filter:jA,data:e8,enter:QA,exit:t8,join:r8,merge:n8,selection:lwe,order:i8,sort:a8,call:s8,nodes:o8,node:l8,size:c8,empty:u8,each:h8,attr:f8,style:p8,property:g8,classed:v8,text:x8,html:b8,raise:T8,lower:w8,append:k8,insert:E8,remove:S8,clone:C8,datum:A8,on:_8,dispatch:D8,[Symbol.iterator]:L8};pu=GU});function Ge(t){return typeof t=="string"?new ui([[document.querySelector(t)]],[document.documentElement]):new ui([[t]],R8)}var VU=N(()=>{"use strict";pl();o(Ge,"default")});var ml=N(()=>{"use strict";ov();j3();VU();pl();K3();WA();m8()});var UU=N(()=>{"use strict"});function kh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function S0(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}var N8=N(()=>{"use strict";o(kh,"default");o(S0,"extend")});function Eh(){}function WU(){return this.rgb().formatHex()}function gwe(){return this.rgb().formatHex8()}function ywe(){return ZU(this).formatHsl()}function qU(){return this.rgb().formatRgb()}function yl(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=cwe.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?YU(e):r===3?new oa(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Z3(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Z3(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=uwe.exec(t))?new oa(e[1],e[2],e[3],1):(e=hwe.exec(t))?new oa(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=fwe.exec(t))?Z3(e[1],e[2],e[3],e[4]):(e=dwe.exec(t))?Z3(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=pwe.exec(t))?KU(e[1],e[2]/100,e[3]/100,1):(e=mwe.exec(t))?KU(e[1],e[2]/100,e[3]/100,e[4]):HU.hasOwnProperty(t)?YU(HU[t]):t==="transparent"?new oa(NaN,NaN,NaN,0):null}function YU(t){return new oa(t>>16&255,t>>8&255,t&255,1)}function Z3(t,e,r,n){return n<=0&&(t=e=r=NaN),new oa(t,e,r,n)}function I8(t){return t instanceof Eh||(t=yl(t)),t?(t=t.rgb(),new oa(t.r,t.g,t.b,t.opacity)):new oa}function A0(t,e,r,n){return arguments.length===1?I8(t):new oa(t,e,r,n??1)}function oa(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function XU(){return`#${cd(this.r)}${cd(this.g)}${cd(this.b)}`}function vwe(){return`#${cd(this.r)}${cd(this.g)}${cd(this.b)}${cd((isNaN(this.opacity)?1:this.opacity)*255)}`}function jU(){let t=t5(this.opacity);return`${t===1?"rgb(":"rgba("}${ud(this.r)}, ${ud(this.g)}, ${ud(this.b)}${t===1?")":`, ${t})`}`}function t5(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ud(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function cd(t){return t=ud(t),(t<16?"0":"")+t.toString(16)}function KU(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new gl(t,e,r,n)}function ZU(t){if(t instanceof gl)return new gl(t.h,t.s,t.l,t.opacity);if(t instanceof Eh||(t=yl(t)),!t)return new gl;if(t instanceof gl)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,l=a-i,u=(a+i)/2;return l?(e===a?s=(r-n)/l+(r0&&u<1?0:s,new gl(s,l,u,t.opacity)}function JU(t,e,r,n){return arguments.length===1?ZU(t):new gl(t,e,r,n??1)}function gl(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function QU(t){return t=(t||0)%360,t<0?t+360:t}function J3(t){return Math.max(0,Math.min(1,t||0))}function M8(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}var hv,e5,C0,fv,ac,cwe,uwe,hwe,fwe,dwe,pwe,mwe,HU,O8=N(()=>{"use strict";N8();o(Eh,"Color");hv=.7,e5=1/hv,C0="\\s*([+-]?\\d+)\\s*",fv="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ac="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",cwe=/^#([0-9a-f]{3,8})$/,uwe=new RegExp(`^rgb\\(${C0},${C0},${C0}\\)$`),hwe=new RegExp(`^rgb\\(${ac},${ac},${ac}\\)$`),fwe=new RegExp(`^rgba\\(${C0},${C0},${C0},${fv}\\)$`),dwe=new RegExp(`^rgba\\(${ac},${ac},${ac},${fv}\\)$`),pwe=new RegExp(`^hsl\\(${fv},${ac},${ac}\\)$`),mwe=new RegExp(`^hsla\\(${fv},${ac},${ac},${fv}\\)$`),HU={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};kh(Eh,yl,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:WU,formatHex:WU,formatHex8:gwe,formatHsl:ywe,formatRgb:qU,toString:qU});o(WU,"color_formatHex");o(gwe,"color_formatHex8");o(ywe,"color_formatHsl");o(qU,"color_formatRgb");o(yl,"color");o(YU,"rgbn");o(Z3,"rgba");o(I8,"rgbConvert");o(A0,"rgb");o(oa,"Rgb");kh(oa,A0,S0(Eh,{brighter(t){return t=t==null?e5:Math.pow(e5,t),new oa(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?hv:Math.pow(hv,t),new oa(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new oa(ud(this.r),ud(this.g),ud(this.b),t5(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:XU,formatHex:XU,formatHex8:vwe,formatRgb:jU,toString:jU}));o(XU,"rgb_formatHex");o(vwe,"rgb_formatHex8");o(jU,"rgb_formatRgb");o(t5,"clampa");o(ud,"clampi");o(cd,"hex");o(KU,"hsla");o(ZU,"hslConvert");o(JU,"hsl");o(gl,"Hsl");kh(gl,JU,S0(Eh,{brighter(t){return t=t==null?e5:Math.pow(e5,t),new gl(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?hv:Math.pow(hv,t),new gl(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new oa(M8(t>=240?t-240:t+120,i,n),M8(t,i,n),M8(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new gl(QU(this.h),J3(this.s),J3(this.l),t5(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=t5(this.opacity);return`${t===1?"hsl(":"hsla("}${QU(this.h)}, ${J3(this.s)*100}%, ${J3(this.l)*100}%${t===1?")":`, ${t})`}`}}));o(QU,"clamph");o(J3,"clampt");o(M8,"hsl2rgb")});var eH,tH,rH=N(()=>{"use strict";eH=Math.PI/180,tH=180/Math.PI});function lH(t){if(t instanceof sc)return new sc(t.l,t.a,t.b,t.opacity);if(t instanceof mu)return cH(t);t instanceof oa||(t=I8(t));var e=$8(t.r),r=$8(t.g),n=$8(t.b),i=P8((.2225045*e+.7168786*r+.0606169*n)/iH),a,s;return e===r&&r===n?a=s=i:(a=P8((.4360747*e+.3850649*r+.1430804*n)/nH),s=P8((.0139322*e+.0971045*r+.7141733*n)/aH)),new sc(116*i-16,500*(a-i),200*(i-s),t.opacity)}function z8(t,e,r,n){return arguments.length===1?lH(t):new sc(t,e,r,n??1)}function sc(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function P8(t){return t>xwe?Math.pow(t,1/3):t/oH+sH}function B8(t){return t>_0?t*t*t:oH*(t-sH)}function F8(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function $8(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function bwe(t){if(t instanceof mu)return new mu(t.h,t.c,t.l,t.opacity);if(t instanceof sc||(t=lH(t)),t.a===0&&t.b===0)return new mu(NaN,0{"use strict";N8();O8();rH();r5=18,nH=.96422,iH=1,aH=.82521,sH=4/29,_0=6/29,oH=3*_0*_0,xwe=_0*_0*_0;o(lH,"labConvert");o(z8,"lab");o(sc,"Lab");kh(sc,z8,S0(Eh,{brighter(t){return new sc(this.l+r5*(t??1),this.a,this.b,this.opacity)},darker(t){return new sc(this.l-r5*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=nH*B8(e),t=iH*B8(t),r=aH*B8(r),new oa(F8(3.1338561*e-1.6168667*t-.4906146*r),F8(-.9787684*e+1.9161415*t+.033454*r),F8(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));o(P8,"xyz2lab");o(B8,"lab2xyz");o(F8,"lrgb2rgb");o($8,"rgb2lrgb");o(bwe,"hclConvert");o(dv,"hcl");o(mu,"Hcl");o(cH,"hcl2lab");kh(mu,dv,S0(Eh,{brighter(t){return new mu(this.h,this.c,this.l+r5*(t??1),this.opacity)},darker(t){return new mu(this.h,this.c,this.l-r5*(t??1),this.opacity)},rgb(){return cH(this).rgb()}}))});var D0=N(()=>{"use strict";O8();uH()});function G8(t,e,r,n,i){var a=t*t,s=a*t;return((1-3*t+3*a-s)*e+(4-6*a+3*s)*r+(1+3*t+3*a-3*s)*n+s*i)/6}function V8(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],s=n>0?t[n-1]:2*i-a,l=n{"use strict";o(G8,"basis");o(V8,"default")});function H8(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],s=t[(n+1)%e],l=t[(n+2)%e];return G8((r-n/e)*e,i,a,s,l)}}var hH=N(()=>{"use strict";U8();o(H8,"default")});var L0,W8=N(()=>{"use strict";L0=o(t=>()=>t,"default")});function fH(t,e){return function(r){return t+r*e}}function Twe(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function dH(t,e){var r=e-t;return r?fH(t,r>180||r<-180?r-360*Math.round(r/360):r):L0(isNaN(t)?e:t)}function pH(t){return(t=+t)==1?gu:function(e,r){return r-e?Twe(e,r,t):L0(isNaN(e)?r:e)}}function gu(t,e){var r=e-t;return r?fH(t,r):L0(isNaN(t)?e:t)}var q8=N(()=>{"use strict";W8();o(fH,"linear");o(Twe,"exponential");o(dH,"hue");o(pH,"gamma");o(gu,"nogamma")});function mH(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),a=new Array(r),s,l;for(s=0;s{"use strict";D0();U8();hH();q8();hd=o(function t(e){var r=pH(e);function n(i,a){var s=r((i=A0(i)).r,(a=A0(a)).r),l=r(i.g,a.g),u=r(i.b,a.b),h=gu(i.opacity,a.opacity);return function(f){return i.r=s(f),i.g=l(f),i.b=u(f),i.opacity=h(f),i+""}}return o(n,"rgb"),n.gamma=t,n},"rgbGamma")(1);o(mH,"rgbSpline");wwe=mH(V8),kwe=mH(H8)});function X8(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;i{"use strict";o(X8,"default");o(gH,"isNumberArray")});function vH(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),a=new Array(r),s;for(s=0;s{"use strict";n5();o(vH,"genericArray")});function j8(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}var bH=N(()=>{"use strict";o(j8,"default")});function Xi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}var pv=N(()=>{"use strict";o(Xi,"default")});function K8(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=Sh(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var TH=N(()=>{"use strict";n5();o(K8,"default")});function Ewe(t){return function(){return t}}function Swe(t){return function(e){return t(e)+""}}function R0(t,e){var r=Z8.lastIndex=Q8.lastIndex=0,n,i,a,s=-1,l=[],u=[];for(t=t+"",e=e+"";(n=Z8.exec(t))&&(i=Q8.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),l[s]?l[s]+=a:l[++s]=a),(n=n[0])===(i=i[0])?l[s]?l[s]+=i:l[++s]=i:(l[++s]=null,u.push({i:s,x:Xi(n,i)})),r=Q8.lastIndex;return r{"use strict";pv();Z8=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Q8=new RegExp(Z8.source,"g");o(Ewe,"zero");o(Swe,"one");o(R0,"default")});function Sh(t,e){var r=typeof e,n;return e==null||r==="boolean"?L0(e):(r==="number"?Xi:r==="string"?(n=yl(e))?(e=n,hd):R0:e instanceof yl?hd:e instanceof Date?j8:gH(e)?X8:Array.isArray(e)?vH:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?K8:Xi)(t,e)}var n5=N(()=>{"use strict";D0();Y8();xH();bH();pv();TH();J8();W8();yH();o(Sh,"default")});function i5(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var wH=N(()=>{"use strict";o(i5,"default")});function s5(t,e,r,n,i,a){var s,l,u;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(u=t*r+e*n)&&(r-=t*u,n-=e*u),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,u/=l),t*n{"use strict";kH=180/Math.PI,a5={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};o(s5,"default")});function SH(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?a5:s5(e.a,e.b,e.c,e.d,e.e,e.f)}function CH(t){return t==null?a5:(o5||(o5=document.createElementNS("http://www.w3.org/2000/svg","g")),o5.setAttribute("transform",t),(t=o5.transform.baseVal.consolidate())?(t=t.matrix,s5(t.a,t.b,t.c,t.d,t.e,t.f)):a5)}var o5,AH=N(()=>{"use strict";EH();o(SH,"parseCss");o(CH,"parseSvg")});function _H(t,e,r,n){function i(h){return h.length?h.pop()+" ":""}o(i,"pop");function a(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push("translate(",null,e,null,r);g.push({i:y-4,x:Xi(h,d)},{i:y-2,x:Xi(f,p)})}else(d||p)&&m.push("translate("+d+e+p+r)}o(a,"translate");function s(h,f,d,p){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),p.push({i:d.push(i(d)+"rotate(",null,n)-2,x:Xi(h,f)})):f&&d.push(i(d)+"rotate("+f+n)}o(s,"rotate");function l(h,f,d,p){h!==f?p.push({i:d.push(i(d)+"skewX(",null,n)-2,x:Xi(h,f)}):f&&d.push(i(d)+"skewX("+f+n)}o(l,"skewX");function u(h,f,d,p,m,g){if(h!==d||f!==p){var y=m.push(i(m)+"scale(",null,",",null,")");g.push({i:y-4,x:Xi(h,d)},{i:y-2,x:Xi(f,p)})}else(d!==1||p!==1)&&m.push(i(m)+"scale("+d+","+p+")")}return o(u,"scale"),function(h,f){var d=[],p=[];return h=t(h),f=t(f),a(h.translateX,h.translateY,f.translateX,f.translateY,d,p),s(h.rotate,f.rotate,d,p),l(h.skewX,f.skewX,d,p),u(h.scaleX,h.scaleY,f.scaleX,f.scaleY,d,p),h=f=null,function(m){for(var g=-1,y=p.length,v;++g{"use strict";pv();AH();o(_H,"interpolateTransform");e_=_H(SH,"px, ","px)","deg)"),t_=_H(CH,", ",")",")")});function LH(t){return function(e,r){var n=t((e=dv(e)).h,(r=dv(r)).h),i=gu(e.c,r.c),a=gu(e.l,r.l),s=gu(e.opacity,r.opacity);return function(l){return e.h=n(l),e.c=i(l),e.l=a(l),e.opacity=s(l),e+""}}}var r_,Cwe,RH=N(()=>{"use strict";D0();q8();o(LH,"hcl");r_=LH(dH),Cwe=LH(gu)});var N0=N(()=>{"use strict";n5();pv();wH();J8();DH();Y8();RH()});function bv(){return fd||(IH(Awe),fd=vv.now()+u5)}function Awe(){fd=0}function xv(){this._call=this._time=this._next=null}function h5(t,e,r){var n=new xv;return n.restart(t,e,r),n}function OH(){bv(),++M0;for(var t=l5,e;t;)(e=fd-t._time)>=0&&t._call.call(void 0,e),t=t._next;--M0}function NH(){fd=(c5=vv.now())+u5,M0=gv=0;try{OH()}finally{M0=0,Dwe(),fd=0}}function _we(){var t=vv.now(),e=t-c5;e>MH&&(u5-=e,c5=t)}function Dwe(){for(var t,e=l5,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:l5=r);yv=t,n_(n)}function n_(t){if(!M0){gv&&(gv=clearTimeout(gv));var e=t-fd;e>24?(t<1/0&&(gv=setTimeout(NH,t-vv.now()-u5)),mv&&(mv=clearInterval(mv))):(mv||(c5=vv.now(),mv=setInterval(_we,MH)),M0=1,IH(NH))}}var M0,gv,mv,MH,l5,yv,c5,fd,u5,vv,IH,i_=N(()=>{"use strict";M0=0,gv=0,mv=0,MH=1e3,c5=0,fd=0,u5=0,vv=typeof performance=="object"&&performance.now?performance:Date,IH=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};o(bv,"now");o(Awe,"clearNow");o(xv,"Timer");xv.prototype=h5.prototype={constructor:xv,restart:o(function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?bv():+r)+(e==null?0:+e),!this._next&&yv!==this&&(yv?yv._next=this:l5=this,yv=this),this._call=t,this._time=r,n_()},"restart"),stop:o(function(){this._call&&(this._call=null,this._time=1/0,n_())},"stop")};o(h5,"timer");o(OH,"timerFlush");o(NH,"wake");o(_we,"poke");o(Dwe,"nap");o(n_,"sleep")});function Tv(t,e,r){var n=new xv;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var PH=N(()=>{"use strict";i_();o(Tv,"default")});var f5=N(()=>{"use strict";i_();PH()});function yu(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;Nwe(t,r,{name:e,index:n,group:i,on:Lwe,tween:Rwe,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:$H})}function kv(t,e){var r=Fi(t,e);if(r.state>$H)throw new Error("too late; already scheduled");return r}function la(t,e){var r=Fi(t,e);if(r.state>d5)throw new Error("too late; already running");return r}function Fi(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function Nwe(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=h5(a,0,r.time);function a(h){r.state=BH,r.timer.restart(s,r.delay,r.time),r.delay<=h&&s(h-r.delay)}o(a,"schedule");function s(h){var f,d,p,m;if(r.state!==BH)return u();for(f in n)if(m=n[f],m.name===r.name){if(m.state===d5)return Tv(s);m.state===FH?(m.state=wv,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete n[f]):+f{"use strict";$A();f5();Lwe=FA("start","end","cancel","interrupt"),Rwe=[],$H=0,BH=1,p5=2,d5=3,FH=4,m5=5,wv=6;o(yu,"default");o(kv,"init");o(la,"set");o(Fi,"get");o(Nwe,"create")});function Ev(t,e){var r=t.__transition,n,i,a=!0,s;if(r){e=e==null?null:e+"";for(s in r){if((n=r[s]).name!==e){a=!1;continue}i=n.state>p5&&n.state{"use strict";Ss();o(Ev,"default")});function a_(t){return this.each(function(){Ev(this,t)})}var GH=N(()=>{"use strict";zH();o(a_,"default")});function Mwe(t,e){var r,n;return function(){var i=la(this,t),a=i.tween;if(a!==r){n=r=a;for(var s=0,l=n.length;s{"use strict";Ss();o(Mwe,"tweenRemove");o(Iwe,"tweenFunction");o(s_,"default");o(I0,"tweenValue")});function Cv(t,e){var r;return(typeof e=="number"?Xi:e instanceof yl?hd:(r=yl(e))?(e=r,hd):R0)(t,e)}var o_=N(()=>{"use strict";D0();N0();o(Cv,"default")});function Owe(t){return function(){this.removeAttribute(t)}}function Pwe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Bwe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttribute(t);return s===i?null:s===n?a:a=e(n=s,r)}}function Fwe(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===n?a:a=e(n=s,r)}}function $we(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttribute(t):(s=this.getAttribute(t),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function zwe(t,e,r){var n,i,a;return function(){var s,l=r(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),u=l+"",s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l)))}}function l_(t,e){var r=ic(t),n=r==="transform"?t_:Cv;return this.attrTween(t,typeof e=="function"?(r.local?zwe:$we)(r,n,I0(this,"attr."+t,e)):e==null?(r.local?Pwe:Owe)(r):(r.local?Fwe:Bwe)(r,n,e))}var VH=N(()=>{"use strict";N0();ml();Sv();o_();o(Owe,"attrRemove");o(Pwe,"attrRemoveNS");o(Bwe,"attrConstant");o(Fwe,"attrConstantNS");o($we,"attrFunction");o(zwe,"attrFunctionNS");o(l_,"default")});function Gwe(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function Vwe(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function Uwe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&Vwe(t,a)),r}return o(i,"tween"),i._value=e,i}function Hwe(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&Gwe(t,a)),r}return o(i,"tween"),i._value=e,i}function c_(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=ic(t);return this.tween(r,(n.local?Uwe:Hwe)(n,e))}var UH=N(()=>{"use strict";ml();o(Gwe,"attrInterpolate");o(Vwe,"attrInterpolateNS");o(Uwe,"attrTweenNS");o(Hwe,"attrTween");o(c_,"default")});function Wwe(t,e){return function(){kv(this,t).delay=+e.apply(this,arguments)}}function qwe(t,e){return e=+e,function(){kv(this,t).delay=e}}function u_(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Wwe:qwe)(e,t)):Fi(this.node(),e).delay}var HH=N(()=>{"use strict";Ss();o(Wwe,"delayFunction");o(qwe,"delayConstant");o(u_,"default")});function Ywe(t,e){return function(){la(this,t).duration=+e.apply(this,arguments)}}function Xwe(t,e){return e=+e,function(){la(this,t).duration=e}}function h_(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Ywe:Xwe)(e,t)):Fi(this.node(),e).duration}var WH=N(()=>{"use strict";Ss();o(Ywe,"durationFunction");o(Xwe,"durationConstant");o(h_,"default")});function jwe(t,e){if(typeof e!="function")throw new Error;return function(){la(this,t).ease=e}}function f_(t){var e=this._id;return arguments.length?this.each(jwe(e,t)):Fi(this.node(),e).ease}var qH=N(()=>{"use strict";Ss();o(jwe,"easeConstant");o(f_,"default")});function Kwe(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;la(this,t).ease=r}}function d_(t){if(typeof t!="function")throw new Error;return this.each(Kwe(this._id,t))}var YH=N(()=>{"use strict";Ss();o(Kwe,"easeVarying");o(d_,"default")});function p_(t){typeof t!="function"&&(t=E0(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i{"use strict";ml();dd();o(p_,"default")});function m_(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),s=new Array(n),l=0;l{"use strict";dd();o(m_,"default")});function Qwe(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function Zwe(t,e,r){var n,i,a=Qwe(e)?kv:la;return function(){var s=a(this,t),l=s.on;l!==n&&(i=(n=l).copy()).on(e,r),s.on=i}}function g_(t,e){var r=this._id;return arguments.length<2?Fi(this.node(),r).on.on(t):this.each(Zwe(r,t,e))}var KH=N(()=>{"use strict";Ss();o(Qwe,"start");o(Zwe,"onFunction");o(g_,"default")});function Jwe(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function y_(){return this.on("end.remove",Jwe(this._id))}var QH=N(()=>{"use strict";o(Jwe,"removeFunction");o(y_,"default")});function v_(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Th(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s{"use strict";ml();dd();Ss();o(v_,"default")});function x_(t){var e=this._name,r=this._id;typeof t!="function"&&(t=k0(t));for(var n=this._groups,i=n.length,a=[],s=[],l=0;l{"use strict";ml();dd();Ss();o(x_,"default")});function b_(){return new eke(this._groups,this._parents)}var eke,eW=N(()=>{"use strict";ml();eke=pu.prototype.constructor;o(b_,"default")});function tke(t,e){var r,n,i;return function(){var a=wh(this,t),s=(this.style.removeProperty(t),wh(this,t));return a===s?null:a===r&&s===n?i:i=e(r=a,n=s)}}function tW(t){return function(){this.style.removeProperty(t)}}function rke(t,e,r){var n,i=r+"",a;return function(){var s=wh(this,t);return s===i?null:s===n?a:a=e(n=s,r)}}function nke(t,e,r){var n,i,a;return function(){var s=wh(this,t),l=r(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),wh(this,t))),s===u?null:s===n&&u===i?a:(i=u,a=e(n=s,l))}}function ike(t,e){var r,n,i,a="style."+e,s="end."+a,l;return function(){var u=la(this,t),h=u.on,f=u.value[a]==null?l||(l=tW(e)):void 0;(h!==r||i!==f)&&(n=(r=h).copy()).on(s,i=f),u.on=n}}function T_(t,e,r){var n=(t+="")=="transform"?e_:Cv;return e==null?this.styleTween(t,tke(t,n)).on("end.style."+t,tW(t)):typeof e=="function"?this.styleTween(t,nke(t,n,I0(this,"style."+t,e))).each(ike(this._id,t)):this.styleTween(t,rke(t,n,e),r).on("end.style."+t,null)}var rW=N(()=>{"use strict";N0();ml();Ss();Sv();o_();o(tke,"styleNull");o(tW,"styleRemove");o(rke,"styleConstant");o(nke,"styleFunction");o(ike,"styleMaybeRemove");o(T_,"default")});function ake(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function ske(t,e,r){var n,i;function a(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&ake(t,s,r)),n}return o(a,"tween"),a._value=e,a}function w_(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,ske(t,e,r??""))}var nW=N(()=>{"use strict";o(ake,"styleInterpolate");o(ske,"styleTween");o(w_,"default")});function oke(t){return function(){this.textContent=t}}function lke(t){return function(){var e=t(this);this.textContent=e??""}}function k_(t){return this.tween("text",typeof t=="function"?lke(I0(this,"text",t)):oke(t==null?"":t+""))}var iW=N(()=>{"use strict";Sv();o(oke,"textConstant");o(lke,"textFunction");o(k_,"default")});function cke(t){return function(e){this.textContent=t.call(this,e)}}function uke(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&cke(i)),e}return o(n,"tween"),n._value=t,n}function E_(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,uke(t))}var aW=N(()=>{"use strict";o(cke,"textInterpolate");o(uke,"textTween");o(E_,"default")});function S_(){for(var t=this._name,e=this._id,r=g5(),n=this._groups,i=n.length,a=0;a{"use strict";dd();Ss();o(S_,"default")});function C_(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,s){var l={value:s},u={value:o(function(){--i===0&&a()},"value")};r.each(function(){var h=la(this,n),f=h.on;f!==t&&(e=(t=f).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),h.on=e}),i===0&&a()})}var oW=N(()=>{"use strict";Ss();o(C_,"default")});function ts(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function lW(t){return pu().transition(t)}function g5(){return++hke}var hke,vu,dd=N(()=>{"use strict";ml();VH();UH();HH();WH();qH();YH();XH();jH();KH();QH();ZH();JH();eW();rW();nW();iW();aW();sW();Sv();oW();hke=0;o(ts,"Transition");o(lW,"transition");o(g5,"newId");vu=pu.prototype;ts.prototype=lW.prototype={constructor:ts,select:v_,selectAll:x_,selectChild:vu.selectChild,selectChildren:vu.selectChildren,filter:p_,merge:m_,selection:b_,transition:S_,call:vu.call,nodes:vu.nodes,node:vu.node,size:vu.size,empty:vu.empty,each:vu.each,on:g_,attr:l_,attrTween:c_,style:T_,styleTween:w_,text:k_,textTween:E_,remove:y_,tween:s_,delay:u_,duration:h_,ease:f_,easeVarying:d_,end:C_,[Symbol.iterator]:vu[Symbol.iterator]}});function y5(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var cW=N(()=>{"use strict";o(y5,"cubicInOut")});var A_=N(()=>{"use strict";cW()});function dke(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function __(t){var e,r;t instanceof ts?(e=t._id,t=t._name):(e=g5(),(r=fke).time=bv(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a{"use strict";dd();Ss();A_();f5();fke={time:null,delay:0,duration:250,ease:y5};o(dke,"inherit");o(__,"default")});var hW=N(()=>{"use strict";ml();GH();uW();pu.prototype.interrupt=a_;pu.prototype.transition=__});var v5=N(()=>{"use strict";hW()});var fW=N(()=>{"use strict"});var dW=N(()=>{"use strict"});var pW=N(()=>{"use strict"});function mW(t){return[+t[0],+t[1]]}function pke(t){return[mW(t[0]),mW(t[1])]}function D_(t){return{type:t}}var ugt,hgt,fgt,dgt,pgt,mgt,gW=N(()=>{"use strict";v5();fW();dW();pW();({abs:ugt,max:hgt,min:fgt}=Math);o(mW,"number1");o(pke,"number2");dgt={name:"x",handles:["w","e"].map(D_),input:o(function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},"input"),output:o(function(t){return t&&[t[0][0],t[1][0]]},"output")},pgt={name:"y",handles:["n","s"].map(D_),input:o(function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},"input"),output:o(function(t){return t&&[t[0][1],t[1][1]]},"output")},mgt={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(D_),input:o(function(t){return t==null?null:pke(t)},"input"),output:o(function(t){return t},"output")};o(D_,"type")});var yW=N(()=>{"use strict";gW()});function vW(t){this._+=t[0];for(let e=1,r=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return vW;let r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i{"use strict";L_=Math.PI,R_=2*L_,pd=1e-6,mke=R_-pd;o(vW,"append");o(gke,"appendRound");md=class{static{o(this,"Path")}constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?vW:gke(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,i){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,r,n,i,a,s){this._append`C${+e},${+r},${+n},${+i},${this._x1=+a},${this._y1=+s}`}arcTo(e,r,n,i,a){if(e=+e,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let s=this._x1,l=this._y1,u=n-e,h=i-r,f=s-e,d=l-r,p=f*f+d*d;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(p>pd)if(!(Math.abs(d*u-h*f)>pd)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let m=n-s,g=i-l,y=u*u+h*h,v=m*m+g*g,x=Math.sqrt(y),b=Math.sqrt(p),T=a*Math.tan((L_-Math.acos((y+p-v)/(2*x*b)))/2),C=T/b,w=T/x;Math.abs(C-1)>pd&&this._append`L${e+C*f},${r+C*d}`,this._append`A${a},${a},0,0,${+(d*m>f*g)},${this._x1=e+w*u},${this._y1=r+w*h}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(i),u=n*Math.sin(i),h=e+l,f=r+u,d=1^s,p=s?i-a:a-i;this._x1===null?this._append`M${h},${f}`:(Math.abs(this._x1-h)>pd||Math.abs(this._y1-f)>pd)&&this._append`L${h},${f}`,n&&(p<0&&(p=p%R_+R_),p>mke?this._append`A${n},${n},0,1,${d},${e-l},${r-u}A${n},${n},0,1,${d},${this._x1=h},${this._y1=f}`:p>pd&&this._append`A${n},${n},0,${+(p>=L_)},${d},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};o(xW,"path");xW.prototype=md.prototype});var N_=N(()=>{"use strict";bW()});var TW=N(()=>{"use strict"});var wW=N(()=>{"use strict"});var kW=N(()=>{"use strict"});var EW=N(()=>{"use strict"});var SW=N(()=>{"use strict"});var CW=N(()=>{"use strict"});var AW=N(()=>{"use strict"});function M_(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function gd(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}var Av=N(()=>{"use strict";o(M_,"default");o(gd,"formatDecimalParts")});function vl(t){return t=gd(Math.abs(t)),t?t[1]:NaN}var _v=N(()=>{"use strict";Av();o(vl,"default")});function I_(t,e){return function(r,n){for(var i=r.length,a=[],s=0,l=t[0],u=0;i>0&&l>0&&(u+l+1>n&&(l=Math.max(1,n-u)),a.push(r.substring(i-=l,i+l)),!((u+=l+1)>n));)l=t[s=(s+1)%t.length];return a.reverse().join(e)}}var _W=N(()=>{"use strict";o(I_,"default")});function O_(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var DW=N(()=>{"use strict";o(O_,"default")});function Ch(t){if(!(e=yke.exec(t)))throw new Error("invalid format: "+t);var e;return new x5({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function x5(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}var yke,P_=N(()=>{"use strict";yke=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;o(Ch,"formatSpecifier");Ch.prototype=x5.prototype;o(x5,"FormatSpecifier");x5.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type}});function B_(t){e:for(var e=t.length,r=1,n=-1,i;r0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var LW=N(()=>{"use strict";o(B_,"default")});function $_(t,e){var r=gd(t,e);if(!r)return t+"";var n=r[0],i=r[1],a=i-(F_=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+gd(t,Math.max(0,e+a-1))[0]}var F_,z_=N(()=>{"use strict";Av();o($_,"default")});function b5(t,e){var r=gd(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}var RW=N(()=>{"use strict";Av();o(b5,"default")});var G_,NW=N(()=>{"use strict";Av();z_();RW();G_={"%":o((t,e)=>(t*100).toFixed(e),"%"),b:o(t=>Math.round(t).toString(2),"b"),c:o(t=>t+"","c"),d:M_,e:o((t,e)=>t.toExponential(e),"e"),f:o((t,e)=>t.toFixed(e),"f"),g:o((t,e)=>t.toPrecision(e),"g"),o:o(t=>Math.round(t).toString(8),"o"),p:o((t,e)=>b5(t*100,e),"p"),r:b5,s:$_,X:o(t=>Math.round(t).toString(16).toUpperCase(),"X"),x:o(t=>Math.round(t).toString(16),"x")}});function T5(t){return t}var MW=N(()=>{"use strict";o(T5,"default")});function V_(t){var e=t.grouping===void 0||t.thousands===void 0?T5:I_(IW.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?T5:O_(IW.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"\u2212":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function h(d){d=Ch(d);var p=d.fill,m=d.align,g=d.sign,y=d.symbol,v=d.zero,x=d.width,b=d.comma,T=d.precision,C=d.trim,w=d.type;w==="n"?(b=!0,w="g"):G_[w]||(T===void 0&&(T=12),C=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var E=y==="$"?r:y==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",_=y==="$"?n:/[%p]/.test(w)?s:"",A=G_[w],D=/[defgprs%]/.test(w);T=T===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,T)):Math.max(0,Math.min(20,T));function O(R){var k=E,L=_,S,I,M;if(w==="c")L=A(R)+L,R="";else{R=+R;var P=R<0||1/R<0;if(R=isNaN(R)?u:A(Math.abs(R),T),C&&(R=B_(R)),P&&+R==0&&g!=="+"&&(P=!1),k=(P?g==="("?g:l:g==="-"||g==="("?"":g)+k,L=(w==="s"?OW[8+F_/3]:"")+L+(P&&g==="("?")":""),D){for(S=-1,I=R.length;++SM||M>57){L=(M===46?i+R.slice(S+1):R.slice(S))+L,R=R.slice(0,S);break}}}b&&!v&&(R=e(R,1/0));var B=k.length+R.length+L.length,F=B>1)+k+R+L+F.slice(B);break;default:R=F+k+R+L;break}return a(R)}return o(O,"format"),O.toString=function(){return d+""},O}o(h,"newFormat");function f(d,p){var m=h((d=Ch(d),d.type="f",d)),g=Math.max(-8,Math.min(8,Math.floor(vl(p)/3)))*3,y=Math.pow(10,-g),v=OW[8+g/3];return function(x){return m(y*x)+v}}return o(f,"formatPrefix"),{format:h,formatPrefix:f}}var IW,OW,PW=N(()=>{"use strict";_v();_W();DW();P_();LW();NW();z_();MW();IW=Array.prototype.map,OW=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];o(V_,"default")});function U_(t){return w5=V_(t),oc=w5.format,k5=w5.formatPrefix,w5}var w5,oc,k5,BW=N(()=>{"use strict";PW();U_({thousands:",",grouping:[3],currency:["$",""]});o(U_,"defaultLocale")});function E5(t){return Math.max(0,-vl(Math.abs(t)))}var FW=N(()=>{"use strict";_v();o(E5,"default")});function S5(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(vl(e)/3)))*3-vl(Math.abs(t)))}var $W=N(()=>{"use strict";_v();o(S5,"default")});function C5(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,vl(e)-vl(t))+1}var zW=N(()=>{"use strict";_v();o(C5,"default")});var H_=N(()=>{"use strict";BW();P_();FW();$W();zW()});var GW=N(()=>{"use strict"});function vke(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function W_(){return this.eachAfter(vke)}var VW=N(()=>{"use strict";o(vke,"count");o(W_,"default")});function q_(t,e){let r=-1;for(let n of this)t.call(e,n,++r,this);return this}var UW=N(()=>{"use strict";o(q_,"default")});function Y_(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}var HW=N(()=>{"use strict";o(Y_,"default")});function X_(t,e){for(var r=this,n=[r],i=[],a,s,l,u=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,l=a.length;s{"use strict";o(X_,"default")});function j_(t,e){let r=-1;for(let n of this)if(t.call(e,n,++r,this))return n}var qW=N(()=>{"use strict";o(j_,"default")});function K_(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r})}var YW=N(()=>{"use strict";o(K_,"default")});function Q_(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}var XW=N(()=>{"use strict";o(Q_,"default")});function Z_(t){for(var e=this,r=xke(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function xke(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}var jW=N(()=>{"use strict";o(Z_,"default");o(xke,"leastCommonAncestor")});function J_(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}var KW=N(()=>{"use strict";o(J_,"default")});function eD(){return Array.from(this)}var QW=N(()=>{"use strict";o(eD,"default")});function tD(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}var ZW=N(()=>{"use strict";o(tD,"default")});function rD(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}var JW=N(()=>{"use strict";o(rD,"default")});function*nD(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i{"use strict";o(nD,"default")});function O0(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=wke)):e===void 0&&(e=Tke);for(var r=new Dv(t),n,i=[r],a,s,l,u;n=i.pop();)if((s=e(n.data))&&(u=(s=Array.from(s)).length))for(n.children=s,l=u-1;l>=0;--l)i.push(a=s[l]=new Dv(s[l])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(Eke)}function bke(){return O0(this).eachBefore(kke)}function Tke(t){return t.children}function wke(t){return Array.isArray(t)?t[1]:null}function kke(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Eke(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function Dv(t){this.data=t,this.depth=this.height=0,this.parent=null}var tq=N(()=>{"use strict";VW();UW();HW();WW();qW();YW();XW();jW();KW();QW();ZW();JW();eq();o(O0,"hierarchy");o(bke,"node_copy");o(Tke,"objectChildren");o(wke,"mapChildren");o(kke,"copyData");o(Eke,"computeHeight");o(Dv,"Node");Dv.prototype=O0.prototype={constructor:Dv,count:W_,each:q_,eachAfter:X_,eachBefore:Y_,find:j_,sum:K_,sort:Q_,path:Z_,ancestors:J_,descendants:eD,leaves:tD,links:rD,copy:bke,[Symbol.iterator]:nD}});function rq(t){if(typeof t!="function")throw new Error;return t}var nq=N(()=>{"use strict";o(rq,"required")});function P0(){return 0}function yd(t){return function(){return t}}var iq=N(()=>{"use strict";o(P0,"constantZero");o(yd,"default")});function iD(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}var aq=N(()=>{"use strict";o(iD,"default")});function aD(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(n-e)/t.value;++l{"use strict";o(aD,"default")});function sD(t,e,r,n,i){for(var a=t.children,s,l=-1,u=a.length,h=t.value&&(i-r)/t.value;++l{"use strict";o(sD,"default")});function Cke(t,e,r,n,i,a){for(var s=[],l=e.children,u,h,f=0,d=0,p=l.length,m,g,y=e.value,v,x,b,T,C,w,E;fb&&(b=h),E=v*v*w,T=Math.max(b/E,E/x),T>C){v-=h;break}C=T}s.push(u={value:v,dice:m{"use strict";sq();oq();Ske=(1+Math.sqrt(5))/2;o(Cke,"squarifyRatio");lq=o(function t(e){function r(n,i,a,s,l){Cke(e,n,i,a,s,l)}return o(r,"squarify"),r.ratio=function(n){return t((n=+n)>1?n:1)},r},"custom")(Ske)});function A5(){var t=lq,e=!1,r=1,n=1,i=[0],a=P0,s=P0,l=P0,u=P0,h=P0;function f(p){return p.x0=p.y0=0,p.x1=r,p.y1=n,p.eachBefore(d),i=[0],e&&p.eachBefore(iD),p}o(f,"treemap");function d(p){var m=i[p.depth],g=p.x0+m,y=p.y0+m,v=p.x1-m,x=p.y1-m;v{"use strict";aq();cq();nq();iq();o(A5,"default")});var hq=N(()=>{"use strict";tq();uq()});var fq=N(()=>{"use strict"});var dq=N(()=>{"use strict"});function Ah(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var Lv=N(()=>{"use strict";o(Ah,"initRange")});function Qs(){var t=new T0,e=[],r=[],n=oD;function i(a){let s=t.get(a);if(s===void 0){if(n!==oD)return n;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return o(i,"scale"),i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new T0;for(let s of a)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return Qs(e,r).unknown(n)},Ah.apply(i,arguments),i}var oD,lD=N(()=>{"use strict";bh();Lv();oD=Symbol("implicit");o(Qs,"ordinal")});function B0(){var t=Qs().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,s,l=!1,u=0,h=0,f=.5;delete t.unknown;function d(){var p=e().length,m=i{"use strict";bh();Lv();lD();o(B0,"band")});function cD(t){return function(){return t}}var mq=N(()=>{"use strict";o(cD,"constants")});function uD(t){return+t}var gq=N(()=>{"use strict";o(uD,"number")});function F0(t){return t}function hD(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:cD(isNaN(e)?NaN:.5)}function Ake(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function _ke(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i2?Dke:_ke,u=h=null,d}o(f,"rescale");function d(p){return p==null||isNaN(p=+p)?a:(u||(u=l(t.map(n),e,r)))(n(s(p)))}return o(d,"scale"),d.invert=function(p){return s(i((h||(h=l(e,t.map(n),Xi)))(p)))},d.domain=function(p){return arguments.length?(t=Array.from(p,uD),f()):t.slice()},d.range=function(p){return arguments.length?(e=Array.from(p),f()):e.slice()},d.rangeRound=function(p){return e=Array.from(p),r=i5,f()},d.clamp=function(p){return arguments.length?(s=p?!0:F0,f()):s!==F0},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(a=p,d):a},function(p,m){return n=p,i=m,f()}}function Rv(){return Lke()(F0,F0)}var yq,fD=N(()=>{"use strict";bh();N0();mq();gq();yq=[0,1];o(F0,"identity");o(hD,"normalize");o(Ake,"clamper");o(_ke,"bimap");o(Dke,"polymap");o(_5,"copy");o(Lke,"transformer");o(Rv,"continuous")});function dD(t,e,r,n){var i=w0(t,e,r),a;switch(n=Ch(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=S5(i,s))&&(n.precision=a),k5(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=C5(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=E5(i))&&(n.precision=a-(n.type==="%")*2);break}}return oc(n)}var vq=N(()=>{"use strict";bh();H_();o(dD,"tickFormat")});function Rke(t){var e=t.domain;return t.ticks=function(r){var n=e();return G3(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return dD(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],l=n[a],u,h,f=10;for(l0;){if(h=av(s,l,r),h===u)return n[i]=s,n[a]=l,e(n);if(h>0)s=Math.floor(s/h)*h,l=Math.ceil(l/h)*h;else if(h<0)s=Math.ceil(s*h)/h,l=Math.floor(l*h)/h;else break;u=h}return t},t}function xl(){var t=Rv();return t.copy=function(){return _5(t,xl())},Ah.apply(t,arguments),Rke(t)}var xq=N(()=>{"use strict";bh();fD();Lv();vq();o(Rke,"linearish");o(xl,"linear")});function pD(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a{"use strict";o(pD,"nice")});function vn(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return o(i,"interval"),i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{let s=i(a),l=i.ceil(a);return a-s(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,l)=>{let u=[];if(a=i.ceil(a),l=l==null?1:Math.floor(l),!(a0))return u;let h;do u.push(h=new Date(+a)),e(a,l),t(a);while(hvn(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,l)=>{if(s>=s)if(l<0)for(;++l<=0;)for(;e(s,-1),!a(s););else for(;--l>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(mD.setTime(+a),gD.setTime(+s),t(mD),t(gD),Math.floor(r(mD,gD))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}var mD,gD,xu=N(()=>{"use strict";mD=new Date,gD=new Date;o(vn,"timeInterval")});var lc,Tq,yD=N(()=>{"use strict";xu();lc=vn(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);lc.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?vn(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):lc);Tq=lc.range});var Zs,wq,vD=N(()=>{"use strict";xu();Zs=vn(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),wq=Zs.range});var bu,Nke,D5,Mke,xD=N(()=>{"use strict";xu();bu=vn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),Nke=bu.range,D5=vn(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),Mke=D5.range});var Tu,Ike,L5,Oke,bD=N(()=>{"use strict";xu();Tu=vn(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),Ike=Tu.range,L5=vn(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),Oke=L5.range});var Do,Pke,Mv,Bke,R5,Fke,TD=N(()=>{"use strict";xu();Do=vn(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),Pke=Do.range,Mv=vn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),Bke=Mv.range,R5=vn(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),Fke=R5.range});function bd(t){return vn(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}function Td(t){return vn(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var bl,_h,N5,M5,uc,I5,O5,Eq,$ke,zke,Gke,Vke,Uke,Hke,wd,$0,Sq,Cq,Dh,Aq,_q,Dq,Wke,qke,Yke,Xke,jke,Kke,wD=N(()=>{"use strict";xu();o(bd,"timeWeekday");bl=bd(0),_h=bd(1),N5=bd(2),M5=bd(3),uc=bd(4),I5=bd(5),O5=bd(6),Eq=bl.range,$ke=_h.range,zke=N5.range,Gke=M5.range,Vke=uc.range,Uke=I5.range,Hke=O5.range;o(Td,"utcWeekday");wd=Td(0),$0=Td(1),Sq=Td(2),Cq=Td(3),Dh=Td(4),Aq=Td(5),_q=Td(6),Dq=wd.range,Wke=$0.range,qke=Sq.range,Yke=Cq.range,Xke=Dh.range,jke=Aq.range,Kke=_q.range});var wu,Qke,P5,Zke,kD=N(()=>{"use strict";xu();wu=vn(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),Qke=wu.range,P5=vn(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),Zke=P5.range});var Js,Jke,Tl,eEe,ED=N(()=>{"use strict";xu();Js=vn(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Js.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:vn(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});Jke=Js.range,Tl=vn(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Tl.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:vn(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});eEe=Tl.range});function Rq(t,e,r,n,i,a){let s=[[Zs,1,1e3],[Zs,5,5*1e3],[Zs,15,15*1e3],[Zs,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function l(h,f,d){let p=fv).right(s,p);if(m===s.length)return t.every(w0(h/31536e6,f/31536e6,d));if(m===0)return lc.every(Math.max(w0(h,f,d),1));let[g,y]=s[p/s[m-1][2]{"use strict";bh();yD();vD();xD();bD();TD();wD();kD();ED();o(Rq,"ticker");[rEe,nEe]=Rq(Tl,P5,wd,R5,L5,D5),[SD,CD]=Rq(Js,wu,bl,Do,Tu,bu)});var B5=N(()=>{"use strict";yD();vD();xD();bD();TD();wD();kD();ED();Nq()});function AD(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function _D(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Iv(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function DD(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,s=t.shortDays,l=t.months,u=t.shortMonths,h=Ov(i),f=Pv(i),d=Ov(a),p=Pv(a),m=Ov(s),g=Pv(s),y=Ov(l),v=Pv(l),x=Ov(u),b=Pv(u),T={a:P,A:B,b:F,B:z,c:null,d:Fq,e:Fq,f:CEe,g:PEe,G:FEe,H:kEe,I:EEe,j:SEe,L:Uq,m:AEe,M:_Ee,p:$,q:U,Q:Gq,s:Vq,S:DEe,u:LEe,U:REe,V:NEe,w:MEe,W:IEe,x:null,X:null,y:OEe,Y:BEe,Z:$Ee,"%":zq},C={a:K,A:ee,b:Y,B:ce,c:null,d:$q,e:$q,f:UEe,g:JEe,G:tSe,H:zEe,I:GEe,j:VEe,L:Wq,m:HEe,M:WEe,p:Z,q:ue,Q:Gq,s:Vq,S:qEe,u:YEe,U:XEe,V:jEe,w:KEe,W:QEe,x:null,X:null,y:ZEe,Y:eSe,Z:rSe,"%":zq},w={a:O,A:R,b:k,B:L,c:S,d:Pq,e:Pq,f:xEe,g:Oq,G:Iq,H:Bq,I:Bq,j:mEe,L:vEe,m:pEe,M:gEe,p:D,q:dEe,Q:TEe,s:wEe,S:yEe,u:lEe,U:cEe,V:uEe,w:oEe,W:hEe,x:I,X:M,y:Oq,Y:Iq,Z:fEe,"%":bEe};T.x=E(r,T),T.X=E(n,T),T.c=E(e,T),C.x=E(r,C),C.X=E(n,C),C.c=E(e,C);function E(Q,j){return function(ne){var te=[],he=-1,le=0,J=Q.length,Se,se,ae;for(ne instanceof Date||(ne=new Date(+ne));++he53)return null;"w"in te||(te.w=1),"Z"in te?(le=_D(Iv(te.y,0,1)),J=le.getUTCDay(),le=J>4||J===0?$0.ceil(le):$0(le),le=Mv.offset(le,(te.V-1)*7),te.y=le.getUTCFullYear(),te.m=le.getUTCMonth(),te.d=le.getUTCDate()+(te.w+6)%7):(le=AD(Iv(te.y,0,1)),J=le.getDay(),le=J>4||J===0?_h.ceil(le):_h(le),le=Do.offset(le,(te.V-1)*7),te.y=le.getFullYear(),te.m=le.getMonth(),te.d=le.getDate()+(te.w+6)%7)}else("W"in te||"U"in te)&&("w"in te||(te.w="u"in te?te.u%7:"W"in te?1:0),J="Z"in te?_D(Iv(te.y,0,1)).getUTCDay():AD(Iv(te.y,0,1)).getDay(),te.m=0,te.d="W"in te?(te.w+6)%7+te.W*7-(J+5)%7:te.w+te.U*7-(J+6)%7);return"Z"in te?(te.H+=te.Z/100|0,te.M+=te.Z%100,_D(te)):AD(te)}}o(_,"newParse");function A(Q,j,ne,te){for(var he=0,le=j.length,J=ne.length,Se,se;he=J)return-1;if(Se=j.charCodeAt(he++),Se===37){if(Se=j.charAt(he++),se=w[Se in Mq?j.charAt(he++):Se],!se||(te=se(Q,ne,te))<0)return-1}else if(Se!=ne.charCodeAt(te++))return-1}return te}o(A,"parseSpecifier");function D(Q,j,ne){var te=h.exec(j.slice(ne));return te?(Q.p=f.get(te[0].toLowerCase()),ne+te[0].length):-1}o(D,"parsePeriod");function O(Q,j,ne){var te=m.exec(j.slice(ne));return te?(Q.w=g.get(te[0].toLowerCase()),ne+te[0].length):-1}o(O,"parseShortWeekday");function R(Q,j,ne){var te=d.exec(j.slice(ne));return te?(Q.w=p.get(te[0].toLowerCase()),ne+te[0].length):-1}o(R,"parseWeekday");function k(Q,j,ne){var te=x.exec(j.slice(ne));return te?(Q.m=b.get(te[0].toLowerCase()),ne+te[0].length):-1}o(k,"parseShortMonth");function L(Q,j,ne){var te=y.exec(j.slice(ne));return te?(Q.m=v.get(te[0].toLowerCase()),ne+te[0].length):-1}o(L,"parseMonth");function S(Q,j,ne){return A(Q,e,j,ne)}o(S,"parseLocaleDateTime");function I(Q,j,ne){return A(Q,r,j,ne)}o(I,"parseLocaleDate");function M(Q,j,ne){return A(Q,n,j,ne)}o(M,"parseLocaleTime");function P(Q){return s[Q.getDay()]}o(P,"formatShortWeekday");function B(Q){return a[Q.getDay()]}o(B,"formatWeekday");function F(Q){return u[Q.getMonth()]}o(F,"formatShortMonth");function z(Q){return l[Q.getMonth()]}o(z,"formatMonth");function $(Q){return i[+(Q.getHours()>=12)]}o($,"formatPeriod");function U(Q){return 1+~~(Q.getMonth()/3)}o(U,"formatQuarter");function K(Q){return s[Q.getUTCDay()]}o(K,"formatUTCShortWeekday");function ee(Q){return a[Q.getUTCDay()]}o(ee,"formatUTCWeekday");function Y(Q){return u[Q.getUTCMonth()]}o(Y,"formatUTCShortMonth");function ce(Q){return l[Q.getUTCMonth()]}o(ce,"formatUTCMonth");function Z(Q){return i[+(Q.getUTCHours()>=12)]}o(Z,"formatUTCPeriod");function ue(Q){return 1+~~(Q.getUTCMonth()/3)}return o(ue,"formatUTCQuarter"),{format:o(function(Q){var j=E(Q+="",T);return j.toString=function(){return Q},j},"format"),parse:o(function(Q){var j=_(Q+="",!1);return j.toString=function(){return Q},j},"parse"),utcFormat:o(function(Q){var j=E(Q+="",C);return j.toString=function(){return Q},j},"utcFormat"),utcParse:o(function(Q){var j=_(Q+="",!0);return j.toString=function(){return Q},j},"utcParse")}}function Hr(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a[e.toLowerCase(),r]))}function oEe(t,e,r){var n=ji.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function lEe(t,e,r){var n=ji.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function cEe(t,e,r){var n=ji.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function uEe(t,e,r){var n=ji.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function hEe(t,e,r){var n=ji.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function Iq(t,e,r){var n=ji.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Oq(t,e,r){var n=ji.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function fEe(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function dEe(t,e,r){var n=ji.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function pEe(t,e,r){var n=ji.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Pq(t,e,r){var n=ji.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function mEe(t,e,r){var n=ji.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function Bq(t,e,r){var n=ji.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function gEe(t,e,r){var n=ji.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function yEe(t,e,r){var n=ji.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function vEe(t,e,r){var n=ji.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function xEe(t,e,r){var n=ji.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function bEe(t,e,r){var n=iEe.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function TEe(t,e,r){var n=ji.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function wEe(t,e,r){var n=ji.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function Fq(t,e){return Hr(t.getDate(),e,2)}function kEe(t,e){return Hr(t.getHours(),e,2)}function EEe(t,e){return Hr(t.getHours()%12||12,e,2)}function SEe(t,e){return Hr(1+Do.count(Js(t),t),e,3)}function Uq(t,e){return Hr(t.getMilliseconds(),e,3)}function CEe(t,e){return Uq(t,e)+"000"}function AEe(t,e){return Hr(t.getMonth()+1,e,2)}function _Ee(t,e){return Hr(t.getMinutes(),e,2)}function DEe(t,e){return Hr(t.getSeconds(),e,2)}function LEe(t){var e=t.getDay();return e===0?7:e}function REe(t,e){return Hr(bl.count(Js(t)-1,t),e,2)}function Hq(t){var e=t.getDay();return e>=4||e===0?uc(t):uc.ceil(t)}function NEe(t,e){return t=Hq(t),Hr(uc.count(Js(t),t)+(Js(t).getDay()===4),e,2)}function MEe(t){return t.getDay()}function IEe(t,e){return Hr(_h.count(Js(t)-1,t),e,2)}function OEe(t,e){return Hr(t.getFullYear()%100,e,2)}function PEe(t,e){return t=Hq(t),Hr(t.getFullYear()%100,e,2)}function BEe(t,e){return Hr(t.getFullYear()%1e4,e,4)}function FEe(t,e){var r=t.getDay();return t=r>=4||r===0?uc(t):uc.ceil(t),Hr(t.getFullYear()%1e4,e,4)}function $Ee(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Hr(e/60|0,"0",2)+Hr(e%60,"0",2)}function $q(t,e){return Hr(t.getUTCDate(),e,2)}function zEe(t,e){return Hr(t.getUTCHours(),e,2)}function GEe(t,e){return Hr(t.getUTCHours()%12||12,e,2)}function VEe(t,e){return Hr(1+Mv.count(Tl(t),t),e,3)}function Wq(t,e){return Hr(t.getUTCMilliseconds(),e,3)}function UEe(t,e){return Wq(t,e)+"000"}function HEe(t,e){return Hr(t.getUTCMonth()+1,e,2)}function WEe(t,e){return Hr(t.getUTCMinutes(),e,2)}function qEe(t,e){return Hr(t.getUTCSeconds(),e,2)}function YEe(t){var e=t.getUTCDay();return e===0?7:e}function XEe(t,e){return Hr(wd.count(Tl(t)-1,t),e,2)}function qq(t){var e=t.getUTCDay();return e>=4||e===0?Dh(t):Dh.ceil(t)}function jEe(t,e){return t=qq(t),Hr(Dh.count(Tl(t),t)+(Tl(t).getUTCDay()===4),e,2)}function KEe(t){return t.getUTCDay()}function QEe(t,e){return Hr($0.count(Tl(t)-1,t),e,2)}function ZEe(t,e){return Hr(t.getUTCFullYear()%100,e,2)}function JEe(t,e){return t=qq(t),Hr(t.getUTCFullYear()%100,e,2)}function eSe(t,e){return Hr(t.getUTCFullYear()%1e4,e,4)}function tSe(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Dh(t):Dh.ceil(t),Hr(t.getUTCFullYear()%1e4,e,4)}function rSe(){return"+0000"}function zq(){return"%"}function Gq(t){return+t}function Vq(t){return Math.floor(+t/1e3)}var Mq,ji,iEe,aEe,Yq=N(()=>{"use strict";B5();o(AD,"localDate");o(_D,"utcDate");o(Iv,"newDate");o(DD,"formatLocale");Mq={"-":"",_:" ",0:"0"},ji=/^\s*\d+/,iEe=/^%/,aEe=/[\\^$*+?|[\]().{}]/g;o(Hr,"pad");o(sEe,"requote");o(Ov,"formatRe");o(Pv,"formatLookup");o(oEe,"parseWeekdayNumberSunday");o(lEe,"parseWeekdayNumberMonday");o(cEe,"parseWeekNumberSunday");o(uEe,"parseWeekNumberISO");o(hEe,"parseWeekNumberMonday");o(Iq,"parseFullYear");o(Oq,"parseYear");o(fEe,"parseZone");o(dEe,"parseQuarter");o(pEe,"parseMonthNumber");o(Pq,"parseDayOfMonth");o(mEe,"parseDayOfYear");o(Bq,"parseHour24");o(gEe,"parseMinutes");o(yEe,"parseSeconds");o(vEe,"parseMilliseconds");o(xEe,"parseMicroseconds");o(bEe,"parseLiteralPercent");o(TEe,"parseUnixTimestamp");o(wEe,"parseUnixTimestampSeconds");o(Fq,"formatDayOfMonth");o(kEe,"formatHour24");o(EEe,"formatHour12");o(SEe,"formatDayOfYear");o(Uq,"formatMilliseconds");o(CEe,"formatMicroseconds");o(AEe,"formatMonthNumber");o(_Ee,"formatMinutes");o(DEe,"formatSeconds");o(LEe,"formatWeekdayNumberMonday");o(REe,"formatWeekNumberSunday");o(Hq,"dISO");o(NEe,"formatWeekNumberISO");o(MEe,"formatWeekdayNumberSunday");o(IEe,"formatWeekNumberMonday");o(OEe,"formatYear");o(PEe,"formatYearISO");o(BEe,"formatFullYear");o(FEe,"formatFullYearISO");o($Ee,"formatZone");o($q,"formatUTCDayOfMonth");o(zEe,"formatUTCHour24");o(GEe,"formatUTCHour12");o(VEe,"formatUTCDayOfYear");o(Wq,"formatUTCMilliseconds");o(UEe,"formatUTCMicroseconds");o(HEe,"formatUTCMonthNumber");o(WEe,"formatUTCMinutes");o(qEe,"formatUTCSeconds");o(YEe,"formatUTCWeekdayNumberMonday");o(XEe,"formatUTCWeekNumberSunday");o(qq,"UTCdISO");o(jEe,"formatUTCWeekNumberISO");o(KEe,"formatUTCWeekdayNumberSunday");o(QEe,"formatUTCWeekNumberMonday");o(ZEe,"formatUTCYear");o(JEe,"formatUTCYearISO");o(eSe,"formatUTCFullYear");o(tSe,"formatUTCFullYearISO");o(rSe,"formatUTCZone");o(zq,"formatLiteralPercent");o(Gq,"formatUnixTimestamp");o(Vq,"formatUnixTimestampSeconds")});function LD(t){return z0=DD(t),kd=z0.format,Xq=z0.parse,jq=z0.utcFormat,Kq=z0.utcParse,z0}var z0,kd,Xq,jq,Kq,Qq=N(()=>{"use strict";Yq();LD({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});o(LD,"defaultLocale")});var RD=N(()=>{"use strict";Qq()});function nSe(t){return new Date(t)}function iSe(t){return t instanceof Date?+t:+new Date(+t)}function Zq(t,e,r,n,i,a,s,l,u,h){var f=Rv(),d=f.invert,p=f.domain,m=h(".%L"),g=h(":%S"),y=h("%I:%M"),v=h("%I %p"),x=h("%a %d"),b=h("%b %d"),T=h("%B"),C=h("%Y");function w(E){return(u(E){"use strict";B5();RD();fD();Lv();bq();o(nSe,"date");o(iSe,"number");o(Zq,"calendar");o(F5,"time")});var eY=N(()=>{"use strict";pq();xq();lD();Jq()});function ND(t){for(var e=t.length/6|0,r=new Array(e),n=0;n{"use strict";o(ND,"default")});var MD,rY=N(()=>{"use strict";tY();MD=ND("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab")});var nY=N(()=>{"use strict";rY()});function Pn(t){return o(function(){return t},"constant")}var $5=N(()=>{"use strict";o(Pn,"default")});function aY(t){return t>1?0:t<-1?G0:Math.acos(t)}function OD(t){return t>=1?Bv:t<=-1?-Bv:Math.asin(t)}var ID,ca,Lh,iY,z5,wl,Ed,Ki,G0,Bv,V0,G5=N(()=>{"use strict";ID=Math.abs,ca=Math.atan2,Lh=Math.cos,iY=Math.max,z5=Math.min,wl=Math.sin,Ed=Math.sqrt,Ki=1e-12,G0=Math.PI,Bv=G0/2,V0=2*G0;o(aY,"acos");o(OD,"asin")});function V5(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new md(e)}var PD=N(()=>{"use strict";N_();o(V5,"withPath")});function aSe(t){return t.innerRadius}function sSe(t){return t.outerRadius}function oSe(t){return t.startAngle}function lSe(t){return t.endAngle}function cSe(t){return t&&t.padAngle}function uSe(t,e,r,n,i,a,s,l){var u=r-t,h=n-e,f=s-i,d=l-a,p=d*u-f*h;if(!(p*pS*S+I*I&&(A=O,D=R),{cx:A,cy:D,x01:-f,y01:-d,x11:A*(i/w-1),y11:D*(i/w-1)}}function kl(){var t=aSe,e=sSe,r=Pn(0),n=null,i=oSe,a=lSe,s=cSe,l=null,u=V5(h);function h(){var f,d,p=+t.apply(this,arguments),m=+e.apply(this,arguments),g=i.apply(this,arguments)-Bv,y=a.apply(this,arguments)-Bv,v=ID(y-g),x=y>g;if(l||(l=f=u()),mKi))l.moveTo(0,0);else if(v>V0-Ki)l.moveTo(m*Lh(g),m*wl(g)),l.arc(0,0,m,g,y,!x),p>Ki&&(l.moveTo(p*Lh(y),p*wl(y)),l.arc(0,0,p,y,g,x));else{var b=g,T=y,C=g,w=y,E=v,_=v,A=s.apply(this,arguments)/2,D=A>Ki&&(n?+n.apply(this,arguments):Ed(p*p+m*m)),O=z5(ID(m-p)/2,+r.apply(this,arguments)),R=O,k=O,L,S;if(D>Ki){var I=OD(D/p*wl(A)),M=OD(D/m*wl(A));(E-=I*2)>Ki?(I*=x?1:-1,C+=I,w-=I):(E=0,C=w=(g+y)/2),(_-=M*2)>Ki?(M*=x?1:-1,b+=M,T-=M):(_=0,b=T=(g+y)/2)}var P=m*Lh(b),B=m*wl(b),F=p*Lh(w),z=p*wl(w);if(O>Ki){var $=m*Lh(T),U=m*wl(T),K=p*Lh(C),ee=p*wl(C),Y;if(vKi?k>Ki?(L=U5(K,ee,P,B,m,k,x),S=U5($,U,F,z,m,k,x),l.moveTo(L.cx+L.x01,L.cy+L.y01),kKi)||!(E>Ki)?l.lineTo(F,z):R>Ki?(L=U5(F,z,$,U,p,-R,x),S=U5(P,B,K,ee,p,-R,x),l.lineTo(L.cx+L.x01,L.cy+L.y01),R{"use strict";$5();G5();PD();o(aSe,"arcInnerRadius");o(sSe,"arcOuterRadius");o(oSe,"arcStartAngle");o(lSe,"arcEndAngle");o(cSe,"arcPadAngle");o(uSe,"intersect");o(U5,"cornerTangents");o(kl,"default")});function Fv(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}var J2t,BD=N(()=>{"use strict";J2t=Array.prototype.slice;o(Fv,"default")});function oY(t){this._context=t}function ku(t){return new oY(t)}var FD=N(()=>{"use strict";o(oY,"Linear");oY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}},"point")};o(ku,"default")});function lY(t){return t[0]}function cY(t){return t[1]}var uY=N(()=>{"use strict";o(lY,"x");o(cY,"y")});function El(t,e){var r=Pn(!0),n=null,i=ku,a=null,s=V5(l);t=typeof t=="function"?t:t===void 0?lY:Pn(t),e=typeof e=="function"?e:e===void 0?cY:Pn(e);function l(u){var h,f=(u=Fv(u)).length,d,p=!1,m;for(n==null&&(a=i(m=s())),h=0;h<=f;++h)!(h{"use strict";BD();$5();FD();PD();uY();o(El,"default")});function $D(t,e){return et?1:e>=t?0:NaN}var fY=N(()=>{"use strict";o($D,"default")});function zD(t){return t}var dY=N(()=>{"use strict";o(zD,"default")});function H5(){var t=zD,e=$D,r=null,n=Pn(0),i=Pn(V0),a=Pn(0);function s(l){var u,h=(l=Fv(l)).length,f,d,p=0,m=new Array(h),g=new Array(h),y=+n.apply(this,arguments),v=Math.min(V0,Math.max(-V0,i.apply(this,arguments)-y)),x,b=Math.min(Math.abs(v)/h,a.apply(this,arguments)),T=b*(v<0?-1:1),C;for(u=0;u0&&(p+=C);for(e!=null?m.sort(function(w,E){return e(g[w],g[E])}):r!=null&&m.sort(function(w,E){return r(l[w],l[E])}),u=0,d=p?(v-h*T)/p:0;u0?C*d:0)+T,g[f]={data:l[f],index:u,value:C,startAngle:y,endAngle:x,padAngle:b};return g}return o(s,"pie"),s.value=function(l){return arguments.length?(t=typeof l=="function"?l:Pn(+l),s):t},s.sortValues=function(l){return arguments.length?(e=l,r=null,s):e},s.sort=function(l){return arguments.length?(r=l,e=null,s):r},s.startAngle=function(l){return arguments.length?(n=typeof l=="function"?l:Pn(+l),s):n},s.endAngle=function(l){return arguments.length?(i=typeof l=="function"?l:Pn(+l),s):i},s.padAngle=function(l){return arguments.length?(a=typeof l=="function"?l:Pn(+l),s):a},s}var pY=N(()=>{"use strict";BD();$5();fY();dY();G5();o(H5,"default")});function $v(t){return new W5(t,!0)}function zv(t){return new W5(t,!1)}var W5,mY=N(()=>{"use strict";W5=class{static{o(this,"Bump")}constructor(e,r){this._context=e,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}};o($v,"bumpX");o(zv,"bumpY")});function eo(){}var Gv=N(()=>{"use strict";o(eo,"default")});function U0(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function Vv(t){this._context=t}function Lo(t){return new Vv(t)}var Uv=N(()=>{"use strict";o(U0,"point");o(Vv,"Basis");Vv.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 3:U0(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:U0(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(Lo,"default")});function gY(t){this._context=t}function q5(t){return new gY(t)}var yY=N(()=>{"use strict";Gv();Uv();o(gY,"BasisClosed");gY.prototype={areaStart:eo,areaEnd:eo,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:U0(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(q5,"default")});function vY(t){this._context=t}function Y5(t){return new vY(t)}var xY=N(()=>{"use strict";Uv();o(vY,"BasisOpen");vY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:U0(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e},"point")};o(Y5,"default")});function bY(t,e){this._basis=new Vv(t),this._beta=e}var GD,TY=N(()=>{"use strict";Uv();o(bY,"Bundle");bY.prototype={lineStart:o(function(){this._x=[],this._y=[],this._basis.lineStart()},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,l=-1,u;++l<=r;)u=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(n+u*a),this._beta*e[l]+(1-this._beta)*(i+u*s));this._x=this._y=null,this._basis.lineEnd()},"lineEnd"),point:o(function(t,e){this._x.push(+t),this._y.push(+e)},"point")};GD=o(function t(e){function r(n){return e===1?new Vv(n):new bY(n,e)}return o(r,"bundle"),r.beta=function(n){return t(+n)},r},"custom")(.85)});function H0(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function X5(t,e){this._context=t,this._k=(1-e)/6}var Hv,Wv=N(()=>{"use strict";o(H0,"point");o(X5,"Cardinal");X5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:H0(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:H0(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};Hv=o(function t(e){function r(n){return new X5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function j5(t,e){this._context=t,this._k=(1-e)/6}var VD,UD=N(()=>{"use strict";Gv();Wv();o(j5,"CardinalClosed");j5.prototype={areaStart:eo,areaEnd:eo,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:H0(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};VD=o(function t(e){function r(n){return new j5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function K5(t,e){this._context=t,this._k=(1-e)/6}var HD,WD=N(()=>{"use strict";Wv();o(K5,"CardinalOpen");K5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:H0(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};HD=o(function t(e){function r(n){return new K5(n,e)}return o(r,"cardinal"),r.tension=function(n){return t(+n)},r},"custom")(0)});function qv(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Ki){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,i=(i*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>Ki){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*h+t._x1*t._l23_2a-e*t._l12_2a)/f,s=(s*h+t._y1*t._l23_2a-r*t._l12_2a)/f}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function wY(t,e){this._context=t,this._alpha=e}var Yv,Q5=N(()=>{"use strict";G5();Wv();o(qv,"point");o(wY,"CatmullRom");wY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:qv(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};Yv=o(function t(e){function r(n){return e?new wY(n,e):new X5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function kY(t,e){this._context=t,this._alpha=e}var qD,EY=N(()=>{"use strict";UD();Gv();Q5();o(kY,"CatmullRomClosed");kY.prototype={areaStart:eo,areaEnd:eo,lineStart:o(function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:qv(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};qD=o(function t(e){function r(n){return e?new kY(n,e):new j5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function SY(t,e){this._context=t,this._alpha=e}var YD,CY=N(()=>{"use strict";WD();Q5();o(SY,"CatmullRomOpen");SY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},"lineStart"),lineEnd:o(function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:qv(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e},"point")};YD=o(function t(e){function r(n){return e?new SY(n,e):new K5(n,0)}return o(r,"catmullRom"),r.alpha=function(n){return t(+n)},r},"custom")(.5)});function AY(t){this._context=t}function Z5(t){return new AY(t)}var _Y=N(()=>{"use strict";Gv();o(AY,"LinearClosed");AY.prototype={areaStart:eo,areaEnd:eo,lineStart:o(function(){this._point=0},"lineStart"),lineEnd:o(function(){this._point&&this._context.closePath()},"lineEnd"),point:o(function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))},"point")};o(Z5,"default")});function DY(t){return t<0?-1:1}function LY(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),l=(a*i+s*n)/(n+i);return(DY(a)+DY(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(l))||0}function RY(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function XD(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,l=(a-n)/3;t._context.bezierCurveTo(n+l,i+l*e,a-l,s-l*r,a,s)}function J5(t){this._context=t}function NY(t){this._context=new MY(t)}function MY(t){this._context=t}function Xv(t){return new J5(t)}function jv(t){return new NY(t)}var IY=N(()=>{"use strict";o(DY,"sign");o(LY,"slope3");o(RY,"slope2");o(XD,"point");o(J5,"MonotoneX");J5.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},"lineStart"),lineEnd:o(function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:XD(this,this._t0,RY(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},"lineEnd"),point:o(function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,XD(this,RY(this,r=LY(this,t,e)),r);break;default:XD(this,this._t0,r=LY(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}},"point")};o(NY,"MonotoneY");(NY.prototype=Object.create(J5.prototype)).point=function(t,e){J5.prototype.point.call(this,e,t)};o(MY,"ReflectContext");MY.prototype={moveTo:o(function(t,e){this._context.moveTo(e,t)},"moveTo"),closePath:o(function(){this._context.closePath()},"closePath"),lineTo:o(function(t,e){this._context.lineTo(e,t)},"lineTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)},"bezierCurveTo")};o(Xv,"monotoneX");o(jv,"monotoneY")});function PY(t){this._context=t}function OY(t){var e,r=t.length-1,n,i=new Array(r),a=new Array(r),s=new Array(r);for(i[0]=0,a[0]=2,s[0]=t[0]+2*t[1],e=1;e=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e{"use strict";o(PY,"Natural");PY.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=[],this._y=[]},"lineStart"),lineEnd:o(function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=OY(t),i=OY(e),a=0,s=1;s{"use strict";o(eT,"Step");eT.prototype={areaStart:o(function(){this._line=0},"areaStart"),areaEnd:o(function(){this._line=NaN},"areaEnd"),lineStart:o(function(){this._x=this._y=NaN,this._point=0},"lineStart"),lineEnd:o(function(){0=0&&(this._t=1-this._t,this._line=1-this._line)},"lineEnd"),point:o(function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e},"point")};o(q0,"default");o(Kv,"stepBefore");o(Qv,"stepAfter")});var $Y=N(()=>{"use strict";sY();hY();pY();yY();xY();Uv();mY();TY();UD();WD();Wv();EY();CY();Q5();_Y();FD();IY();BY();FY()});var zY=N(()=>{"use strict"});var GY=N(()=>{"use strict"});function Rh(t,e,r){this.k=t,this.x=e,this.y=r}function KD(t){for(;!t.__zoom;)if(!(t=t.parentNode))return jD;return t.__zoom}var jD,QD=N(()=>{"use strict";o(Rh,"Transform");Rh.prototype={constructor:Rh,scale:o(function(t){return t===1?this:new Rh(this.k*t,this.x,this.y)},"scale"),translate:o(function(t,e){return t===0&e===0?this:new Rh(this.k,this.x+this.k*t,this.y+this.k*e)},"translate"),apply:o(function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},"apply"),applyX:o(function(t){return t*this.k+this.x},"applyX"),applyY:o(function(t){return t*this.k+this.y},"applyY"),invert:o(function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},"invert"),invertX:o(function(t){return(t-this.x)/this.k},"invertX"),invertY:o(function(t){return(t-this.y)/this.k},"invertY"),rescaleX:o(function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},"rescaleX"),rescaleY:o(function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},"rescaleY"),toString:o(function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"},"toString")};jD=new Rh(1,0,0);KD.prototype=Rh.prototype;o(KD,"transform")});var VY=N(()=>{"use strict"});var UY=N(()=>{"use strict";v5();zY();GY();QD();VY()});var HY=N(()=>{"use strict";UY();QD()});var pr=N(()=>{"use strict";bh();ZV();yW();TW();D0();wW();kW();$A();UU();EW();A_();SW();AW();H_();GW();hq();N0();N_();fq();CW();dq();eY();nY();ml();$Y();B5();RD();f5();v5();HY()});var WY=Ii(Qi=>{"use strict";Object.defineProperty(Qi,"__esModule",{value:!0});Qi.BLANK_URL=Qi.relativeFirstCharacters=Qi.whitespaceEscapeCharsRegex=Qi.urlSchemeRegex=Qi.ctrlCharactersRegex=Qi.htmlCtrlEntityRegex=Qi.htmlEntitiesRegex=Qi.invalidProtocolRegex=void 0;Qi.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im;Qi.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g;Qi.htmlCtrlEntityRegex=/&(newline|tab);/gi;Qi.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim;Qi.urlSchemeRegex=/^.+(:|:)/gim;Qi.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g;Qi.relativeFirstCharacters=[".","/"];Qi.BLANK_URL="about:blank"});var Y0=Ii(tT=>{"use strict";Object.defineProperty(tT,"__esModule",{value:!0});tT.sanitizeUrl=void 0;var _a=WY();function hSe(t){return _a.relativeFirstCharacters.indexOf(t[0])>-1}o(hSe,"isRelativeUrlWithoutProtocol");function fSe(t){var e=t.replace(_a.ctrlCharactersRegex,"");return e.replace(_a.htmlEntitiesRegex,function(r,n){return String.fromCharCode(n)})}o(fSe,"decodeHtmlCharacters");function dSe(t){return URL.canParse(t)}o(dSe,"isValidUrl");function qY(t){try{return decodeURIComponent(t)}catch{return t}}o(qY,"decodeURI");function pSe(t){if(!t)return _a.BLANK_URL;var e,r=qY(t.trim());do r=fSe(r).replace(_a.htmlCtrlEntityRegex,"").replace(_a.ctrlCharactersRegex,"").replace(_a.whitespaceEscapeCharsRegex,"").trim(),r=qY(r),e=r.match(_a.ctrlCharactersRegex)||r.match(_a.htmlEntitiesRegex)||r.match(_a.htmlCtrlEntityRegex)||r.match(_a.whitespaceEscapeCharsRegex);while(e&&e.length>0);var n=r;if(!n)return _a.BLANK_URL;if(hSe(n))return n;var i=n.trimStart(),a=i.match(_a.urlSchemeRegex);if(!a)return n;var s=a[0].toLowerCase().trim();if(_a.invalidProtocolRegex.test(s))return _a.BLANK_URL;var l=i.replace(/\\/g,"/");if(s==="mailto:"||s.includes("://"))return l;if(s==="http:"||s==="https:"){if(!dSe(l))return _a.BLANK_URL;var u=new URL(l);return u.protocol=u.protocol.toLowerCase(),u.hostname=u.hostname.toLowerCase(),u.toString()}return l}o(pSe,"sanitizeUrl");tT.sanitizeUrl=pSe});var ZD,Sd,rT,YY,XY,jY,Sl,Zv,Jv=N(()=>{"use strict";ZD=Sa(Y0(),1);dr();Sd=o((t,e)=>{let r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(let n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),rT=o((t,e)=>{let r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};Sd(t,r).lower()},"drawBackgroundRect"),YY=o((t,e)=>{let r=e.text.replace(rd," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),XY=o((t,e,r,n)=>{let i=t.append("image");i.attr("x",e),i.attr("y",r);let a=(0,ZD.sanitizeUrl)(n);i.attr("xlink:href",a)},"drawImage"),jY=o((t,e,r,n)=>{let i=t.append("use");i.attr("x",e),i.attr("y",r);let a=(0,ZD.sanitizeUrl)(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),Sl=o(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),Zv=o(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj")});var KY,JD,QY,mSe,gSe,ySe,vSe,xSe,bSe,TSe,wSe,kSe,ESe,SSe,CSe,Eu,Cl,ZY=N(()=>{"use strict";dr();Jv();KY=Sa(Y0(),1),JD=o(function(t,e){return Sd(t,e)},"drawRect"),QY=o(function(t,e,r,n,i,a){let s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let l=a.startsWith("data:image/png;base64")?a:(0,KY.sanitizeUrl)(a);s.attr("xlink:href",l)},"drawImage"),mSe=o((t,e,r)=>{let n=t.append("g"),i=0;for(let a of e){let s=a.textColor?a.textColor:"#444444",l=a.lineColor?a.lineColor:"#444444",u=a.offsetX?parseInt(a.offsetX):0,h=a.offsetY?parseInt(a.offsetY):0,f="";if(i===0){let p=n.append("line");p.attr("x1",a.startPoint.x),p.attr("y1",a.startPoint.y),p.attr("x2",a.endPoint.x),p.attr("y2",a.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)"),i=-1}else{let p=n.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",a.startPoint.x).replaceAll("starty",a.startPoint.y).replaceAll("controlx",a.startPoint.x+(a.endPoint.x-a.startPoint.x)/2-(a.endPoint.x-a.startPoint.x)/4).replaceAll("controly",a.startPoint.y+(a.endPoint.y-a.startPoint.y)/2).replaceAll("stopx",a.endPoint.x).replaceAll("stopy",a.endPoint.y)),a.type!=="rel_b"&&p.attr("marker-end","url("+f+"#arrowhead)"),(a.type==="birel"||a.type==="rel_b")&&p.attr("marker-start","url("+f+"#arrowend)")}let d=r.messageFont();Eu(r)(a.label.text,n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+h,a.label.width,a.label.height,{fill:s},d),a.techn&&a.techn.text!==""&&(d=r.messageFont(),Eu(r)("["+a.techn.text+"]",n,Math.min(a.startPoint.x,a.endPoint.x)+Math.abs(a.endPoint.x-a.startPoint.x)/2+u,Math.min(a.startPoint.y,a.endPoint.y)+Math.abs(a.endPoint.y-a.startPoint.y)/2+r.messageFontSize+5+h,Math.max(a.label.width,a.techn.width),a.techn.height,{fill:s,"font-style":"italic"},d))}},"drawRels"),gSe=o(function(t,e,r){let n=t.append("g"),i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",l={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(l={"stroke-width":1});let u={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:l};JD(n,u);let h=r.boundaryFont();h.fontWeight="bold",h.fontSize=h.fontSize+2,h.fontColor=s,Eu(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},h),e.type&&e.type.text!==""&&(h=r.boundaryFont(),h.fontColor=s,Eu(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},h)),e.descr&&e.descr.text!==""&&(h=r.boundaryFont(),h.fontSize=h.fontSize-2,h.fontColor=s,Eu(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},h))},"drawBoundary"),ySe=o(function(t,e,r){let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII=";break}let l=t.append("g");l.attr("class","person-man");let u=Sl();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":u.x=e.x,u.y=e.y,u.fill=n,u.width=e.width,u.height=e.height,u.stroke=i,u.rx=2.5,u.ry=2.5,u.attrs={"stroke-width":.5},JD(l,u);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":l.append("path").attr("fill",n).attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),l.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",i).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let h=CSe(r,e.typeC4Shape.text);switch(l.append("text").attr("fill",a).attr("font-family",h.fontFamily).attr("font-size",h.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":QY(l,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let f=r[e.typeC4Shape.text+"Font"]();return f.fontWeight="bold",f.fontSize=f.fontSize+2,f.fontColor=a,Eu(r)(e.label.text,l,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},f),f=r[e.typeC4Shape.text+"Font"](),f.fontColor=a,e.techn&&e.techn?.text!==""?Eu(r)(e.techn.text,l,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},f):e.type&&e.type.text!==""&&Eu(r)(e.type.text,l,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},f),e.descr&&e.descr.text!==""&&(f=r.personFont(),f.fontColor=a,Eu(r)(e.descr.text,l,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},f)),e.height},"drawC4Shape"),vSe=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),xSe=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),bSe=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),TSe=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},"insertArrowHead"),wSe=o(function(t){t.append("defs").append("marker").attr("id","arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),kSe=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),ESe=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertDynamicNumber"),SSe=o(function(t){let r=t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);r.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),r.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),CSe=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),Eu=function(){function t(i,a,s,l,u,h,f){let d=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("text-anchor","middle").text(i);n(d,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d){let{fontSize:p,fontFamily:m,fontWeight:g}=d,y=i.split(Ze.lineBreakRegex);for(let v=0;v{"use strict";ASe=typeof global=="object"&&global&&global.Object===Object&&global,iT=ASe});var _Se,DSe,hi,Ro=N(()=>{"use strict";e9();_Se=typeof self=="object"&&self&&self.Object===Object&&self,DSe=iT||_Se||Function("return this")(),hi=DSe});var LSe,Zi,Cd=N(()=>{"use strict";Ro();LSe=hi.Symbol,Zi=LSe});function MSe(t){var e=RSe.call(t,e2),r=t[e2];try{t[e2]=void 0;var n=!0}catch{}var i=NSe.call(t);return n&&(e?t[e2]=r:delete t[e2]),i}var JY,RSe,NSe,e2,eX,tX=N(()=>{"use strict";Cd();JY=Object.prototype,RSe=JY.hasOwnProperty,NSe=JY.toString,e2=Zi?Zi.toStringTag:void 0;o(MSe,"getRawTag");eX=MSe});function PSe(t){return OSe.call(t)}var ISe,OSe,rX,nX=N(()=>{"use strict";ISe=Object.prototype,OSe=ISe.toString;o(PSe,"objectToString");rX=PSe});function $Se(t){return t==null?t===void 0?FSe:BSe:iX&&iX in Object(t)?eX(t):rX(t)}var BSe,FSe,iX,ua,Su=N(()=>{"use strict";Cd();tX();nX();BSe="[object Null]",FSe="[object Undefined]",iX=Zi?Zi.toStringTag:void 0;o($Se,"baseGetTag");ua=$Se});function zSe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var xn,to=N(()=>{"use strict";o(zSe,"isObject");xn=zSe});function WSe(t){if(!xn(t))return!1;var e=ua(t);return e==VSe||e==USe||e==GSe||e==HSe}var GSe,VSe,USe,HSe,Ci,t2=N(()=>{"use strict";Su();to();GSe="[object AsyncFunction]",VSe="[object Function]",USe="[object GeneratorFunction]",HSe="[object Proxy]";o(WSe,"isFunction");Ci=WSe});var qSe,aT,aX=N(()=>{"use strict";Ro();qSe=hi["__core-js_shared__"],aT=qSe});function YSe(t){return!!sX&&sX in t}var sX,oX,lX=N(()=>{"use strict";aX();sX=function(){var t=/[^.]+$/.exec(aT&&aT.keys&&aT.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();o(YSe,"isMasked");oX=YSe});function KSe(t){if(t!=null){try{return jSe.call(t)}catch{}try{return t+""}catch{}}return""}var XSe,jSe,Cu,t9=N(()=>{"use strict";XSe=Function.prototype,jSe=XSe.toString;o(KSe,"toSource");Cu=KSe});function i6e(t){if(!xn(t)||oX(t))return!1;var e=Ci(t)?n6e:ZSe;return e.test(Cu(t))}var QSe,ZSe,JSe,e6e,t6e,r6e,n6e,cX,uX=N(()=>{"use strict";t2();lX();to();t9();QSe=/[\\^$.*+?()[\]{}|]/g,ZSe=/^\[object .+?Constructor\]$/,JSe=Function.prototype,e6e=Object.prototype,t6e=JSe.toString,r6e=e6e.hasOwnProperty,n6e=RegExp("^"+t6e.call(r6e).replace(QSe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o(i6e,"baseIsNative");cX=i6e});function a6e(t,e){return t?.[e]}var hX,fX=N(()=>{"use strict";o(a6e,"getValue");hX=a6e});function s6e(t,e){var r=hX(t,e);return cX(r)?r:void 0}var Cs,Nh=N(()=>{"use strict";uX();fX();o(s6e,"getNative");Cs=s6e});var o6e,Au,r2=N(()=>{"use strict";Nh();o6e=Cs(Object,"create"),Au=o6e});function l6e(){this.__data__=Au?Au(null):{},this.size=0}var dX,pX=N(()=>{"use strict";r2();o(l6e,"hashClear");dX=l6e});function c6e(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var mX,gX=N(()=>{"use strict";o(c6e,"hashDelete");mX=c6e});function d6e(t){var e=this.__data__;if(Au){var r=e[t];return r===u6e?void 0:r}return f6e.call(e,t)?e[t]:void 0}var u6e,h6e,f6e,yX,vX=N(()=>{"use strict";r2();u6e="__lodash_hash_undefined__",h6e=Object.prototype,f6e=h6e.hasOwnProperty;o(d6e,"hashGet");yX=d6e});function g6e(t){var e=this.__data__;return Au?e[t]!==void 0:m6e.call(e,t)}var p6e,m6e,xX,bX=N(()=>{"use strict";r2();p6e=Object.prototype,m6e=p6e.hasOwnProperty;o(g6e,"hashHas");xX=g6e});function v6e(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Au&&e===void 0?y6e:e,this}var y6e,TX,wX=N(()=>{"use strict";r2();y6e="__lodash_hash_undefined__";o(v6e,"hashSet");TX=v6e});function X0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";pX();gX();vX();bX();wX();o(X0,"Hash");X0.prototype.clear=dX;X0.prototype.delete=mX;X0.prototype.get=yX;X0.prototype.has=xX;X0.prototype.set=TX;r9=X0});function x6e(){this.__data__=[],this.size=0}var EX,SX=N(()=>{"use strict";o(x6e,"listCacheClear");EX=x6e});function b6e(t,e){return t===e||t!==t&&e!==e}var No,Ad=N(()=>{"use strict";o(b6e,"eq");No=b6e});function T6e(t,e){for(var r=t.length;r--;)if(No(t[r][0],e))return r;return-1}var Mh,n2=N(()=>{"use strict";Ad();o(T6e,"assocIndexOf");Mh=T6e});function E6e(t){var e=this.__data__,r=Mh(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():k6e.call(e,r,1),--this.size,!0}var w6e,k6e,CX,AX=N(()=>{"use strict";n2();w6e=Array.prototype,k6e=w6e.splice;o(E6e,"listCacheDelete");CX=E6e});function S6e(t){var e=this.__data__,r=Mh(e,t);return r<0?void 0:e[r][1]}var _X,DX=N(()=>{"use strict";n2();o(S6e,"listCacheGet");_X=S6e});function C6e(t){return Mh(this.__data__,t)>-1}var LX,RX=N(()=>{"use strict";n2();o(C6e,"listCacheHas");LX=C6e});function A6e(t,e){var r=this.__data__,n=Mh(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var NX,MX=N(()=>{"use strict";n2();o(A6e,"listCacheSet");NX=A6e});function j0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";SX();AX();DX();RX();MX();o(j0,"ListCache");j0.prototype.clear=EX;j0.prototype.delete=CX;j0.prototype.get=_X;j0.prototype.has=LX;j0.prototype.set=NX;Ih=j0});var _6e,Oh,sT=N(()=>{"use strict";Nh();Ro();_6e=Cs(hi,"Map"),Oh=_6e});function D6e(){this.size=0,this.__data__={hash:new r9,map:new(Oh||Ih),string:new r9}}var IX,OX=N(()=>{"use strict";kX();i2();sT();o(D6e,"mapCacheClear");IX=D6e});function L6e(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var PX,BX=N(()=>{"use strict";o(L6e,"isKeyable");PX=L6e});function R6e(t,e){var r=t.__data__;return PX(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Ph,a2=N(()=>{"use strict";BX();o(R6e,"getMapData");Ph=R6e});function N6e(t){var e=Ph(this,t).delete(t);return this.size-=e?1:0,e}var FX,$X=N(()=>{"use strict";a2();o(N6e,"mapCacheDelete");FX=N6e});function M6e(t){return Ph(this,t).get(t)}var zX,GX=N(()=>{"use strict";a2();o(M6e,"mapCacheGet");zX=M6e});function I6e(t){return Ph(this,t).has(t)}var VX,UX=N(()=>{"use strict";a2();o(I6e,"mapCacheHas");VX=I6e});function O6e(t,e){var r=Ph(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var HX,WX=N(()=>{"use strict";a2();o(O6e,"mapCacheSet");HX=O6e});function K0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{"use strict";OX();$X();GX();UX();WX();o(K0,"MapCache");K0.prototype.clear=IX;K0.prototype.delete=FX;K0.prototype.get=zX;K0.prototype.has=VX;K0.prototype.set=HX;_d=K0});function n9(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(P6e);var r=o(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(n9.Cache||_d),r}var P6e,Q0,i9=N(()=>{"use strict";oT();P6e="Expected a function";o(n9,"memoize");n9.Cache=_d;Q0=n9});function B6e(){this.__data__=new Ih,this.size=0}var qX,YX=N(()=>{"use strict";i2();o(B6e,"stackClear");qX=B6e});function F6e(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var XX,jX=N(()=>{"use strict";o(F6e,"stackDelete");XX=F6e});function $6e(t){return this.__data__.get(t)}var KX,QX=N(()=>{"use strict";o($6e,"stackGet");KX=$6e});function z6e(t){return this.__data__.has(t)}var ZX,JX=N(()=>{"use strict";o(z6e,"stackHas");ZX=z6e});function V6e(t,e){var r=this.__data__;if(r instanceof Ih){var n=r.__data__;if(!Oh||n.length{"use strict";i2();sT();oT();G6e=200;o(V6e,"stackSet");ej=V6e});function Z0(t){var e=this.__data__=new Ih(t);this.size=e.size}var hc,s2=N(()=>{"use strict";i2();YX();jX();QX();JX();tj();o(Z0,"Stack");Z0.prototype.clear=qX;Z0.prototype.delete=XX;Z0.prototype.get=KX;Z0.prototype.has=ZX;Z0.prototype.set=ej;hc=Z0});var U6e,J0,a9=N(()=>{"use strict";Nh();U6e=function(){try{var t=Cs(Object,"defineProperty");return t({},"",{}),t}catch{}}(),J0=U6e});function H6e(t,e,r){e=="__proto__"&&J0?J0(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var fc,em=N(()=>{"use strict";a9();o(H6e,"baseAssignValue");fc=H6e});function W6e(t,e,r){(r!==void 0&&!No(t[e],r)||r===void 0&&!(e in t))&&fc(t,e,r)}var o2,s9=N(()=>{"use strict";em();Ad();o(W6e,"assignMergeValue");o2=W6e});function q6e(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),l=s.length;l--;){var u=s[t?l:++i];if(r(a[u],u,a)===!1)break}return e}}var rj,nj=N(()=>{"use strict";o(q6e,"createBaseFor");rj=q6e});var Y6e,tm,lT=N(()=>{"use strict";nj();Y6e=rj(),tm=Y6e});function j6e(t,e){if(e)return t.slice();var r=t.length,n=sj?sj(r):new t.constructor(r);return t.copy(n),n}var oj,ij,X6e,aj,sj,cT,o9=N(()=>{"use strict";Ro();oj=typeof exports=="object"&&exports&&!exports.nodeType&&exports,ij=oj&&typeof module=="object"&&module&&!module.nodeType&&module,X6e=ij&&ij.exports===oj,aj=X6e?hi.Buffer:void 0,sj=aj?aj.allocUnsafe:void 0;o(j6e,"cloneBuffer");cT=j6e});var K6e,rm,l9=N(()=>{"use strict";Ro();K6e=hi.Uint8Array,rm=K6e});function Q6e(t){var e=new t.constructor(t.byteLength);return new rm(e).set(new rm(t)),e}var nm,uT=N(()=>{"use strict";l9();o(Q6e,"cloneArrayBuffer");nm=Q6e});function Z6e(t,e){var r=e?nm(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var hT,c9=N(()=>{"use strict";uT();o(Z6e,"cloneTypedArray");hT=Z6e});function J6e(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r{"use strict";o(J6e,"copyArray");fT=J6e});var lj,eCe,cj,uj=N(()=>{"use strict";to();lj=Object.create,eCe=function(){function t(){}return o(t,"object"),function(e){if(!xn(e))return{};if(lj)return lj(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),cj=eCe});function tCe(t,e){return function(r){return t(e(r))}}var dT,h9=N(()=>{"use strict";o(tCe,"overArg");dT=tCe});var rCe,im,pT=N(()=>{"use strict";h9();rCe=dT(Object.getPrototypeOf,Object),im=rCe});function iCe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||nCe;return t===r}var nCe,dc,am=N(()=>{"use strict";nCe=Object.prototype;o(iCe,"isPrototype");dc=iCe});function aCe(t){return typeof t.constructor=="function"&&!dc(t)?cj(im(t)):{}}var mT,f9=N(()=>{"use strict";uj();pT();am();o(aCe,"initCloneObject");mT=aCe});function sCe(t){return t!=null&&typeof t=="object"}var ni,Mo=N(()=>{"use strict";o(sCe,"isObjectLike");ni=sCe});function lCe(t){return ni(t)&&ua(t)==oCe}var oCe,d9,hj=N(()=>{"use strict";Su();Mo();oCe="[object Arguments]";o(lCe,"baseIsArguments");d9=lCe});var fj,cCe,uCe,hCe,Al,sm=N(()=>{"use strict";hj();Mo();fj=Object.prototype,cCe=fj.hasOwnProperty,uCe=fj.propertyIsEnumerable,hCe=d9(function(){return arguments}())?d9:function(t){return ni(t)&&cCe.call(t,"callee")&&!uCe.call(t,"callee")},Al=hCe});var fCe,Pt,Un=N(()=>{"use strict";fCe=Array.isArray,Pt=fCe});function pCe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=dCe}var dCe,om,gT=N(()=>{"use strict";dCe=9007199254740991;o(pCe,"isLength");om=pCe});function mCe(t){return t!=null&&om(t.length)&&!Ci(t)}var fi,Io=N(()=>{"use strict";t2();gT();o(mCe,"isArrayLike");fi=mCe});function gCe(t){return ni(t)&&fi(t)}var Dd,yT=N(()=>{"use strict";Io();Mo();o(gCe,"isArrayLikeObject");Dd=gCe});function yCe(){return!1}var dj,pj=N(()=>{"use strict";o(yCe,"stubFalse");dj=yCe});var yj,mj,vCe,gj,xCe,bCe,_l,lm=N(()=>{"use strict";Ro();pj();yj=typeof exports=="object"&&exports&&!exports.nodeType&&exports,mj=yj&&typeof module=="object"&&module&&!module.nodeType&&module,vCe=mj&&mj.exports===yj,gj=vCe?hi.Buffer:void 0,xCe=gj?gj.isBuffer:void 0,bCe=xCe||dj,_l=bCe});function CCe(t){if(!ni(t)||ua(t)!=TCe)return!1;var e=im(t);if(e===null)return!0;var r=ECe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&vj.call(r)==SCe}var TCe,wCe,kCe,vj,ECe,SCe,xj,bj=N(()=>{"use strict";Su();pT();Mo();TCe="[object Object]",wCe=Function.prototype,kCe=Object.prototype,vj=wCe.toString,ECe=kCe.hasOwnProperty,SCe=vj.call(Object);o(CCe,"isPlainObject");xj=CCe});function QCe(t){return ni(t)&&om(t.length)&&!!Bn[ua(t)]}var ACe,_Ce,DCe,LCe,RCe,NCe,MCe,ICe,OCe,PCe,BCe,FCe,$Ce,zCe,GCe,VCe,UCe,HCe,WCe,qCe,YCe,XCe,jCe,KCe,Bn,Tj,wj=N(()=>{"use strict";Su();gT();Mo();ACe="[object Arguments]",_Ce="[object Array]",DCe="[object Boolean]",LCe="[object Date]",RCe="[object Error]",NCe="[object Function]",MCe="[object Map]",ICe="[object Number]",OCe="[object Object]",PCe="[object RegExp]",BCe="[object Set]",FCe="[object String]",$Ce="[object WeakMap]",zCe="[object ArrayBuffer]",GCe="[object DataView]",VCe="[object Float32Array]",UCe="[object Float64Array]",HCe="[object Int8Array]",WCe="[object Int16Array]",qCe="[object Int32Array]",YCe="[object Uint8Array]",XCe="[object Uint8ClampedArray]",jCe="[object Uint16Array]",KCe="[object Uint32Array]",Bn={};Bn[VCe]=Bn[UCe]=Bn[HCe]=Bn[WCe]=Bn[qCe]=Bn[YCe]=Bn[XCe]=Bn[jCe]=Bn[KCe]=!0;Bn[ACe]=Bn[_Ce]=Bn[zCe]=Bn[DCe]=Bn[GCe]=Bn[LCe]=Bn[RCe]=Bn[NCe]=Bn[MCe]=Bn[ICe]=Bn[OCe]=Bn[PCe]=Bn[BCe]=Bn[FCe]=Bn[$Ce]=!1;o(QCe,"baseIsTypedArray");Tj=QCe});function ZCe(t){return function(e){return t(e)}}var Oo,Ld=N(()=>{"use strict";o(ZCe,"baseUnary");Oo=ZCe});var kj,l2,JCe,p9,e7e,Po,c2=N(()=>{"use strict";e9();kj=typeof exports=="object"&&exports&&!exports.nodeType&&exports,l2=kj&&typeof module=="object"&&module&&!module.nodeType&&module,JCe=l2&&l2.exports===kj,p9=JCe&&iT.process,e7e=function(){try{var t=l2&&l2.require&&l2.require("util").types;return t||p9&&p9.binding&&p9.binding("util")}catch{}}(),Po=e7e});var Ej,t7e,Bh,u2=N(()=>{"use strict";wj();Ld();c2();Ej=Po&&Po.isTypedArray,t7e=Ej?Oo(Ej):Tj,Bh=t7e});function r7e(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}var h2,m9=N(()=>{"use strict";o(r7e,"safeGet");h2=r7e});function a7e(t,e,r){var n=t[e];(!(i7e.call(t,e)&&No(n,r))||r===void 0&&!(e in t))&&fc(t,e,r)}var n7e,i7e,pc,cm=N(()=>{"use strict";em();Ad();n7e=Object.prototype,i7e=n7e.hasOwnProperty;o(a7e,"assignValue");pc=a7e});function s7e(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a{"use strict";cm();em();o(s7e,"copyObject");Bo=s7e});function o7e(t,e){for(var r=-1,n=Array(t);++r{"use strict";o(o7e,"baseTimes");Sj=o7e});function u7e(t,e){var r=typeof t;return e=e??l7e,!!e&&(r=="number"||r!="symbol"&&c7e.test(t))&&t>-1&&t%1==0&&t{"use strict";l7e=9007199254740991,c7e=/^(?:0|[1-9]\d*)$/;o(u7e,"isIndex");Fh=u7e});function d7e(t,e){var r=Pt(t),n=!r&&Al(t),i=!r&&!n&&_l(t),a=!r&&!n&&!i&&Bh(t),s=r||n||i||a,l=s?Sj(t.length,String):[],u=l.length;for(var h in t)(e||f7e.call(t,h))&&!(s&&(h=="length"||i&&(h=="offset"||h=="parent")||a&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||Fh(h,u)))&&l.push(h);return l}var h7e,f7e,vT,g9=N(()=>{"use strict";Cj();sm();Un();lm();f2();u2();h7e=Object.prototype,f7e=h7e.hasOwnProperty;o(d7e,"arrayLikeKeys");vT=d7e});function p7e(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Aj,_j=N(()=>{"use strict";o(p7e,"nativeKeysIn");Aj=p7e});function y7e(t){if(!xn(t))return Aj(t);var e=dc(t),r=[];for(var n in t)n=="constructor"&&(e||!g7e.call(t,n))||r.push(n);return r}var m7e,g7e,Dj,Lj=N(()=>{"use strict";to();am();_j();m7e=Object.prototype,g7e=m7e.hasOwnProperty;o(y7e,"baseKeysIn");Dj=y7e});function v7e(t){return fi(t)?vT(t,!0):Dj(t)}var As,$h=N(()=>{"use strict";g9();Lj();Io();o(v7e,"keysIn");As=v7e});function x7e(t){return Bo(t,As(t))}var Rj,Nj=N(()=>{"use strict";Rd();$h();o(x7e,"toPlainObject");Rj=x7e});function b7e(t,e,r,n,i,a,s){var l=h2(t,r),u=h2(e,r),h=s.get(u);if(h){o2(t,r,h);return}var f=a?a(l,u,r+"",t,e,s):void 0,d=f===void 0;if(d){var p=Pt(u),m=!p&&_l(u),g=!p&&!m&&Bh(u);f=u,p||m||g?Pt(l)?f=l:Dd(l)?f=fT(l):m?(d=!1,f=cT(u,!0)):g?(d=!1,f=hT(u,!0)):f=[]:xj(u)||Al(u)?(f=l,Al(l)?f=Rj(l):(!xn(l)||Ci(l))&&(f=mT(u))):d=!1}d&&(s.set(u,f),i(f,u,n,a,s),s.delete(u)),o2(t,r,f)}var Mj,Ij=N(()=>{"use strict";s9();o9();c9();u9();f9();sm();Un();yT();lm();t2();to();bj();u2();m9();Nj();o(b7e,"baseMergeDeep");Mj=b7e});function Oj(t,e,r,n,i){t!==e&&tm(e,function(a,s){if(i||(i=new hc),xn(a))Mj(t,e,s,r,Oj,n,i);else{var l=n?n(h2(t,s),a,s+"",t,e,i):void 0;l===void 0&&(l=a),o2(t,s,l)}},As)}var Pj,Bj=N(()=>{"use strict";s2();s9();lT();Ij();to();$h();m9();o(Oj,"baseMerge");Pj=Oj});function T7e(t){return t}var Ji,_u=N(()=>{"use strict";o(T7e,"identity");Ji=T7e});function w7e(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var Fj,$j=N(()=>{"use strict";o(w7e,"apply");Fj=w7e});function k7e(t,e,r){return e=zj(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=zj(n.length-e,0),s=Array(a);++i{"use strict";$j();zj=Math.max;o(k7e,"overRest");xT=k7e});function E7e(t){return function(){return t}}var _s,v9=N(()=>{"use strict";o(E7e,"constant");_s=E7e});var S7e,Gj,Vj=N(()=>{"use strict";v9();a9();_u();S7e=J0?function(t,e){return J0(t,"toString",{configurable:!0,enumerable:!1,value:_s(e),writable:!0})}:Ji,Gj=S7e});function D7e(t){var e=0,r=0;return function(){var n=_7e(),i=A7e-(n-r);if(r=n,i>0){if(++e>=C7e)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var C7e,A7e,_7e,Uj,Hj=N(()=>{"use strict";C7e=800,A7e=16,_7e=Date.now;o(D7e,"shortOut");Uj=D7e});var L7e,bT,x9=N(()=>{"use strict";Vj();Hj();L7e=Uj(Gj),bT=L7e});function R7e(t,e){return bT(xT(t,e,Ji),t+"")}var mc,um=N(()=>{"use strict";_u();y9();x9();o(R7e,"baseRest");mc=R7e});function N7e(t,e,r){if(!xn(r))return!1;var n=typeof e;return(n=="number"?fi(r)&&Fh(e,r.length):n=="string"&&e in r)?No(r[e],t):!1}var ro,Nd=N(()=>{"use strict";Ad();Io();f2();to();o(N7e,"isIterateeCall");ro=N7e});function M7e(t){return mc(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&ro(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++n{"use strict";um();Nd();o(M7e,"createAssigner");TT=M7e});var I7e,zh,T9=N(()=>{"use strict";Bj();b9();I7e=TT(function(t,e,r){Pj(t,e,r)}),zh=I7e});function E9(t,e){if(!t)return e;let r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return O7e[r]??e}function $7e(t,e){let r=t.trim();if(r)return e.securityLevel!=="loose"?(0,Yj.sanitizeUrl)(r):r}function Kj(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function G7e(t){let e,r=0;t.forEach(i=>{r+=Kj(i,e),e=i});let n=r/2;return S9(t,n)}function V7e(t){return t.length===1?t[0]:G7e(t)}function H7e(t,e,r){let n=structuredClone(r);X.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();let i=25+t,a=S9(n,i),s=10+t*.5,l=Math.atan2(n[0].y-a.y,n[0].x-a.x),u={x:0,y:0};return e==="start_left"?(u.x=Math.sin(l+Math.PI)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(u.x=Math.sin(l-Math.PI)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(u.x=Math.sin(l)*s+(n[0].x+a.x)/2-5,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2-5):(u.x=Math.sin(l)*s+(n[0].x+a.x)/2,u.y=-Math.cos(l)*s+(n[0].y+a.y)/2),u}function C9(t){let e="",r="";for(let n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}function W7e(t){let e="",r="0123456789abcdef",n=r.length;for(let i=0;iMath.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}var Yj,k9,O7e,P7e,B7e,Xj,jj,F7e,z7e,Wj,S9,U7e,qj,A9,_9,q7e,Y7e,D9,X7e,L9,w9,wT,j7e,K7e,Fo,Vt,Qj,ta,Gh,nr=N(()=>{"use strict";Yj=Sa(Y0(),1);pr();dr();h7();yt();ad();c0();i9();T9();I3();k9="\u200B",O7e={curveBasis:Lo,curveBasisClosed:q5,curveBasisOpen:Y5,curveBumpX:$v,curveBumpY:zv,curveBundle:GD,curveCardinalClosed:VD,curveCardinalOpen:HD,curveCardinal:Hv,curveCatmullRomClosed:qD,curveCatmullRomOpen:YD,curveCatmullRom:Yv,curveLinear:ku,curveLinearClosed:Z5,curveMonotoneX:Xv,curveMonotoneY:jv,curveNatural:W0,curveStep:q0,curveStepAfter:Qv,curveStepBefore:Kv},P7e=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,B7e=o(function(t,e){let r=Xj(t,/(?:init\b)|(?:initialize\b)/),n={};if(Array.isArray(r)){let s=r.map(l=>l.args);h0(s),n=Gn(n,[...s])}else n=r.args;if(!n)return;let i=b0(t,e),a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),Xj=o(function(t,e=null){try{let r=new RegExp(`[%]{2}(?![{]${P7e.source})(?=[}][%]{2}).* +`,"ig");t=t.trim().replace(r,"").replace(/'/gm,'"'),X.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let n,i=[];for(;(n=id.exec(t))!==null;)if(n.index===id.lastIndex&&id.lastIndex++,n&&!e||e&&n[1]?.match(e)||e&&n[2]?.match(e)){let a=n[1]?n[1]:n[2],s=n[3]?n[3].trim():n[4]?JSON.parse(n[4].trim()):null;i.push({type:a,args:s})}return i.length===0?{type:t,args:null}:i.length===1?i[0]:i}catch(r){return X.error(`ERROR: ${r.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),jj=o(function(t){return t.replace(id,"")},"removeDirectives"),F7e=o(function(t,e){for(let[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");o(E9,"interpolateToCurve");o($7e,"formatUrl");z7e=o((t,...e)=>{let r=t.split("."),n=r.length-1,i=r[n],a=window;for(let s=0;s{let r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),S9=o((t,e)=>{let r,n=e;for(let i of t){if(r){let a=Kj(i,r);if(a===0)return r;if(a=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:Wj((1-s)*r.x+s*i.x,5),y:Wj((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),U7e=o((t,e,r)=>{X.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());let i=S9(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),l={x:0,y:0};return l.x=Math.sin(s)*a+(e[0].x+i.x)/2,l.y=-Math.cos(s)*a+(e[0].y+i.y)/2,l},"calcCardinalityPosition");o(H7e,"calcTerminalLabelPosition");o(C9,"getStylesFromArray");qj=0,A9=o(()=>(qj++,"id-"+Math.random().toString(36).substr(2,12)+"-"+qj),"generateId");o(W7e,"makeRandomHex");_9=o(t=>W7e(t.length),"random"),q7e=o(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),Y7e=o(function(t,e){let r=e.text.replace(Ze.lineBreakRegex," "),[,n]=Fo(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);let a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),D9=Q0((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"
    "},r),Ze.lineBreakRegex.test(t)))return t;let n=t.split(" ").filter(Boolean),i=[],a="";return n.forEach((s,l)=>{let u=ea(`${s} `,r),h=ea(a,r);if(u>e){let{hyphenatedStrings:p,remainingWord:m}=X7e(s,e,"-",r);i.push(a,...p),a=m}else h+u>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");l+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),X7e=Q0((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);let i=[...t],a=[],s="";return i.forEach((l,u)=>{let h=`${s}${l}`;if(ea(h,n)>=e){let d=u+1,p=i.length===d,m=`${h}${r}`;a.push(p?h:m),s=""}else s=h}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);o(kT,"calculateTextHeight");o(ea,"calculateTextWidth");L9=Q0((t,e)=>{let{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};let[,a]=Fo(r),s=["sans-serif",n],l=t.split(Ze.lineBreakRegex),u=[],h=Ge("body");if(!h.remove)return{width:0,height:0,lineHeight:0};let f=h.append("svg");for(let p of s){let m=0,g={width:0,height:0,lineHeight:0};for(let y of l){let v=q7e();v.text=y||k9;let x=Y7e(f,v).style("font-size",a).style("font-weight",i).style("font-family",p),b=(x._groups||x)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),m=Math.round(b.height),g.height+=m,g.lineHeight=Math.round(Math.max(g.lineHeight,m))}u.push(g)}f.remove();let d=isNaN(u[1].height)||isNaN(u[1].width)||isNaN(u[1].lineHeight)||u[0].height>u[1].height&&u[0].width>u[1].width&&u[0].lineHeight>u[1].lineHeight?0:1;return u[d]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),w9=class{constructor(e=!1,r){this.count=0;this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}static{o(this,"InitIDGenerator")}},j7e=o(function(t){return wT=wT||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),wT.innerHTML=t,unescape(wT.textContent)},"entityDecode");o(R9,"isDetailedError");K7e=o((t,e,r,n)=>{if(!n)return;let i=t.node()?.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),Fo=o(t=>{if(typeof t=="number")return[t,t+"px"];let e=parseInt(t??"",10);return Number.isNaN(e)?[void 0,void 0]:t===String(e)?[e,t+"px"]:[e,t]},"parseFontSize");o(Fn,"cleanAndMerge");Vt={assignWithDepth:Gn,wrapLabel:D9,calculateTextHeight:kT,calculateTextWidth:ea,calculateTextDimensions:L9,cleanAndMerge:Fn,detectInit:B7e,detectDirective:Xj,isSubstringInArray:F7e,interpolateToCurve:E9,calcLabelPosition:V7e,calcCardinalityPosition:U7e,calcTerminalLabelPosition:H7e,formatUrl:$7e,getStylesFromArray:C9,generateId:A9,random:_9,runFunc:z7e,entityDecode:j7e,insertTitle:K7e,isLabelCoordinateInPath:Q7e,parseFontSize:Fo,InitIDGenerator:w9},Qj=o(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){let n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"\uFB02\xB0\xB0"+n+"\xB6\xDF":"\uFB02\xB0"+n+"\xB6\xDF"}),e},"encodeEntities"),ta=o(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),Gh=o((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");o(ii,"handleUndefinedAttr");o(Q7e,"isLabelCoordinateInPath")});function Dl(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=D9(e[t].text,i,n),e[t].textLines=e[t].text.split(Ze.lineBreakRegex).length,e[t].width=i,e[t].height=kT(e[t].text,n);else{let a=e[t].text.split(Ze.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(let l of a)e[t].width=Math.max(ea(l,n),e[t].width),s=kT(l,n),e[t].height=e[t].height+s}}function rK(t,e,r,n,i){let a=new AT(i);a.data.widthLimit=r.data.widthLimit/Math.min(N9,n.length);for(let[s,l]of n.entries()){let u=0;l.image={width:0,height:0,Y:0},l.sprite&&(l.image.width=48,l.image.height=48,l.image.Y=u,u=l.image.Y+l.image.height);let h=l.wrap&&Ut.wrap,f=ET(Ut);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",Dl("label",l,h,f,a.data.widthLimit),l.label.Y=u+8,u=l.label.Y+l.label.height,l.type&&l.type.text!==""){l.type.text="["+l.type.text+"]";let g=ET(Ut);Dl("type",l,h,g,a.data.widthLimit),l.type.Y=u+5,u=l.type.Y+l.type.height}if(l.descr&&l.descr.text!==""){let g=ET(Ut);g.fontSize=g.fontSize-2,Dl("descr",l,h,g,a.data.widthLimit),l.descr.Y=u+20,u=l.descr.Y+l.descr.height}if(s==0||s%N9===0){let g=r.data.startx+Ut.diagramMarginX,y=r.data.stopy+Ut.diagramMarginY+u;a.setData(g,g,y,y)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+Ut.diagramMarginX:a.data.startx,y=a.data.starty;a.setData(g,g,y,y)}a.name=l.alias;let d=i.db.getC4ShapeArray(l.alias),p=i.db.getC4ShapeKeys(l.alias);p.length>0&&tK(a,t,d,p),e=l.alias;let m=i.db.getBoundaries(e);m.length>0&&rK(t,e,a,m,i),l.alias!=="global"&&eK(t,l,a),r.data.stopy=Math.max(a.data.stopy+Ut.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+Ut.c4ShapeMargin,r.data.stopx),ST=Math.max(ST,r.data.stopx),CT=Math.max(CT,r.data.stopy)}}var ST,CT,Jj,N9,Ut,AT,M9,d2,ET,Z7e,eK,tK,Ds,Zj,J7e,eAe,tAe,I9,nK=N(()=>{"use strict";pr();ZY();yt();yA();dr();AA();qt();c0();nr();yi();ST=0,CT=0,Jj=4,N9=2;Zy.yy=iv;Ut={},AT=class{static{o(this,"Bounds")}constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,M9(e.db.getConfig())}setData(e,r,n,i){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=r,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=i}updateVal(e,r,n,i){e[r]===void 0?e[r]=n:e[r]=i(n,e[r])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let r=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,n=r+e.width,i=this.nextData.starty+e.margin*2,a=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>Jj)&&(r=this.nextData.startx+e.margin+Ut.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},M9(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},M9=o(function(t){Gn(Ut,t),t.fontFamily&&(Ut.personFontFamily=Ut.systemFontFamily=Ut.messageFontFamily=t.fontFamily),t.fontSize&&(Ut.personFontSize=Ut.systemFontSize=Ut.messageFontSize=t.fontSize),t.fontWeight&&(Ut.personFontWeight=Ut.systemFontWeight=Ut.messageFontWeight=t.fontWeight)},"setConf"),d2=o((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),ET=o(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),Z7e=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");o(Dl,"calcC4ShapeTextWH");eK=o(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=Ut.c4ShapeMargin-35;let n=e.wrap&&Ut.wrap,i=ET(Ut);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=ea(e.label.text,i);Dl("label",e,n,i,a),Cl.drawBoundary(t,e,Ut)},"drawBoundary"),tK=o(function(t,e,r,n){let i=0;for(let a of n){i=0;let s=r[a],l=d2(Ut,s.typeC4Shape.text);switch(l.fontSize=l.fontSize-2,s.typeC4Shape.width=ea("\xAB"+s.typeC4Shape.text+"\xBB",l),s.typeC4Shape.height=l.fontSize+2,s.typeC4Shape.Y=Ut.c4ShapePadding,i=s.typeC4Shape.Y+s.typeC4Shape.height-4,s.image={width:0,height:0,Y:0},s.typeC4Shape.text){case"person":case"external_person":s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let u=s.wrap&&Ut.wrap,h=Ut.width-Ut.c4ShapePadding*2,f=d2(Ut,s.typeC4Shape.text);if(f.fontSize=f.fontSize+2,f.fontWeight="bold",Dl("label",s,u,f,h),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let m=d2(Ut,s.typeC4Shape.text);Dl("type",s,u,m,h),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let m=d2(Ut,s.techn.text);Dl("techn",s,u,m,h),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let d=i,p=s.label.width;if(s.descr&&s.descr.text!==""){let m=d2(Ut,s.typeC4Shape.text);Dl("descr",s,u,m,h),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,p=Math.max(s.label.width,s.descr.width),d=i-s.descr.textLines*5}p=p+Ut.c4ShapePadding,s.width=Math.max(s.width||Ut.width,p,Ut.width),s.height=Math.max(s.height||Ut.height,d,Ut.height),s.margin=s.margin||Ut.c4ShapeMargin,t.insert(s),Cl.drawC4Shape(e,s,Ut)}t.bumpLastMargin(Ut.c4ShapeMargin)},"drawC4ShapeArray"),Ds=class{static{o(this,"Point")}constructor(e,r){this.x=e,this.y=r}},Zj=o(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,l=n+t.height/2,u=Math.abs(r-i),h=Math.abs(n-a),f=h/u,d=t.height/t.width,p=null;return n==a&&ri?p=new Ds(r,l):r==i&&na&&(p=new Ds(s,n)),r>i&&n=f?p=new Ds(r,l+f*t.width/2):p=new Ds(s-u/h*t.height/2,n+t.height):r=f?p=new Ds(r+t.width,l+f*t.width/2):p=new Ds(s+u/h*t.height/2,n+t.height):ra?d>=f?p=new Ds(r+t.width,l-f*t.width/2):p=new Ds(s+t.height/2*u/h,n):r>i&&n>a&&(d>=f?p=new Ds(r,l-t.width/2*f):p=new Ds(s-t.height/2*u/h,n)),p},"getIntersectPoint"),J7e=o(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=Zj(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=Zj(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),eAe=o(function(t,e,r,n){let i=0;for(let a of e){i=i+1;let s=a.wrap&&Ut.wrap,l=Z7e(Ut);n.db.getC4Type()==="C4Dynamic"&&(a.label.text=i+": "+a.label.text);let h=ea(a.label.text,l);Dl("label",a,s,l,h),a.techn&&a.techn.text!==""&&(h=ea(a.techn.text,l),Dl("techn",a,s,l,h)),a.descr&&a.descr.text!==""&&(h=ea(a.descr.text,l),Dl("descr",a,s,l,h));let f=r(a.from),d=r(a.to),p=J7e(f,d);a.startPoint=p.startPoint,a.endPoint=p.endPoint}Cl.drawRels(t,e,Ut)},"drawRels");o(rK,"drawInsideBoundary");tAe=o(function(t,e,r,n){Ut=ge().c4;let i=ge().securityLevel,a;i==="sandbox"&&(a=Ge("#i"+e));let s=i==="sandbox"?Ge(a.nodes()[0].contentDocument.body):Ge("body"),l=n.db;n.db.setWrap(Ut.wrap),Jj=l.getC4ShapeInRow(),N9=l.getC4BoundaryInRow(),X.debug(`C:${JSON.stringify(Ut,null,2)}`);let u=i==="sandbox"?s.select(`[id="${e}"]`):Ge(`[id="${e}"]`);Cl.insertComputerIcon(u),Cl.insertDatabaseIcon(u),Cl.insertClockIcon(u);let h=new AT(n);h.setData(Ut.diagramMarginX,Ut.diagramMarginX,Ut.diagramMarginY,Ut.diagramMarginY),h.data.widthLimit=screen.availWidth,ST=Ut.diagramMarginX,CT=Ut.diagramMarginY;let f=n.db.getTitle(),d=n.db.getBoundaries("");rK(u,"",h,d,n),Cl.insertArrowHead(u),Cl.insertArrowEnd(u),Cl.insertArrowCrossHead(u),Cl.insertArrowFilledHead(u),eAe(u,n.db.getRels(),n.db.getC4Shape,n),h.data.stopx=ST,h.data.stopy=CT;let p=h.data,g=p.stopy-p.starty+2*Ut.diagramMarginY,v=p.stopx-p.startx+2*Ut.diagramMarginX;f&&u.append("text").text(f).attr("x",(p.stopx-p.startx)/2-4*Ut.diagramMarginX).attr("y",p.starty+Ut.diagramMarginY),hn(u,g,v,Ut.useMaxWidth);let x=f?60:0;u.attr("viewBox",p.startx-Ut.diagramMarginX+" -"+(Ut.diagramMarginY+x)+" "+v+" "+(g+x)),X.debug("models:",p)},"draw"),I9={drawPersonOrSystemArray:tK,drawBoundary:eK,setConf:M9,draw:tAe}});var rAe,iK,aK=N(()=>{"use strict";rAe=o(t=>`.person { + stroke: ${t.personBorder}; + fill: ${t.personBkg}; + } +`,"getStyles"),iK=rAe});var sK={};hr(sK,{diagram:()=>nAe});var nAe,oK=N(()=>{"use strict";yA();AA();nK();aK();nAe={parser:LV,db:iv,renderer:I9,styles:iK,init:o(({c4:t,wrap:e})=>{I9.setConf(t),iv.setWrap(e)},"init")}});function SK(t){return typeof t>"u"||t===null}function oAe(t){return typeof t=="object"&&t!==null}function lAe(t){return Array.isArray(t)?t:SK(t)?[]:[t]}function cAe(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;rl&&(a=" ... ",e=n-l+a.length),r-n>l&&(s=" ...",r=n+l-s.length),{str:a+t.slice(e,r).replace(/\t/g,"\u2192")+s,pos:n-e+a.length}}function P9(t,e){return $i.repeat(" ",e-t.length)+t}function vAe(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var l="",u,h,f=Math.min(t.line+e.linesAfter,i.length).toString().length,d=e.maxLength-(e.indent+f+3);for(u=1;u<=e.linesBefore&&!(s-u<0);u++)h=O9(t.buffer,n[s-u],i[s-u],t.position-(n[s]-n[s-u]),d),l=$i.repeat(" ",e.indent)+P9((t.line-u+1).toString(),f)+" | "+h.str+` +`+l;for(h=O9(t.buffer,n[s],i[s],t.position,d),l+=$i.repeat(" ",e.indent)+P9((t.line+1).toString(),f)+" | "+h.str+` +`,l+=$i.repeat("-",e.indent+f+3+h.pos)+`^ +`,u=1;u<=e.linesAfter&&!(s+u>=i.length);u++)h=O9(t.buffer,n[s+u],i[s+u],t.position-(n[s]-n[s+u]),d),l+=$i.repeat(" ",e.indent)+P9((t.line+u+1).toString(),f)+" | "+h.str+` +`;return l.replace(/\n$/,"")}function wAe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}function kAe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(bAe.indexOf(r)===-1)throw new Ls('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=wAe(e.styleAliases||null),TAe.indexOf(this.kind)===-1)throw new Ls('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}function uK(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}function EAe(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(o(n,"collectType"),e=0,r=arguments.length;e=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}function jAe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if($i.isNegativeZero(t))return"-0.0";return r=t.toString(10),XAe.test(r)?r.replace("e",".e"):r}function KAe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||$i.isNegativeZero(t))}function JAe(t){return t===null?!1:_K.exec(t)!==null||DK.exec(t)!==null}function e8e(t){var e,r,n,i,a,s,l,u=0,h=null,f,d,p;if(e=_K.exec(t),e===null&&(e=DK.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],l=+e[6],e[7]){for(u=e[7].slice(0,3);u.length<3;)u+="0";u=+u}return e[9]&&(f=+e[10],d=+(e[11]||0),h=(f*60+d)*6e4,e[9]==="-"&&(h=-h)),p=new Date(Date.UTC(r,n,i,a,s,l,u)),h&&p.setTime(p.getTime()-h),p}function t8e(t){return t.toISOString()}function n8e(t){return t==="<<"||t===null}function a8e(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=U9;for(r=0;r64)){if(e<0)return!1;n+=6}return n%8===0}function s8e(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=U9,s=0,l=[];for(e=0;e>16&255),l.push(s>>8&255),l.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(l.push(s>>16&255),l.push(s>>8&255),l.push(s&255)):r===18?(l.push(s>>10&255),l.push(s>>2&255)):r===12&&l.push(s>>4&255),new Uint8Array(l)}function o8e(t){var e="",r=0,n,i,a=t.length,s=U9;for(n=0;n>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}function l8e(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}function f8e(t){if(t===null)return!0;var e=[],r,n,i,a,s,l=t;for(r=0,n=l.length;r>10)+55296,(t-65536&1023)+56320)}function R8e(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||LK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function BK(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=xAe(r),new Ls(e,r)}function Zt(t,e){throw BK(t,e)}function LT(t,e){t.onWarning&&t.onWarning.call(null,BK(t,e))}function Vh(t,e,r,n){var i,a,s,l;if(e1&&(t.result+=$i.repeat(` +`,e-1))}function N8e(t,e,r){var n,i,a,s,l,u,h,f,d=t.kind,p=t.result,m;if(m=t.input.charCodeAt(t.position),Rs(m)||fm(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(i=t.input.charCodeAt(t.position+1),Rs(i)||r&&fm(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,l=!1;m!==0;){if(m===58){if(i=t.input.charCodeAt(t.position+1),Rs(i)||r&&fm(i))break}else if(m===35){if(n=t.input.charCodeAt(t.position-1),Rs(n))break}else{if(t.position===t.lineStart&&MT(t)||r&&fm(m))break;if(gc(m))if(u=t.line,h=t.lineStart,f=t.lineIndent,Ai(t,!1,-1),t.lineIndent>=e){l=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=u,t.lineStart=h,t.lineIndent=f;break}}l&&(Vh(t,a,s,!1),W9(t,t.line-u),a=s=t.position,l=!1),Id(m)||(s=t.position+1),m=t.input.charCodeAt(++t.position)}return Vh(t,a,s,!1),t.result?!0:(t.kind=d,t.result=p,!1)}function M8e(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Vh(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else gc(r)?(Vh(t,n,i,!0),W9(t,Ai(t,!1,e)),n=i=t.position):t.position===t.lineStart&&MT(t)?Zt(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);Zt(t,"unexpected end of the stream within a single quoted scalar")}function I8e(t,e){var r,n,i,a,s,l;if(l=t.input.charCodeAt(t.position),l!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(l=t.input.charCodeAt(t.position))!==0;){if(l===34)return Vh(t,r,t.position,!0),t.position++,!0;if(l===92){if(Vh(t,r,t.position,!0),l=t.input.charCodeAt(++t.position),gc(l))Ai(t,!1,e);else if(l<256&&OK[l])t.result+=PK[l],t.position++;else if((s=_8e(l))>0){for(i=s,a=0;i>0;i--)l=t.input.charCodeAt(++t.position),(s=A8e(l))>=0?a=(a<<4)+s:Zt(t,"expected hexadecimal character");t.result+=L8e(a),t.position++}else Zt(t,"unknown escape sequence");r=n=t.position}else gc(l)?(Vh(t,r,n,!0),W9(t,Ai(t,!1,e)),r=n=t.position):t.position===t.lineStart&&MT(t)?Zt(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}Zt(t,"unexpected end of the stream within a double quoted scalar")}function O8e(t,e){var r=!0,n,i,a,s=t.tag,l,u=t.anchor,h,f,d,p,m,g=Object.create(null),y,v,x,b;if(b=t.input.charCodeAt(t.position),b===91)f=93,m=!1,l=[];else if(b===123)f=125,m=!0,l={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=l),b=t.input.charCodeAt(++t.position);b!==0;){if(Ai(t,!0,e),b=t.input.charCodeAt(t.position),b===f)return t.position++,t.tag=s,t.anchor=u,t.kind=m?"mapping":"sequence",t.result=l,!0;r?b===44&&Zt(t,"expected the node content, but found ','"):Zt(t,"missed comma between flow collection entries"),v=y=x=null,d=p=!1,b===63&&(h=t.input.charCodeAt(t.position+1),Rs(h)&&(d=p=!0,t.position++,Ai(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,pm(t,e,_T,!1,!0),v=t.tag,y=t.result,Ai(t,!0,e),b=t.input.charCodeAt(t.position),(p||t.line===n)&&b===58&&(d=!0,b=t.input.charCodeAt(++t.position),Ai(t,!0,e),pm(t,e,_T,!1,!0),x=t.result),m?dm(t,l,g,v,y,x,n,i,a):d?l.push(dm(t,null,g,v,y,x,n,i,a)):l.push(y),Ai(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}Zt(t,"unexpected end of the stream within a flow collection")}function P8e(t,e){var r,n,i=B9,a=!1,s=!1,l=e,u=0,h=!1,f,d;if(d=t.input.charCodeAt(t.position),d===124)n=!1;else if(d===62)n=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)B9===i?i=d===43?hK:k8e:Zt(t,"repeat of a chomping mode identifier");else if((f=D8e(d))>=0)f===0?Zt(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Zt(t,"repeat of an indentation width identifier"):(l=e+f-1,s=!0);else break;if(Id(d)){do d=t.input.charCodeAt(++t.position);while(Id(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!gc(d)&&d!==0)}for(;d!==0;){for(H9(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!s||t.lineIndentl&&(l=t.lineIndent),gc(d)){u++;continue}if(t.lineIndente)&&u!==0)Zt(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(v&&(s=t.line,l=t.lineStart,u=t.position),pm(t,e,DT,!0,i)&&(v?g=t.result:y=t.result),v||(dm(t,d,p,m,g,y,s,l,u),m=g=y=null),Ai(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)Zt(t,"bad indentation of a mapping entry");else if(t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndente?u=1:t.lineIndent===e?u=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),d=0,p=t.implicitTypes.length;d"),t.result!==null&&g.kind!==t.kind&&Zt(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Zt(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||f}function G8e(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Ai(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!Rs(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&Zt(t,"directive name must not be less than one character in length");s!==0;){for(;Id(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!gc(s));break}if(gc(s))break;for(r=t.position;s!==0&&!Rs(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&H9(t),Uh.call(pK,n)?pK[n](t,n,i):LT(t,'unknown document directive "'+n+'"')}if(Ai(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Ai(t,!0,-1)):a&&Zt(t,"directives end mark is expected"),pm(t,t.lineIndent-1,DT,!1,!0),Ai(t,!0,-1),t.checkLineBreaks&&S8e.test(t.input.slice(e,t.position))&<(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&MT(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Ai(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var n=FK(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i=55296&&r<=56319&&e+1=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}function YK(t){var e=/^\n* /;return e.test(t)}function y_e(t,e,r,n,i,a,s,l){var u,h=0,f=null,d=!1,p=!1,m=n!==-1,g=-1,y=m_e(p2(t,0))&&g_e(p2(t,t.length-1));if(e||s)for(u=0;u=65536?u+=2:u++){if(h=p2(t,u),!v2(h))return hm;y=y&&xK(h,f,l),f=h}else{for(u=0;u=65536?u+=2:u++){if(h=p2(t,u),h===g2)d=!0,m&&(p=p||u-g-1>n&&t[g+1]!==" ",g=u);else if(!v2(h))return hm;y=y&&xK(h,f,l),f=h}p=p||m&&u-g-1>n&&t[g+1]!==" "}return!d&&!p?y&&!s&&!i(t)?XK:a===y2?hm:G9:r>9&&YK(t)?hm:s?a===y2?hm:G9:p?KK:jK}function v_e(t,e,r,n,i){t.dump=function(){if(e.length===0)return t.quotingType===y2?'""':"''";if(!t.noCompatMode&&(l_e.indexOf(e)!==-1||c_e.test(e)))return t.quotingType===y2?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;function u(h){return p_e(t,h)}switch(o(u,"testAmbiguity"),y_e(e,l,t.indent,s,u,t.quotingType,t.forceQuotes&&!n,i)){case XK:return e;case G9:return"'"+e.replace(/'/g,"''")+"'";case jK:return"|"+bK(e,t.indent)+TK(yK(e,a));case KK:return">"+bK(e,t.indent)+TK(yK(x_e(e,s),a));case hm:return'"'+b_e(e)+'"';default:throw new Ls("impossible error: invalid scalar style")}}()}function bK(t,e){var r=YK(t)?String(e):"",n=t[t.length-1]===` +`,i=n&&(t[t.length-2]===` +`||t===` +`),a=i?"+":n?"":"-";return r+a+` +`}function TK(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function x_e(t,e){for(var r=/(\n+)([^\n]*)/g,n=function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,wK(t.slice(0,h),e)}(),i=t[0]===` +`||t[0]===" ",a,s;s=r.exec(t);){var l=s[1],u=s[2];a=u[0]===" ",n+=l+(!i&&!a&&u!==""?` +`:"")+wK(u,e),i=a}return n}function wK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,l=0,u="";n=r.exec(t);)l=n.index,l-i>e&&(a=s>i?s:l,u+=` +`+t.slice(i,a),i=a+1),s=l;return u+=` +`,t.length-i>e&&s>i?u+=t.slice(i,s)+` +`+t.slice(s+1):u+=t.slice(i),u.slice(1)}function b_e(t){for(var e="",r=0,n,i=0;i=65536?i+=2:i++)r=p2(t,i),n=La[r],!n&&v2(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||h_e(r);return e}function T_e(t,e,r){var n="",i=t.tag,a,s,l;for(a=0,s=r.length;a"u"&&Du(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}function kK(t,e,r,n){var i="",a=t.tag,s,l,u;for(s=0,l=r.length;s"u"&&Du(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=z9(t,e)),t.dump&&g2===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}function w_e(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,l,u,h,f;for(s=0,l=a.length;s1024&&(f+="? "),f+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Du(t,e,h,!1,!1)&&(f+=t.dump,n+=f));t.tag=i,t.dump="{"+n+"}"}function k_e(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),l,u,h,f,d,p;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Ls("sortKeys must be a boolean or a function");for(l=0,u=s.length;l1024,d&&(t.dump&&g2===t.dump.charCodeAt(0)?p+="?":p+="? "),p+=t.dump,d&&(p+=z9(t,e)),Du(t,e+1,f,!0,d)&&(t.dump&&g2===t.dump.charCodeAt(0)?p+=":":p+=": ",p+=t.dump,i+=p));t.tag=a,t.dump=i||"{}"}function EK(t,e,r){var n,i,a,s,l,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a tag resolver accepts not "'+u+'" style');t.dump=n}return!0}return!1}function Du(t,e,r,n,i,a,s){t.tag=null,t.dump=r,EK(t,r,!1)||EK(t,r,!0);var l=zK.call(t.dump),u=n,h;n&&(n=t.flowLevel<0||t.flowLevel>e);var f=l==="[object Object]"||l==="[object Array]",d,p;if(f&&(d=t.duplicates.indexOf(r),p=d!==-1),(t.tag!==null&&t.tag!=="?"||p||t.indent!==2&&e>0)&&(i=!1),p&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(f&&p&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),l==="[object Object]")n&&Object.keys(t.dump).length!==0?(k_e(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(w_e(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?kK(t,e-1,t.dump,i):kK(t,e,t.dump,i),p&&(t.dump="&ref_"+d+t.dump)):(T_e(t,e,t.dump),p&&(t.dump="&ref_"+d+" "+t.dump));else if(l==="[object String]")t.tag!=="?"&&v_e(t,t.dump,e,a,u);else{if(l==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Ls("unacceptable kind of an object to dump "+l)}t.tag!==null&&t.tag!=="?"&&(h=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?h="!"+h:h.slice(0,18)==="tag:yaml.org,2002:"?h="!!"+h.slice(18):h="!<"+h+">",t.dump=h+" "+t.dump)}return!0}function E_e(t,e){var r=[],n=[],i,a;for(V9(t,r,n),i=0,a=n.length;i{"use strict";o(SK,"isNothing");o(oAe,"isObject");o(lAe,"toArray");o(cAe,"extend");o(uAe,"repeat");o(hAe,"isNegativeZero");fAe=SK,dAe=oAe,pAe=lAe,mAe=uAe,gAe=hAe,yAe=cAe,$i={isNothing:fAe,isObject:dAe,toArray:pAe,repeat:mAe,isNegativeZero:gAe,extend:yAe};o(CK,"formatError");o(m2,"YAMLException$1");m2.prototype=Object.create(Error.prototype);m2.prototype.constructor=m2;m2.prototype.toString=o(function(e){return this.name+": "+CK(this,e)},"toString");Ls=m2;o(O9,"getLine");o(P9,"padStart");o(vAe,"makeSnippet");xAe=vAe,bAe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],TAe=["scalar","sequence","mapping"];o(wAe,"compileStyleAliases");o(kAe,"Type$1");Da=kAe;o(uK,"compileList");o(EAe,"compileMap");o(F9,"Schema$1");F9.prototype.extend=o(function(e){var r=[],n=[];if(e instanceof Da)n.push(e);else if(Array.isArray(e))n=n.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(r=r.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit));else throw new Ls("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(a){if(!(a instanceof Da))throw new Ls("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new Ls("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new Ls("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(a){if(!(a instanceof Da))throw new Ls("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(F9.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=uK(i,"implicit"),i.compiledExplicit=uK(i,"explicit"),i.compiledTypeMap=EAe(i.compiledImplicit,i.compiledExplicit),i},"extend");SAe=F9,CAe=new Da("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(t){return t!==null?t:""},"construct")}),AAe=new Da("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(t){return t!==null?t:[]},"construct")}),_Ae=new Da("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(t){return t!==null?t:{}},"construct")}),DAe=new SAe({explicit:[CAe,AAe,_Ae]});o(LAe,"resolveYamlNull");o(RAe,"constructYamlNull");o(NAe,"isNull");MAe=new Da("tag:yaml.org,2002:null",{kind:"scalar",resolve:LAe,construct:RAe,predicate:NAe,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"});o(IAe,"resolveYamlBoolean");o(OAe,"constructYamlBoolean");o(PAe,"isBoolean");BAe=new Da("tag:yaml.org,2002:bool",{kind:"scalar",resolve:IAe,construct:OAe,predicate:PAe,represent:{lowercase:o(function(t){return t?"true":"false"},"lowercase"),uppercase:o(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"});o(FAe,"isHexCode");o($Ae,"isOctCode");o(zAe,"isDecCode");o(GAe,"resolveYamlInteger");o(VAe,"constructYamlInteger");o(UAe,"isInteger");HAe=new Da("tag:yaml.org,2002:int",{kind:"scalar",resolve:GAe,construct:VAe,predicate:UAe,represent:{binary:o(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:o(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:o(function(t){return t.toString(10)},"decimal"),hexadecimal:o(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),WAe=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");o(qAe,"resolveYamlFloat");o(YAe,"constructYamlFloat");XAe=/^[-+]?[0-9]+e/;o(jAe,"representYamlFloat");o(KAe,"isFloat");QAe=new Da("tag:yaml.org,2002:float",{kind:"scalar",resolve:qAe,construct:YAe,predicate:KAe,represent:jAe,defaultStyle:"lowercase"}),AK=DAe.extend({implicit:[MAe,BAe,HAe,QAe]}),ZAe=AK,_K=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),DK=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");o(JAe,"resolveYamlTimestamp");o(e8e,"constructYamlTimestamp");o(t8e,"representYamlTimestamp");r8e=new Da("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:JAe,construct:e8e,instanceOf:Date,represent:t8e});o(n8e,"resolveYamlMerge");i8e=new Da("tag:yaml.org,2002:merge",{kind:"scalar",resolve:n8e}),U9=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;o(a8e,"resolveYamlBinary");o(s8e,"constructYamlBinary");o(o8e,"representYamlBinary");o(l8e,"isBinary");c8e=new Da("tag:yaml.org,2002:binary",{kind:"scalar",resolve:a8e,construct:s8e,predicate:l8e,represent:o8e}),u8e=Object.prototype.hasOwnProperty,h8e=Object.prototype.toString;o(f8e,"resolveYamlOmap");o(d8e,"constructYamlOmap");p8e=new Da("tag:yaml.org,2002:omap",{kind:"sequence",resolve:f8e,construct:d8e}),m8e=Object.prototype.toString;o(g8e,"resolveYamlPairs");o(y8e,"constructYamlPairs");v8e=new Da("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:g8e,construct:y8e}),x8e=Object.prototype.hasOwnProperty;o(b8e,"resolveYamlSet");o(T8e,"constructYamlSet");w8e=new Da("tag:yaml.org,2002:set",{kind:"mapping",resolve:b8e,construct:T8e}),LK=ZAe.extend({implicit:[r8e,i8e],explicit:[c8e,p8e,v8e,w8e]}),Uh=Object.prototype.hasOwnProperty,_T=1,RK=2,NK=3,DT=4,B9=1,k8e=2,hK=3,E8e=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,S8e=/[\x85\u2028\u2029]/,C8e=/[,\[\]\{\}]/,MK=/^(?:!|!!|![a-z\-]+!)$/i,IK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;o(fK,"_class");o(gc,"is_EOL");o(Id,"is_WHITE_SPACE");o(Rs,"is_WS_OR_EOL");o(fm,"is_FLOW_INDICATOR");o(A8e,"fromHexCode");o(_8e,"escapedHexLen");o(D8e,"fromDecimalCode");o(dK,"simpleEscapeSequence");o(L8e,"charFromCodepoint");OK=new Array(256),PK=new Array(256);for(Md=0;Md<256;Md++)OK[Md]=dK(Md)?1:0,PK[Md]=dK(Md);o(R8e,"State$1");o(BK,"generateError");o(Zt,"throwError");o(LT,"throwWarning");pK={YAML:o(function(e,r,n){var i,a,s;e.version!==null&&Zt(e,"duplication of %YAML directive"),n.length!==1&&Zt(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Zt(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&Zt(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&<(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(e,r,n){var i,a;n.length!==2&&Zt(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],MK.test(i)||Zt(e,"ill-formed tag handle (first argument) of the TAG directive"),Uh.call(e.tagMap,i)&&Zt(e,'there is a previously declared suffix for "'+i+'" tag handle'),IK.test(a)||Zt(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{Zt(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};o(Vh,"captureSegment");o(mK,"mergeMappings");o(dm,"storeMappingPair");o(H9,"readLineBreak");o(Ai,"skipSeparationSpace");o(MT,"testDocumentSeparator");o(W9,"writeFoldedLines");o(N8e,"readPlainScalar");o(M8e,"readSingleQuotedScalar");o(I8e,"readDoubleQuotedScalar");o(O8e,"readFlowCollection");o(P8e,"readBlockScalar");o(gK,"readBlockSequence");o(B8e,"readBlockMapping");o(F8e,"readTagProperty");o($8e,"readAnchorProperty");o(z8e,"readAlias");o(pm,"composeNode");o(G8e,"readDocument");o(FK,"loadDocuments");o(V8e,"loadAll$1");o(U8e,"load$1");H8e=V8e,W8e=U8e,$K={loadAll:H8e,load:W8e},zK=Object.prototype.toString,GK=Object.prototype.hasOwnProperty,q9=65279,q8e=9,g2=10,Y8e=13,X8e=32,j8e=33,K8e=34,$9=35,Q8e=37,Z8e=38,J8e=39,e_e=42,VK=44,t_e=45,RT=58,r_e=61,n_e=62,i_e=63,a_e=64,UK=91,HK=93,s_e=96,WK=123,o_e=124,qK=125,La={};La[0]="\\0";La[7]="\\a";La[8]="\\b";La[9]="\\t";La[10]="\\n";La[11]="\\v";La[12]="\\f";La[13]="\\r";La[27]="\\e";La[34]='\\"';La[92]="\\\\";La[133]="\\N";La[160]="\\_";La[8232]="\\L";La[8233]="\\P";l_e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],c_e=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;o(u_e,"compileStyleMap");o(h_e,"encodeHex");f_e=1,y2=2;o(d_e,"State");o(yK,"indentString");o(z9,"generateNextLine");o(p_e,"testImplicitResolving");o(NT,"isWhitespace");o(v2,"isPrintable");o(vK,"isNsCharOrWhitespace");o(xK,"isPlainSafe");o(m_e,"isPlainSafeFirst");o(g_e,"isPlainSafeLast");o(p2,"codePointAt");o(YK,"needIndentIndicator");XK=1,G9=2,jK=3,KK=4,hm=5;o(y_e,"chooseScalarStyle");o(v_e,"writeScalar");o(bK,"blockHeader");o(TK,"dropEndingNewline");o(x_e,"foldString");o(wK,"foldLine");o(b_e,"escapeString");o(T_e,"writeFlowSequence");o(kK,"writeBlockSequence");o(w_e,"writeFlowMapping");o(k_e,"writeBlockMapping");o(EK,"detectType");o(Du,"writeNode");o(E_e,"getDuplicateReferences");o(V9,"inspectNode");o(S_e,"dump$1");C_e=S_e,A_e={dump:C_e};o(Y9,"renamed");mm=AK,gm=$K.load,_St=$K.loadAll,DSt=A_e.dump,LSt=Y9("safeLoad","load"),RSt=Y9("safeLoadAll","loadAll"),NSt=Y9("safeDump","dump")});function Z9(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function rQ(t){Pd=t}function rn(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:o((i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(rs.caret,"$1"),r=r.replace(i,s),n},"replace"),getRegex:o(()=>new RegExp(r,e),"getRegex")};return n}function yc(t,e){if(e){if(rs.escapeTest.test(t))return t.replace(rs.escapeReplace,ZK)}else if(rs.escapeTestNoEncode.test(t))return t.replace(rs.escapeReplaceNoEncode,ZK);return t}function JK(t){try{t=encodeURI(t).replace(rs.percentDecode,"%")}catch{return null}return t}function eQ(t,e){let r=t.replace(rs.findPipe,(a,s,l)=>{let u=!1,h=s;for(;--h>=0&&l[h]==="\\";)u=!u;return u?"|":" |"}),n=r.split(rs.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length0?-2:-1}function tQ(t,e,r,n,i){let a=e.href,s=e.title||null,l=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let u={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:l,tokens:n.inlineTokens(l)};return n.state.inLink=!1,u}function lDe(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(` +`).map(a=>{let s=a.match(r.other.beginningSpace);if(s===null)return a;let[l]=s;return l.length>=i.length?a.slice(i.length):a}).join(` +`)}function Zr(t,e){return Od.parse(t,e)}var Pd,T2,rs,__e,D_e,L_e,w2,R_e,J9,nQ,iQ,N_e,eL,M_e,tL,I_e,O_e,zT,rL,P_e,aQ,B_e,nL,QK,F_e,$_e,z_e,G_e,sQ,V_e,GT,iL,oQ,U_e,lQ,H_e,W_e,q_e,cQ,Y_e,X_e,uQ,j_e,K_e,Q_e,Z_e,J_e,eDe,tDe,BT,rDe,hQ,fQ,nDe,aL,iDe,j9,aDe,OT,x2,sDe,ZK,FT,Lu,$T,sL,Ru,PT,cDe,Od,ISt,OSt,PSt,BSt,FSt,$St,zSt,dQ=N(()=>{"use strict";o(Z9,"M");Pd=Z9();o(rQ,"H");T2={exec:o(()=>null,"exec")};o(rn,"h");rs={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:o(t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),"listItemRegex"),nextBulletRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),"nextBulletRegex"),hrRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),"hrRegex"),fencesBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),"fencesBeginRegex"),headingBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),"headingBeginRegex"),htmlBeginRegex:o(t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),"htmlBeginRegex")},__e=/^(?:[ \t]*(?:\n|$))+/,D_e=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,L_e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,w2=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,R_e=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,J9=/(?:[*+-]|\d{1,9}[.)])/,nQ=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,iQ=rn(nQ).replace(/bull/g,J9).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),N_e=rn(nQ).replace(/bull/g,J9).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),eL=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,M_e=/^[^\n]+/,tL=/(?!\s*\])(?:\\.|[^\[\]\\])+/,I_e=rn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",tL).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),O_e=rn(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,J9).getRegex(),zT="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",rL=/|$))/,P_e=rn("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",rL).replace("tag",zT).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),aQ=rn(eL).replace("hr",w2).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",zT).getRegex(),B_e=rn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",aQ).getRegex(),nL={blockquote:B_e,code:D_e,def:I_e,fences:L_e,heading:R_e,hr:w2,html:P_e,lheading:iQ,list:O_e,newline:__e,paragraph:aQ,table:T2,text:M_e},QK=rn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",w2).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",zT).getRegex(),F_e={...nL,lheading:N_e,table:QK,paragraph:rn(eL).replace("hr",w2).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",QK).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",zT).getRegex()},$_e={...nL,html:rn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",rL).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:T2,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:rn(eL).replace("hr",w2).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",iQ).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},z_e=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,G_e=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,sQ=/^( {2,}|\\)\n(?!\s*$)/,V_e=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,cQ=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,Y_e=rn(cQ,"u").replace(/punct/g,GT).getRegex(),X_e=rn(cQ,"u").replace(/punct/g,lQ).getRegex(),uQ="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",j_e=rn(uQ,"gu").replace(/notPunctSpace/g,oQ).replace(/punctSpace/g,iL).replace(/punct/g,GT).getRegex(),K_e=rn(uQ,"gu").replace(/notPunctSpace/g,W_e).replace(/punctSpace/g,H_e).replace(/punct/g,lQ).getRegex(),Q_e=rn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,oQ).replace(/punctSpace/g,iL).replace(/punct/g,GT).getRegex(),Z_e=rn(/\\(punct)/,"gu").replace(/punct/g,GT).getRegex(),J_e=rn(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),eDe=rn(rL).replace("(?:-->|$)","-->").getRegex(),tDe=rn("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",eDe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),BT=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,rDe=rn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",BT).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),hQ=rn(/^!?\[(label)\]\[(ref)\]/).replace("label",BT).replace("ref",tL).getRegex(),fQ=rn(/^!?\[(ref)\](?:\[\])?/).replace("ref",tL).getRegex(),nDe=rn("reflink|nolink(?!\\()","g").replace("reflink",hQ).replace("nolink",fQ).getRegex(),aL={_backpedal:T2,anyPunctuation:Z_e,autolink:J_e,blockSkip:q_e,br:sQ,code:G_e,del:T2,emStrongLDelim:Y_e,emStrongRDelimAst:j_e,emStrongRDelimUnd:Q_e,escape:z_e,link:rDe,nolink:fQ,punctuation:U_e,reflink:hQ,reflinkSearch:nDe,tag:tDe,text:V_e,url:T2},iDe={...aL,link:rn(/^!?\[(label)\]\((.*?)\)/).replace("label",BT).getRegex(),reflink:rn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",BT).getRegex()},j9={...aL,emStrongRDelimAst:K_e,emStrongLDelim:X_e,url:rn(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},ZK=o(t=>sDe[t],"ge");o(yc,"R");o(JK,"J");o(eQ,"V");o(b2,"A");o(oDe,"fe");o(tQ,"de");o(lDe,"Je");FT=class{static{o(this,"S")}options;rules;lexer;constructor(t){this.options=t||Pd}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let r=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?r:b2(r,` +`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let r=e[0],n=lDe(r,e[3]||"",this.rules);return{type:"code",raw:r,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:n}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let r=e[2].trim();if(this.rules.other.endingHash.test(r)){let n=b2(r,"#");(this.options.pedantic||!n||this.rules.other.endingSpaceChar.test(n))&&(r=n.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:r,tokens:this.lexer.inline(r)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:b2(e[0],` +`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let r=b2(e[0],` +`).split(` +`),n="",i="",a=[];for(;r.length>0;){let s=!1,l=[],u;for(u=0;u1,i={type:"list",raw:"",ordered:n,start:n?+r.slice(0,-1):"",loose:!1,items:[]};r=n?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=n?r:"[*+-]");let a=this.rules.other.listItemRegex(r),s=!1;for(;t;){let u=!1,h="",f="";if(!(e=a.exec(t))||this.rules.block.hr.test(t))break;h=e[0],t=t.substring(h.length);let d=e[2].split(` +`,1)[0].replace(this.rules.other.listReplaceTabs,x=>" ".repeat(3*x.length)),p=t.split(` +`,1)[0],m=!d.trim(),g=0;if(this.options.pedantic?(g=2,f=d.trimStart()):m?g=e[1].length+1:(g=e[2].search(this.rules.other.nonSpaceChar),g=g>4?1:g,f=d.slice(g),g+=e[1].length),m&&this.rules.other.blankLine.test(p)&&(h+=p+` +`,t=t.substring(p.length+1),u=!0),!u){let x=this.rules.other.nextBulletRegex(g),b=this.rules.other.hrRegex(g),T=this.rules.other.fencesBeginRegex(g),C=this.rules.other.headingBeginRegex(g),w=this.rules.other.htmlBeginRegex(g);for(;t;){let E=t.split(` +`,1)[0],_;if(p=E,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),_=p):_=p.replace(this.rules.other.tabCharGlobal," "),T.test(p)||C.test(p)||w.test(p)||x.test(p)||b.test(p))break;if(_.search(this.rules.other.nonSpaceChar)>=g||!p.trim())f+=` +`+_.slice(g);else{if(m||d.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||T.test(d)||C.test(d)||b.test(d))break;f+=` +`+p}!m&&!p.trim()&&(m=!0),h+=E+` +`,t=t.substring(E.length+1),d=_.slice(g)}}i.loose||(s?i.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(s=!0));let y=null,v;this.options.gfm&&(y=this.rules.other.listIsTask.exec(f),y&&(v=y[0]!=="[ ] ",f=f.replace(this.rules.other.listReplaceTask,""))),i.items.push({type:"list_item",raw:h,task:!!y,checked:v,loose:!1,text:f,tokens:[]}),i.raw+=h}let l=i.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let u=0;ud.type==="space"),f=h.length>0&&h.some(d=>this.rules.other.anyLine.test(d.raw));i.loose=f}if(i.loose)for(let u=0;u({text:l,tokens:this.lexer.inline(l),header:!1,align:a.align[u]})));return a}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let r=e[1].charAt(e[1].length-1)===` +`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:r,tokens:this.lexer.inline(r)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let r=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(r)){if(!this.rules.other.endAngleBracket.test(r))return;let a=b2(r.slice(0,-1),"\\");if((r.length-a.length)%2===0)return}else{let a=oDe(e[2],"()");if(a===-2)return;if(a>-1){let s=(e[0].indexOf("!")===0?5:4)+e[1].length+a;e[2]=e[2].substring(0,a),e[0]=e[0].substring(0,s).trim(),e[3]=""}}let n=e[2],i="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(n);a&&(n=a[1],i=a[3])}else i=e[3]?e[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(r)?n=n.slice(1):n=n.slice(1,-1)),tQ(e,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(t,e){let r;if((r=this.rules.inline.reflink.exec(t))||(r=this.rules.inline.nolink.exec(t))){let n=(r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[n.toLowerCase()];if(!i){let a=r[0].charAt(0);return{type:"text",raw:a,text:a}}return tQ(r,i,r[0],this.lexer,this.rules)}}emStrong(t,e,r=""){let n=this.rules.inline.emStrongLDelim.exec(t);if(!(!n||n[3]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(n[1]||n[2])||!r||this.rules.inline.punctuation.exec(r))){let i=[...n[0]].length-1,a,s,l=i,u=0,h=n[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*t.length+i);(n=h.exec(e))!=null;){if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!a)continue;if(s=[...a].length,n[3]||n[4]){l+=s;continue}else if((n[5]||n[6])&&i%3&&!((i+s)%3)){u+=s;continue}if(l-=s,l>0)continue;s=Math.min(s,s+l+u);let f=[...n[0]][0].length,d=t.slice(0,i+n.index+f+s);if(Math.min(i,s)%2){let m=d.slice(1,-1);return{type:"em",raw:d,text:m,tokens:this.lexer.inlineTokens(m)}}let p=d.slice(2,-2);return{type:"strong",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let r=e[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(r),i=this.rules.other.startingSpaceChar.test(r)&&this.rules.other.endingSpaceChar.test(r);return n&&i&&(r=r.substring(1,r.length-1)),{type:"codespan",raw:e[0],text:r}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let r,n;return e[2]==="@"?(r=e[1],n="mailto:"+r):(r=e[1],n=r),{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let r,n;if(e[2]==="@")r=e[0],n="mailto:"+r;else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);r=e[0],e[1]==="www."?n="http://"+e[0]:n=e[0]}return{type:"link",raw:e[0],text:r,href:n,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let r=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:r}}}},Lu=class K9{static{o(this,"a")}tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Pd,this.options.tokenizer=this.options.tokenizer||new FT,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:rs,block:OT.normal,inline:x2.normal};this.options.pedantic?(r.block=OT.pedantic,r.inline=x2.pedantic):this.options.gfm&&(r.block=OT.gfm,this.options.breaks?r.inline=x2.breaks:r.inline=x2.gfm),this.tokenizer.rules=r}static get rules(){return{block:OT,inline:x2}}static lex(e,r){return new K9(r).lex(e)}static lexInline(e,r){return new K9(r).inlineTokens(e)}lex(e){e=e.replace(rs.carriageReturn,` +`),this.blockTokens(e,this.tokens);for(let r=0;r(i=s.call({lexer:this},e,r))?(e=e.substring(i.raw.length),r.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let s=r.at(-1);i.raw.length===1&&s!==void 0?s.raw+=` +`:r.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=` +`+i.raw,s.text+=` +`+i.text,this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="paragraph"||s?.type==="text"?(s.raw+=` +`+i.raw,s.text+=` +`+i.raw,this.inlineQueue.at(-1).src=s.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),r.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),r.push(i);continue}let a=e;if(this.options.extensions?.startBlock){let s=1/0,l=e.slice(1),u;this.options.extensions.startBlock.forEach(h=>{u=h.call({lexer:this},l),typeof u=="number"&&u>=0&&(s=Math.min(s,u))}),s<1/0&&s>=0&&(a=e.substring(0,s+1))}if(this.state.top&&(i=this.tokenizer.paragraph(a))){let s=r.at(-1);n&&s?.type==="paragraph"?(s.raw+=` +`+i.raw,s.text+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let s=r.at(-1);s?.type==="text"?(s.raw+=` +`+i.raw,s.text+=` +`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):r.push(i);continue}if(e){let s="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){let n=e,i=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)l.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let a=!1,s="";for(;e;){a||(s=""),a=!1;let l;if(this.options.extensions?.inline?.some(h=>(l=h.call({lexer:this},e,r))?(e=e.substring(l.raw.length),r.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let h=r.at(-1);l.type==="text"&&h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(l=this.tokenizer.emStrong(e,n,s)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),r.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),r.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),r.push(l);continue}let u=e;if(this.options.extensions?.startInline){let h=1/0,f=e.slice(1),d;this.options.extensions.startInline.forEach(p=>{d=p.call({lexer:this},f),typeof d=="number"&&d>=0&&(h=Math.min(h,d))}),h<1/0&&h>=0&&(u=e.substring(0,h+1))}if(l=this.tokenizer.inlineText(u)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(s=l.raw.slice(-1)),a=!0;let h=r.at(-1);h?.type==="text"?(h.raw+=l.raw,h.text+=l.text):r.push(l);continue}if(e){let h="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(h);break}else throw new Error(h)}}return r}},$T=class{static{o(this,"$")}options;parser;constructor(t){this.options=t||Pd}space(t){return""}code({text:t,lang:e,escaped:r}){let n=(e||"").match(rs.notSpaceStart)?.[0],i=t.replace(rs.endingNewline,"")+` +`;return n?'
    '+(r?i:yc(i,!0))+`
    +`:"
    "+(r?i:yc(i,!0))+`
    +`}blockquote({tokens:t}){return`
    +${this.parser.parse(t)}
    +`}html({text:t}){return t}heading({tokens:t,depth:e}){return`${this.parser.parseInline(t)} +`}hr(t){return`
    +`}list(t){let e=t.ordered,r=t.start,n="";for(let s=0;s +`+n+" +`}listitem(t){let e="";if(t.task){let r=this.checkbox({checked:!!t.checked});t.loose?t.tokens[0]?.type==="paragraph"?(t.tokens[0].text=r+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=r+" "+yc(t.tokens[0].tokens[0].text),t.tokens[0].tokens[0].escaped=!0)):t.tokens.unshift({type:"text",raw:r+" ",text:r+" ",escaped:!0}):e+=r+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`
  • ${e}
  • +`}checkbox({checked:t}){return"'}paragraph({tokens:t}){return`

    ${this.parser.parseInline(t)}

    +`}table(t){let e="",r="";for(let i=0;i${n}`),` + +`+e+` +`+n+`
    +`}tablerow({text:t}){return` +${t} +`}tablecell(t){let e=this.parser.parseInline(t.tokens),r=t.header?"th":"td";return(t.align?`<${r} align="${t.align}">`:`<${r}>`)+e+` +`}strong({tokens:t}){return`${this.parser.parseInline(t)}`}em({tokens:t}){return`${this.parser.parseInline(t)}`}codespan({text:t}){return`${yc(t,!0)}`}br(t){return"
    "}del({tokens:t}){return`${this.parser.parseInline(t)}`}link({href:t,title:e,tokens:r}){let n=this.parser.parseInline(r),i=JK(t);if(i===null)return n;t=i;let a='
    ",a}image({href:t,title:e,text:r,tokens:n}){n&&(r=this.parser.parseInline(n,this.parser.textRenderer));let i=JK(t);if(i===null)return yc(r);t=i;let a=`${r}{let s=i[a].flat(1/0);r=r.concat(this.walkTokens(s,e))}):i.tokens&&(r=r.concat(this.walkTokens(i.tokens,e)))}}return r}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(r=>{let n={...r};if(n.async=this.defaults.async||n.async||!1,r.extensions&&(r.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let a=e.renderers[i.name];a?e.renderers[i.name]=function(...s){let l=i.renderer.apply(this,s);return l===!1&&(l=a.apply(this,s)),l}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let a=e[i.level];a?a.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),n.extensions=e),r.renderer){let i=this.defaults.renderer||new $T(this.defaults);for(let a in r.renderer){if(!(a in i))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let s=a,l=r.renderer[s],u=i[s];i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f||""}}n.renderer=i}if(r.tokenizer){let i=this.defaults.tokenizer||new FT(this.defaults);for(let a in r.tokenizer){if(!(a in i))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let s=a,l=r.tokenizer[s],u=i[s];i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f}}n.tokenizer=i}if(r.hooks){let i=this.defaults.hooks||new PT;for(let a in r.hooks){if(!(a in i))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let s=a,l=r.hooks[s],u=i[s];PT.passThroughHooks.has(a)?i[s]=h=>{if(this.defaults.async)return Promise.resolve(l.call(i,h)).then(d=>u.call(i,d));let f=l.call(i,h);return u.call(i,f)}:i[s]=(...h)=>{let f=l.apply(i,h);return f===!1&&(f=u.apply(i,h)),f}}n.hooks=i}if(r.walkTokens){let i=this.defaults.walkTokens,a=r.walkTokens;n.walkTokens=function(s){let l=[];return l.push(a.call(this,s)),i&&(l=l.concat(i.call(this,s))),l}}this.defaults={...this.defaults,...n}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return Lu.lex(t,e??this.defaults)}parser(t,e){return Ru.parse(t,e??this.defaults)}parseMarkdown(t){return(e,r)=>{let n={...r},i={...this.defaults,...n},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&n.async===!1)return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=t);let s=i.hooks?i.hooks.provideLexer():t?Lu.lex:Lu.lexInline,l=i.hooks?i.hooks.provideParser():t?Ru.parse:Ru.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(e):e).then(u=>s(u,i)).then(u=>i.hooks?i.hooks.processAllTokens(u):u).then(u=>i.walkTokens?Promise.all(this.walkTokens(u,i.walkTokens)).then(()=>u):u).then(u=>l(u,i)).then(u=>i.hooks?i.hooks.postprocess(u):u).catch(a);try{i.hooks&&(e=i.hooks.preprocess(e));let u=s(e,i);i.hooks&&(u=i.hooks.processAllTokens(u)),i.walkTokens&&this.walkTokens(u,i.walkTokens);let h=l(u,i);return i.hooks&&(h=i.hooks.postprocess(h)),h}catch(u){return a(u)}}}onError(t,e){return r=>{if(r.message+=` +Please report this to https://github.com/markedjs/marked.`,t){let n="

    An error occurred:

    "+yc(r.message+"",!0)+"
    ";return e?Promise.resolve(n):n}if(e)return Promise.reject(r);throw r}}},Od=new cDe;o(Zr,"k");Zr.options=Zr.setOptions=function(t){return Od.setOptions(t),Zr.defaults=Od.defaults,rQ(Zr.defaults),Zr};Zr.getDefaults=Z9;Zr.defaults=Pd;Zr.use=function(...t){return Od.use(...t),Zr.defaults=Od.defaults,rQ(Zr.defaults),Zr};Zr.walkTokens=function(t,e){return Od.walkTokens(t,e)};Zr.parseInline=Od.parseInline;Zr.Parser=Ru;Zr.parser=Ru.parse;Zr.Renderer=$T;Zr.TextRenderer=sL;Zr.Lexer=Lu;Zr.lexer=Lu.lex;Zr.Tokenizer=FT;Zr.Hooks=PT;Zr.parse=Zr;ISt=Zr.options,OSt=Zr.setOptions,PSt=Zr.use,BSt=Zr.walkTokens,FSt=Zr.parseInline,$St=Ru.parse,zSt=Lu.lex});function uDe(t,{markdownAutoWrap:e}){let n=t.replace(//g,` +`).replace(/\n{2,}/g,` +`),i=N3(n);return e===!1?i.replace(/ /g," "):i}function pQ(t,e={}){let r=uDe(t,e),n=Zr.lexer(r),i=[[]],a=0;function s(l,u="normal"){l.type==="text"?l.text.split(` +`).forEach((f,d)=>{d!==0&&(a++,i.push([])),f.split(" ").forEach(p=>{p=p.replace(/'/g,"'"),p&&i[a].push({content:p,type:u})})}):l.type==="strong"||l.type==="em"?l.tokens.forEach(h=>{s(h,l.type)}):l.type==="html"&&i[a].push({content:l.text,type:"normal"})}return o(s,"processNode"),n.forEach(l=>{l.type==="paragraph"?l.tokens?.forEach(u=>{s(u)}):l.type==="html"?i[a].push({content:l.text,type:"normal"}):i[a].push({content:l.raw,type:"normal"})}),i}function mQ(t,{markdownAutoWrap:e}={}){let r=Zr.lexer(t);function n(i){return i.type==="text"?e===!1?i.text.replace(/\n */g,"
    ").replace(/ /g," "):i.text.replace(/\n */g,"
    "):i.type==="strong"?`${i.tokens?.map(n).join("")}`:i.type==="em"?`${i.tokens?.map(n).join("")}`:i.type==="paragraph"?`

    ${i.tokens?.map(n).join("")}

    `:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(X.warn(`Unsupported markdown: ${i.type}`),i.raw)}return o(n,"output"),r.map(n).join("")}var gQ=N(()=>{"use strict";dQ();pA();yt();o(uDe,"preprocessMarkdown");o(pQ,"markdownToLines");o(mQ,"markdownToHTML")});function hDe(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}function fDe(t,e){let r=hDe(e.content);return yQ(t,[],r,e.type)}function yQ(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];let[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?yQ(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}function vQ(t,e){if(t.some(({content:r})=>r.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return oL(t,e)}function oL(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());let a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return oL(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){let[l,u]=fDe(e,a);r.push([l]),u.content&&t.unshift(u)}return oL(t,e,r)}var xQ=N(()=>{"use strict";o(hDe,"splitTextToChars");o(fDe,"splitWordToFitWidth");o(yQ,"splitWordToFitWidthRecursion");o(vQ,"splitLineToFitWidth");o(oL,"splitLineToFitWidthRecursion")});function bQ(t,e){e&&t.attr("style",e)}async function dDe(t,e,r,n,i=!1,a=Qt()){let s=t.append("foreignObject");s.attr("width",`${10*r}px`),s.attr("height",`${10*r}px`);let l=s.append("xhtml:div"),u=gi(e.label)?await yh(e.label.replace(Ze.lineBreakRegex,` +`),a):ar(e.label,a),h=e.isNode?"nodeLabel":"edgeLabel",f=l.append("span");f.html(u),bQ(f,e.labelStyle),f.attr("class",`${h} ${n}`),bQ(l,e.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("line-height","1.5"),l.style("max-width",r+"px"),l.style("text-align","center"),l.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&l.attr("class","labelBkg");let d=l.node().getBoundingClientRect();return d.width===r&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",r+"px"),d=l.node().getBoundingClientRect()),s.node()}function lL(t,e,r){return t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em")}function pDe(t,e,r){let n=t.append("text"),i=lL(n,1,e);cL(i,r);let a=i.node().getComputedTextLength();return n.remove(),a}function TQ(t,e,r){let n=t.append("text"),i=lL(n,1,e);cL(i,[{content:r,type:"normal"}]);let a=i.node()?.getBoundingClientRect();return a&&n.remove(),a}function mDe(t,e,r,n=!1){let a=e.append("g"),s=a.insert("rect").attr("class","background").attr("style","stroke: none"),l=a.append("text").attr("y","-10.1"),u=0;for(let h of r){let f=o(p=>pDe(a,1.1,p)<=t,"checkWidth"),d=f(h)?[h]:vQ(h,f);for(let p of d){let m=lL(l,u,1.1);cL(m,p),u++}}if(n){let h=l.node().getBBox(),f=2;return s.attr("x",h.x-f).attr("y",h.y-f).attr("width",h.width+2*f).attr("height",h.height+2*f),a.node()}else return l.node()}function cL(t,e){t.text(""),e.forEach((r,n)=>{let i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(r.content):i.text(" "+r.content)})}async function uL(t,e={}){let r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{let l=`${a}:${s}`;return await AV(l)?await Es(l,void 0,{class:"label-icon"}):``})()),i));let n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}var Hn,no=N(()=>{"use strict";pr();dr();yt();gQ();nr();rc();xQ();Jn();o(bQ,"applyStyle");o(dDe,"addHtmlSpan");o(lL,"createTspan");o(pDe,"computeWidthOfText");o(TQ,"computeDimensionOfText");o(mDe,"createFormattedText");o(cL,"updateTextContentAndStyles");o(uL,"replaceIconSubstring");Hn=o(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,isNode:s=!0,width:l=200,addSvgBackground:u=!1}={},h)=>{if(X.debug("XYZ createText",e,r,n,i,a,s,"addSvgBackground: ",u),a){let f=mQ(e,h),d=await uL(ta(f),h),p=e.replace(/\\\\/g,"\\"),m={isNode:s,label:gi(e)?p:d,labelStyle:r.replace("fill:","color:")};return await dDe(t,m,l,i,u,h)}else{let f=e.replace(//g,"
    "),d=pQ(f.replace("
    ","
    "),h),p=mDe(l,t,d,e?u:!1);if(s){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Ge(p).attr("style",m)}else{let m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");Ge(p).select("rect").attr("style",m.replace(/background:/g,"fill:"));let g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");Ge(p).select("text").attr("style",g)}return p}},"createText")});function zt(t){let e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}function $o(t,e,r,n,i,a){let s=[],u=r-t,h=n-e,f=u/a,d=2*Math.PI/f,p=e+h/2;for(let m=0;m<=50;m++){let g=m/50,y=t+g*u,v=p+i*Math.sin(d*(y-t));s.push({x:y,y:v})}return s}function Bd(t,e,r,n,i,a){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;d{"use strict";no();qt();pr();Ca();dr();nr();pt=o(async(t,e,r)=>{let n,i=e.useHtmlLabels||mr(ge()?.htmlLabels);r?n=r:n="node default";let a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",ii(e.labelStyle)),l;e.label===void 0?l="":l=typeof e.label=="string"?e.label:e.label[0];let u=await Hn(s,ar(ta(l),ge()),{useHtmlLabels:i,width:e.width||ge().flowchart?.wrappingWidth,cssClasses:"markdown-node-label",style:e.labelStyle,addSvgBackground:!!e.icon||!!e.img}),h=u.getBBox(),f=(e?.padding??0)/2;if(i){let d=u.children[0],p=Ge(u),m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=ge().fontSize?ge().fontSize:window.getComputedStyle(document.body).fontSize,T=5,[C=lr.fontSize]=Fo(b),w=C*T+"px";y.style.minWidth=w,y.style.maxWidth=w}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}return i?s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):s.attr("transform","translate(0, "+-h.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:h,halfPadding:f,label:s}},"labelHelper"),VT=o(async(t,e,r)=>{let n=r.useHtmlLabels||mr(ge()?.flowchart?.htmlLabels),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await Hn(i,ar(ta(e),ge()),{useHtmlLabels:n,width:r.width||ge()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),s=a.getBBox(),l=r.padding/2;if(mr(ge()?.flowchart?.htmlLabels)){let u=a.children[0],h=Ge(a);s=u.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:l,label:i}},"insertLabel"),Ke=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),ot=o((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");o(zt,"createPathFromPoints");o($o,"generateFullSineWavePoints");o(Bd,"generateCirclePoints")});function gDe(t,e){return t.intersect(e)}var wQ,kQ=N(()=>{"use strict";o(gDe,"intersectNode");wQ=gDe});function yDe(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o(yDe,"intersectEllipse");UT=yDe});function vDe(t,e,r){return UT(t,e,e,r)}var EQ,SQ=N(()=>{"use strict";hL();o(vDe,"intersectCircle");EQ=vDe});function xDe(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&CQ(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&CQ(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function CQ(t,e){return t*e>0}var AQ,_Q=N(()=>{"use strict";o(xDe,"intersectLine");o(CQ,"sameSign");AQ=xDe});function bDe(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(f){s=Math.min(s,f.x),l=Math.min(l,f.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));let u=n-t.width/2-s,h=i-t.height/2-l;for(let f=0;f1&&a.sort(function(f,d){let p=f.x-r.x,m=f.y-r.y,g=Math.sqrt(p*p+m*m),y=d.x-r.x,v=d.y-r.y,x=Math.sqrt(y*y+v*v);return g{"use strict";_Q();o(bDe,"intersectPolygon");DQ=bDe});var TDe,Hh,fL=N(()=>{"use strict";TDe=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),Hh=TDe});var Xe,Ht=N(()=>{"use strict";kQ();SQ();hL();LQ();fL();Xe={node:wQ,circle:EQ,ellipse:UT,polygon:DQ,rect:Hh}});var RQ,vc,wDe,k2,qe,Qe,kDe,Gt=N(()=>{"use strict";qt();RQ=o(t=>{let{handDrawnSeed:e}=ge();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),vc=o(t=>{let e=wDe([...t.cssCompiledStyles||[],...t.cssStyles||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),wDe=o(t=>{let e=new Map;return t.forEach(r=>{let[n,i]=r.split(":");e.set(n.trim(),i?.trim())}),e},"styles2Map"),k2=o(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),qe=o(t=>{let{stylesArray:e}=vc(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{let l=s[0];k2(l)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),l.includes("stroke")&&i.push(s.join(":")+" !important"),l==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),Qe=o((t,e)=>{let{themeVariables:r,handDrawnSeed:n}=ge(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=vc(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:s.get("stroke-width")?.replace("px","")||1.3,fillLineDash:[0,0],strokeLineDash:kDe(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),kDe=o(t=>{if(!t)return[0,0];let e=t.trim().split(/\s+/).map(Number);if(e.length===1){let i=isNaN(e[0])?0:e[0];return[i,i]}let r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray")});function dL(t,e,r){if(t&&t.length){let[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),l=Math.sin(a);for(let u of t){let[h,f]=u;u[0]=(h-n)*s-(f-i)*l+n,u[1]=(h-n)*l+(f-i)*s+i}}}function EDe(t,e){return t[0]===e[0]&&t[1]===e[1]}function SDe(t,e,r,n=1){let i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,l=[0,0];if(i)for(let h of s)dL(h,l,i);let u=function(h,f,d){let p=[];for(let b of h){let T=[...b];EDe(T[0],T[T.length-1])||T.push([T[0][0],T[0][1]]),T.length>2&&p.push(T)}let m=[];f=Math.max(f,.1);let g=[];for(let b of p)for(let T=0;Tb.yminT.ymin?1:b.xT.x?1:b.ymax===T.ymax?0:(b.ymax-T.ymax)/Math.abs(b.ymax-T.ymax)),!g.length)return m;let y=[],v=g[0].ymin,x=0;for(;y.length||g.length;){if(g.length){let b=-1;for(let T=0;Tv);T++)b=T;g.splice(0,b+1).forEach(T=>{y.push({s:v,edge:T})})}if(y=y.filter(b=>!(b.edge.ymax<=v)),y.sort((b,T)=>b.edge.x===T.edge.x?0:(b.edge.x-T.edge.x)/Math.abs(b.edge.x-T.edge.x)),(d!==1||x%f==0)&&y.length>1)for(let b=0;b=y.length)break;let C=y[b].edge,w=y[T].edge;m.push([[Math.round(C.x),v],[Math.round(w.x),v]])}v+=d,y.forEach(b=>{b.edge.x=b.edge.x+d*b.edge.islope}),x++}return m}(s,a,n);if(i){for(let h of s)dL(h,l,-i);(function(h,f,d){let p=[];h.forEach(m=>p.push(...m)),dL(p,f,d)})(u,l,-i)}return u}function A2(t,e){var r;let n=e.hachureAngle+90,i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),SDe(t,i,n,a||1)}function ZT(t){let e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}function mL(t,e){return t.type===e}function DL(t){let e=[],r=function(s){let l=new Array;for(;s!=="";)if(s.match(/^([ \t\r\n,]+)/))s=s.substr(RegExp.$1.length);else if(s.match(/^([aAcChHlLmMqQsStTvVzZ])/))l[l.length]={type:CDe,text:RegExp.$1},s=s.substr(RegExp.$1.length);else{if(!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];l[l.length]={type:pL,text:`${parseFloat(RegExp.$1)}`},s=s.substr(RegExp.$1.length)}return l[l.length]={type:NQ,text:""},l}(t),n="BOD",i=0,a=r[i];for(;!mL(a,NQ);){let s=0,l=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return DL("M0,0"+t);i++,s=HT[a.text],n=a.text}else mL(a,pL)?s=HT[n]:(i++,s=HT[a.text],n=a.text);if(!(i+sf%2?h+r:h+e);a.push({key:"C",data:u}),e=u[4],r=u[5];break}case"Q":a.push({key:"Q",data:[...l]}),e=l[2],r=l[3];break;case"q":{let u=l.map((h,f)=>f%2?h+r:h+e);a.push({key:"Q",data:u}),e=u[2],r=u[3];break}case"A":a.push({key:"A",data:[...l]}),e=l[5],r=l[6];break;case"a":e+=l[5],r+=l[6],a.push({key:"A",data:[l[0],l[1],l[2],l[3],l[4],e,r]});break;case"H":a.push({key:"H",data:[...l]}),e=l[0];break;case"h":e+=l[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...l]}),r=l[0];break;case"v":r+=l[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...l]}),e=l[2],r=l[3];break;case"s":{let u=l.map((h,f)=>f%2?h+r:h+e);a.push({key:"S",data:u}),e=u[2],r=u[3];break}case"T":a.push({key:"T",data:[...l]}),e=l[0],r=l[1];break;case"t":e+=l[0],r+=l[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function GQ(t){let e=[],r="",n=0,i=0,a=0,s=0,l=0,u=0;for(let{key:h,data:f}of t){switch(h){case"M":e.push({key:"M",data:[...f]}),[n,i]=f,[a,s]=f;break;case"C":e.push({key:"C",data:[...f]}),n=f[4],i=f[5],l=f[2],u=f[3];break;case"L":e.push({key:"L",data:[...f]}),[n,i]=f;break;case"H":n=f[0],e.push({key:"L",data:[n,i]});break;case"V":i=f[0],e.push({key:"L",data:[n,i]});break;case"S":{let d=0,p=0;r==="C"||r==="S"?(d=n+(n-l),p=i+(i-u)):(d=n,p=i),e.push({key:"C",data:[d,p,...f]}),l=f[0],u=f[1],n=f[2],i=f[3];break}case"T":{let[d,p]=f,m=0,g=0;r==="Q"||r==="T"?(m=n+(n-l),g=i+(i-u)):(m=n,g=i);let y=n+2*(m-n)/3,v=i+2*(g-i)/3,x=d+2*(m-d)/3,b=p+2*(g-p)/3;e.push({key:"C",data:[y,v,x,b,d,p]}),l=m,u=g,n=d,i=p;break}case"Q":{let[d,p,m,g]=f,y=n+2*(d-n)/3,v=i+2*(p-i)/3,x=m+2*(d-m)/3,b=g+2*(p-g)/3;e.push({key:"C",data:[y,v,x,b,m,g]}),l=d,u=p,n=m,i=g;break}case"A":{let d=Math.abs(f[0]),p=Math.abs(f[1]),m=f[2],g=f[3],y=f[4],v=f[5],x=f[6];d===0||p===0?(e.push({key:"C",data:[n,i,v,x,v,x]}),n=v,i=x):(n!==v||i!==x)&&(VQ(n,i,v,x,d,p,m,g,y).forEach(function(b){e.push({key:"C",data:b})}),n=v,i=x);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=h}return e}function E2(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function VQ(t,e,r,n,i,a,s,l,u,h){let f=(d=s,Math.PI*d/180);var d;let p=[],m=0,g=0,y=0,v=0;if(h)[m,g,y,v]=h;else{[t,e]=E2(t,e,-f),[r,n]=E2(r,n,-f);let L=(t-r)/2,S=(e-n)/2,I=L*L/(i*i)+S*S/(a*a);I>1&&(I=Math.sqrt(I),i*=I,a*=I);let M=i*i,P=a*a,B=M*P-M*S*S-P*L*L,F=M*S*S+P*L*L,z=(l===u?-1:1)*Math.sqrt(Math.abs(B/F));y=z*i*S/a+(t+r)/2,v=z*-a*L/i+(e+n)/2,m=Math.asin(parseFloat(((e-v)/a).toFixed(9))),g=Math.asin(parseFloat(((n-v)/a).toFixed(9))),tg&&(m-=2*Math.PI),!u&&g>m&&(g-=2*Math.PI)}let x=g-m;if(Math.abs(x)>120*Math.PI/180){let L=g,S=r,I=n;g=u&&g>m?m+120*Math.PI/180*1:m+120*Math.PI/180*-1,p=VQ(r=y+i*Math.cos(g),n=v+a*Math.sin(g),S,I,i,a,s,0,u,[g,L,y,v])}x=g-m;let b=Math.cos(m),T=Math.sin(m),C=Math.cos(g),w=Math.sin(g),E=Math.tan(x/4),_=4/3*i*E,A=4/3*a*E,D=[t,e],O=[t+_*T,e-A*b],R=[r+_*w,n-A*C],k=[r,n];if(O[0]=2*D[0]-O[0],O[1]=2*D[1]-O[1],h)return[O,R,k].concat(p);{p=[O,R,k].concat(p);let L=[];for(let S=0;S2){let i=[];for(let a=0;a2*Math.PI&&(m=0,g=2*Math.PI);let y=2*Math.PI/u.curveStepCount,v=Math.min(y/2,(g-m)/2),x=FQ(v,h,f,d,p,m,g,1,u);if(!u.disableMultiStroke){let b=FQ(v,h,f,d,p,m,g,1.5,u);x.push(...b)}return s&&(l?x.push(...Wh(h,f,h+d*Math.cos(m),f+p*Math.sin(m),u),...Wh(h,f,h+d*Math.cos(g),f+p*Math.sin(g),u)):x.push({op:"lineTo",data:[h,f]},{op:"lineTo",data:[h+d*Math.cos(m),f+p*Math.sin(m)]})),{type:"path",ops:x}}function OQ(t,e){let r=GQ(zQ(DL(t))),n=[],i=[0,0],a=[0,0];for(let{key:s,data:l}of r)switch(s){case"M":a=[l[0],l[1]],i=[l[0],l[1]];break;case"L":n.push(...Wh(a[0],a[1],l[0],l[1],e)),a=[l[0],l[1]];break;case"C":{let[u,h,f,d,p,m]=l;n.push(...DDe(u,h,f,d,p,m,a,e)),a=[p,m];break}case"Z":n.push(...Wh(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function gL(t,e){let r=[];for(let n of t)if(n.length){let i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+sr(i,e),n[0][1]+sr(i,e)]});for(let s=1;s500?.4:-.0016668*u+1.233334;let f=i.maxRandomnessOffset||0;f*f*100>l&&(f=u/10);let d=f/2,p=.2+.2*WQ(i),m=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;m=sr(m,i,h),g=sr(g,i,h);let y=[],v=o(()=>sr(d,i,h),"M"),x=o(()=>sr(f,i,h),"k"),b=i.preserveVertices;return a&&(s?y.push({op:"move",data:[t+(b?0:v()),e+(b?0:v())]}):y.push({op:"move",data:[t+(b?0:sr(f,i,h)),e+(b?0:sr(f,i,h))]})),s?y.push({op:"bcurveTo",data:[m+t+(r-t)*p+v(),g+e+(n-e)*p+v(),m+t+2*(r-t)*p+v(),g+e+2*(n-e)*p+v(),r+(b?0:v()),n+(b?0:v())]}):y.push({op:"bcurveTo",data:[m+t+(r-t)*p+x(),g+e+(n-e)*p+x(),m+t+2*(r-t)*p+x(),g+e+2*(n-e)*p+x(),r+(b?0:x()),n+(b?0:x())]}),y}function WT(t,e,r){if(!t.length)return[];let n=[];n.push([t[0][0]+sr(e,r),t[0][1]+sr(e,r)]),n.push([t[0][0]+sr(e,r),t[0][1]+sr(e,r)]);for(let i=1;i3){let a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let l=1;l+21&&i.push(l)):i.push(l),i.push(t[e+3])}else{let u=t[e+0],h=t[e+1],f=t[e+2],d=t[e+3],p=Fd(u,h,.5),m=Fd(h,f,.5),g=Fd(f,d,.5),y=Fd(p,m,.5),v=Fd(m,g,.5),x=Fd(y,v,.5);CL([u,p,y,x],0,r,i),CL([x,v,g,d],0,r,i)}var a,s;return i}function RDe(t,e){return QT(t,0,t.length,e)}function QT(t,e,r,n,i){let a=i||[],s=t[e],l=t[r-1],u=0,h=1;for(let f=e+1;fu&&(u=d,h=f)}return Math.sqrt(u)>n?(QT(t,e,h+1,n,a),QT(t,h,r,n,a)):(a.length||a.push(s),a.push(l)),a}function yL(t,e=.15,r){let n=[],i=(t.length-1)/3;for(let a=0;a0?QT(n,0,n.length,r):n}var C2,vL,xL,bL,TL,wL,Ns,kL,CDe,pL,NQ,HT,ADe,io,vm,AL,qT,_L,je,Wt=N(()=>{"use strict";o(dL,"t");o(EDe,"e");o(SDe,"s");o(A2,"n");C2=class{static{o(this,"o")}constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){let n=A2(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){let n=[];for(let i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}};o(ZT,"a");vL=class extends C2{static{o(this,"h")}fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);let i=A2(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],l=.5*n*Math.cos(a),u=.5*n*Math.sin(a);for(let[h,f]of i)ZT([h,f])&&s.push([[h[0]-l,h[1]+u],[...f]],[[h[0]+l,h[1]-u],[...f]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}},xL=class extends C2{static{o(this,"r")}fillPolygons(e,r){let n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}},bL=class{static{o(this,"i")}constructor(e){this.helper=e}fillPolygons(e,r){let n=A2(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){let n=[],i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);let s=i/4;for(let l of e){let u=ZT(l),h=u/i,f=Math.ceil(h)-1,d=u-f*i,p=(l[0][0]+l[1][0])/2-i/4,m=Math.min(l[0][1],l[1][1]);for(let g=0;g{let l=ZT(s),u=Math.floor(l/(n+i)),h=(l+i-u*(n+i))/2,f=s[0],d=s[1];f[0]>d[0]&&(f=s[1],d=s[0]);let p=Math.atan((d[1]-f[1])/(d[0]-f[0]));for(let m=0;m{let s=ZT(a),l=Math.round(s/(2*r)),u=a[0],h=a[1];u[0]>h[0]&&(u=a[1],h=a[0]);let f=Math.atan((h[1]-u[1])/(h[0]-u[0]));for(let d=0;d2*Math.PI&&(_=0,A=2*Math.PI);let D=(A-_)/b.curveStepCount,O=[];for(let R=_;R<=A;R+=D)O.push([T+w*Math.cos(R),C+E*Math.sin(R)]);return O.push([T+w*Math.cos(A),C+E*Math.sin(A)]),O.push([T,C]),ym([O],b)}(e,r,n,i,a,s,h));return h.stroke!==io&&f.push(d),this._d("arc",f,h)}curve(e,r){let n=this._o(r),i=[],a=MQ(e,n);if(n.fill&&n.fill!==io)if(n.fillStyle==="solid"){let s=MQ(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{let s=[],l=e;if(l.length){let u=typeof l[0][0]=="number"?[l]:l;for(let h of u)h.length<3?s.push(...h):h.length===3?s.push(...yL($Q([h[0],h[0],h[1],h[2]]),10,(1+n.roughness)/2)):s.push(...yL($Q(h),10,(1+n.roughness)/2))}s.length&&i.push(ym([s],n))}return n.stroke!==io&&i.push(a),this._d("curve",i,n)}polygon(e,r){let n=this._o(r),i=[],a=YT(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(gL([e],n)):i.push(ym([e],n))),n.stroke!==io&&i.push(a),this._d("polygon",i,n)}path(e,r){let n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");let a=n.fill&&n.fill!=="transparent"&&n.fill!==io,s=n.stroke!==io,l=!!(n.simplification&&n.simplification<1),u=function(f,d,p){let m=GQ(zQ(DL(f))),g=[],y=[],v=[0,0],x=[],b=o(()=>{x.length>=4&&y.push(...yL(x,d)),x=[]},"i"),T=o(()=>{b(),y.length&&(g.push(y),y=[])},"c");for(let{key:w,data:E}of m)switch(w){case"M":T(),v=[E[0],E[1]],y.push(v);break;case"L":b(),y.push([E[0],E[1]]);break;case"C":if(!x.length){let _=y.length?y[y.length-1]:v;x.push([_[0],_[1]])}x.push([E[0],E[1]]),x.push([E[2],E[3]]),x.push([E[4],E[5]]);break;case"Z":b(),y.push([v[0],v[1]])}if(T(),!p)return g;let C=[];for(let w of g){let E=RDe(w,p);E.length&&C.push(E)}return C}(e,1,l?4-4*(n.simplification||1):(1+n.roughness)/2),h=OQ(e,n);if(a)if(n.fillStyle==="solid")if(u.length===1){let f=OQ(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(f.ops)})}else i.push(gL(u,n));else i.push(ym(u,n));return s&&(l?u.forEach(f=>{i.push(YT(f,!1,n))}):i.push(h)),this._d("path",i,n)}opsToPath(e,r){let n="";for(let i of e.ops){let a=typeof r=="number"&&r>=0?i.data.map(s=>+s.toFixed(r)):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){let r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(let a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:io};break;case"fillPath":s={d:this.opsToPath(a),stroke:io,strokeWidth:0,fill:n.fill||io};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||io,strokeWidth:n,fill:io}}_mergedShape(e){return e.filter((r,n)=>n===0||r.op!=="move")}},AL=class{static{o(this,"st")}constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new vm(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(let s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";let l=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,l),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(let a of r.ops){let s=typeof n=="number"&&n>=0?a.data.map(l=>+l.toFixed(n)):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h),h}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){let n=this.gen.path(e,r);return this.draw(n),n}},qT="http://www.w3.org/2000/svg",_L=class{static{o(this,"ot")}constructor(e,r){this.svg=e,this.gen=new vm(r)}draw(e){let r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(qT,"g"),s=e.options.fixedDecimalPlaceDigits;for(let l of r){let u=null;switch(l.type){case"path":u=i.createElementNS(qT,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke",n.stroke),u.setAttribute("stroke-width",n.strokeWidth+""),u.setAttribute("fill","none"),n.strokeLineDash&&u.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&u.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":u=i.createElementNS(qT,"path"),u.setAttribute("d",this.opsToPath(l,s)),u.setAttribute("stroke","none"),u.setAttribute("stroke-width","0"),u.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||u.setAttribute("fill-rule","evenodd");break;case"fillSketch":u=this.fillSketch(i,l,n)}u&&a.appendChild(u)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);let a=e.createElementNS(qT,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){let s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){let s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){let s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){let a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){let n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){let n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,l=!1,u){let h=this.gen.arc(e,r,n,i,a,s,l,u);return this.draw(h)}curve(e,r){let n=this.gen.curve(e,r);return this.draw(n)}path(e,r){let n=this.gen.path(e,r);return this.draw(n)}},je={canvas:o((t,e)=>new AL(t,e),"canvas"),svg:o((t,e)=>new _L(t,e),"svg"),generator:o(t=>new vm(t),"generator"),newSeed:o(()=>vm.newSeed(),"newSeed")}});function qQ(t,e){let{labelStyles:r}=qe(e);e.labelStyle=r;let n=ot(e),i=n;n||(i="anchor");let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=1,{cssStyles:l}=e,u=je.svg(a),h=Qe(e,{fill:"black",stroke:"none",fillStyle:"solid"});e.look!=="handDrawn"&&(h.roughness=0);let f=u.circle(0,0,s*2,h),d=a.insert(()=>f,":first-child");return d.attr("class","anchor").attr("style",ii(l)),Ke(e,d),e.intersect=function(p){return X.info("Circle intersect",e,s,p),Xe.circle(e,s,p)},a}var YQ=N(()=>{"use strict";yt();Ft();Ht();Gt();Wt();nr();o(qQ,"anchor")});function XQ(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/i),w=Math.atan2((n-b)/a,(r-x)/i)-T;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);let E=[];for(let _=0;_<20;_++){let A=_/19,D=T+A*w,O=x+i*Math.cos(D),R=b+a*Math.sin(D);E.push({x:O,y:R})}return E}async function jQ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=a.width+e.padding+20,l=a.height+e.padding,u=l/2,h=u/(2.5+l/50),{cssStyles:f}=e,d=[{x:s/2,y:-l/2},{x:-s/2,y:-l/2},...XQ(-s/2,-l/2,-s/2,l/2,h,u,!1),{x:s/2,y:l/2},...XQ(s/2,l/2,s/2,-l/2,h,u,!0)],p=je.svg(i),m=Qe(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=zt(d),y=p.path(g,m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(${h/2}, 0)`),Ke(e,v),e.intersect=function(x){return Xe.polygon(e,d,x)},i}var KQ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(XQ,"generateArcPoints");o(jQ,"bowTieRect")});function Ms(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var qh=N(()=>{"use strict";o(Ms,"insertPolygonShape")});async function QQ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=a.height+e.padding,l=12,u=a.width+e.padding+l,h=0,f=u,d=-s,p=0,m=[{x:h+l,y:d},{x:f,y:d},{x:f,y:p},{x:h,y:p},{x:h,y:d+l},{x:h+l,y:d}],g,{cssStyles:y}=e;if(e.look==="handDrawn"){let v=je.svg(i),x=Qe(e,{}),b=zt(m),T=v.path(b,x);g=i.insert(()=>T,":first-child").attr("transform",`translate(${-u/2}, ${s/2})`),y&&g.attr("style",y)}else g=Ms(i,u,s,m);return n&&g.attr("style",n),Ke(e,g),e.intersect=function(v){return Xe.polygon(e,m,v)},i}var ZQ=N(()=>{"use strict";Ft();Ht();Gt();Wt();qh();Ft();o(QQ,"card")});function JQ(t,e){let{nodeStyles:r}=qe(e);e.label="";let n=t.insert("g").attr("class",ot(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],l=je.svg(n),u=Qe(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=zt(s),f=l.path(h,u),d=n.insert(()=>f,":first-child");return i&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&d.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(p){return Xe.polygon(e,s,p)},n}var eZ=N(()=>{"use strict";Ht();Wt();Gt();Ft();o(JQ,"choice")});async function tZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await pt(t,e,ot(e)),l=a.width/2+s,u,{cssStyles:h}=e;if(e.look==="handDrawn"){let f=je.svg(i),d=Qe(e,{}),p=f.circle(0,0,l*2,d);u=i.insert(()=>p,":first-child"),u.attr("class","basic label-container").attr("style",ii(h))}else u=i.insert("circle",":first-child").attr("class","basic label-container").attr("style",n).attr("r",l).attr("cx",0).attr("cy",0);return Ke(e,u),e.intersect=function(f){return X.info("Circle intersect",e,l,f),Xe.circle(e,l,f)},i}var rZ=N(()=>{"use strict";yt();Ft();Ht();Gt();Wt();nr();o(tZ,"circle")});function NDe(t){let e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},l={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${l.x},${l.y} + M ${i.x},${i.y} L ${s.x},${s.y}`}function nZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r,e.label="";let i=t.insert("g").attr("class",ot(e)).attr("id",e.domId??e.id),a=Math.max(30,e?.width??0),{cssStyles:s}=e,l=je.svg(i),u=Qe(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");let h=l.circle(0,0,a*2,u),f=NDe(a),d=l.path(f,u),p=i.insert(()=>h,":first-child");return p.insert(()=>d),s&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",n),Ke(e,p),e.intersect=function(m){return X.info("crossedCircle intersect",e,{radius:a,point:m}),Xe.circle(e,a,m)},i}var iZ=N(()=>{"use strict";yt();Ft();Gt();Wt();Ht();o(NDe,"createLine");o(nZ,"crossedCircle")});function Yh(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),C.insert(()=>x,":first-child"),C.attr("class","text"),f&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",n),C.attr("transform",`translate(${h}, 0)`),s.attr("transform",`translate(${-l/2+h-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Ke(e,C),e.intersect=function(w){return Xe.polygon(e,p,w)},i}var sZ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(Yh,"generateCirclePoints");o(aZ,"curlyBraceLeft")});function Xh(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;dT,":first-child").attr("stroke-opacity",0),C.insert(()=>x,":first-child"),C.attr("class","text"),f&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",n),C.attr("transform",`translate(${-h}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Ke(e,C),e.intersect=function(w){return Xe.polygon(e,p,w)},i}var lZ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(Xh,"generateCirclePoints");o(oZ,"curlyBraceRight")});function Ra(t,e,r,n=100,i=0,a=180){let s=[],l=i*Math.PI/180,f=(a*Math.PI/180-l)/(n-1);for(let d=0;d_,":first-child").attr("stroke-opacity",0),A.insert(()=>b,":first-child"),A.insert(()=>w,":first-child"),A.attr("class","text"),f&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(${h-h/4}, 0)`),s.attr("transform",`translate(${-l/2+(e.padding??0)/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Ke(e,A),e.intersect=function(D){return Xe.polygon(e,m,D)},i}var uZ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(Ra,"generateCirclePoints");o(cZ,"curlyBraces")});async function hZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=80,l=20,u=Math.max(s,(a.width+(e.padding??0)*2)*1.25,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=je.svg(i),m=Qe(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=u,y=h,v=g-f,x=y/4,b=[{x:v,y:0},{x,y:0},{x:0,y:y/2},{x,y},{x:v,y},...Bd(-v,-y/2,f,50,270,90)],T=zt(b),C=p.path(T,m),w=i.insert(()=>C,":first-child");return w.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&w.selectChildren("path").attr("style",n),w.attr("transform",`translate(${-u/2}, ${-h/2})`),Ke(e,w),e.intersect=function(E){return Xe.polygon(e,b,E)},i}var fZ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(hZ,"curvedTrapezoid")});async function dZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=Math.max(a.width+e.padding,e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+e.padding,e.height??0),d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=je.svg(i),g=IDe(0,0,l,f,u,h),y=ODe(0,h,l,f,u,h),v=m.path(g,Qe(e,{})),x=m.path(y,Qe(e,{fill:"none"}));d=i.insert(()=>x,":first-child"),d=i.insert(()=>v,":first-child"),d.attr("class","basic label-container"),p&&d.attr("style",p)}else{let m=MDe(0,0,l,f,u,h);d=i.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",ii(p)).attr("style",n)}return d.attr("label-offset-y",h),d.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),Ke(e,d),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+(e.padding??0)/1.5-(a.y-(a.top??0))})`),e.intersect=function(m){let g=Xe.rect(e,m),y=g.x-(e.x??0);if(u!=0&&(Math.abs(y)<(e.width??0)/2||Math.abs(y)==(e.width??0)/2&&Math.abs(g.y-(e.y??0))>(e.height??0)/2-h)){let v=h*h*(1-y*y/(u*u));v>0&&(v=Math.sqrt(v)),v=h-v,m.y-(e.y??0)>0&&(v=-v),g.y+=v}return g},i}var MDe,IDe,ODe,pZ=N(()=>{"use strict";Ft();Ht();Gt();Wt();nr();MDe=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),IDe=o((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),ODe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(dZ,"cylinder")});async function mZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=a.width+e.padding,u=a.height+e.padding,h=u*.2,f=-l/2,d=-u/2-h/2,{cssStyles:p}=e,m=je.svg(i),g=Qe(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d+h},{x:-f,y:d+h},{x:-f,y:-d},{x:f,y:-d},{x:f,y:d},{x:-f,y:d},{x:-f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${f+(e.padding??0)/2-(a.x-(a.left??0))}, ${d+h+(e.padding??0)/2-(a.y-(a.top??0))})`),Ke(e,x),e.intersect=function(b){return Xe.rect(e,b)},i}var gZ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(mZ,"dividedRectangle")});async function yZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,halfPadding:s}=await pt(t,e,ot(e)),u=a.width/2+s+5,h=a.width/2+s,f,{cssStyles:d}=e;if(e.look==="handDrawn"){let p=je.svg(i),m=Qe(e,{roughness:.2,strokeWidth:2.5}),g=Qe(e,{roughness:.2,strokeWidth:1.5}),y=p.circle(0,0,u*2,m),v=p.circle(0,0,h*2,g);f=i.insert("g",":first-child"),f.attr("class",ii(e.cssClasses)).attr("style",ii(d)),f.node()?.appendChild(y),f.node()?.appendChild(v)}else{f=i.insert("g",":first-child");let p=f.insert("circle",":first-child"),m=f.insert("circle");f.attr("class","basic label-container").attr("style",n),p.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),m.attr("class","inner-circle").attr("style",n).attr("r",h).attr("cx",0).attr("cy",0)}return Ke(e,f),e.intersect=function(p){return X.info("DoubleCircle intersect",e,u,p),Xe.circle(e,u,p)},i}var vZ=N(()=>{"use strict";yt();Ft();Ht();Gt();Wt();nr();o(yZ,"doublecircle")});function xZ(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=qe(e);e.label="",e.labelStyle=n;let a=t.insert("g").attr("class",ot(e)).attr("id",e.domId??e.id),s=7,{cssStyles:l}=e,u=je.svg(a),{nodeBorder:h}=r,f=Qe(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(f.roughness=0);let d=u.circle(0,0,s*2,f),p=a.insert(()=>d,":first-child");return p.selectAll("path").attr("style",`fill: ${h} !important;`),l&&l.length>0&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",l),i&&e.look!=="handDrawn"&&p.selectAll("path").attr("style",i),Ke(e,p),e.intersect=function(m){return X.info("filledCircle intersect",e,{radius:s,point:m}),Xe.circle(e,s,m)},a}var bZ=N(()=>{"use strict";Wt();yt();Ht();Gt();Ft();o(xZ,"filledCircle")});async function TZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=a.width+(e.padding??0),u=l+a.height,h=l+a.height,f=[{x:0,y:-u},{x:h,y:-u},{x:h/2,y:0}],{cssStyles:d}=e,p=je.svg(i),m=Qe(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=zt(f),y=p.path(g,m),v=i.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${u/2})`);return d&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),e.width=l,e.height=u,Ke(e,v),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${-u/2+(e.padding??0)/2+(a.y-(a.top??0))})`),e.intersect=function(x){return X.info("Triangle intersect",e,f,x),Xe.polygon(e,f,x)},i}var wZ=N(()=>{"use strict";yt();Ft();Ht();Gt();Wt();Ft();o(TZ,"flippedTriangle")});function kZ(t,e,{dir:r,config:{state:n,themeVariables:i}}){let{nodeStyles:a}=qe(e);e.label="";let s=t.insert("g").attr("class",ot(e)).attr("id",e.domId??e.id),{cssStyles:l}=e,u=Math.max(70,e?.width??0),h=Math.max(10,e?.height??0);r==="LR"&&(u=Math.max(10,e?.width??0),h=Math.max(70,e?.height??0));let f=-1*u/2,d=-1*h/2,p=je.svg(s),m=Qe(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=p.rectangle(f,d,u,h,m),y=s.insert(()=>g,":first-child");l&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",l),a&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",a),Ke(e,y);let v=n?.padding??0;return e.width&&e.height&&(e.width+=v/2||0,e.height+=v/2||0),e.intersect=function(x){return Xe.rect(e,x)},s}var EZ=N(()=>{"use strict";Wt();Ht();Gt();Ft();o(kZ,"forkJoin")});async function SZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let i=80,a=50,{shapeSvg:s,bbox:l}=await pt(t,e,ot(e)),u=Math.max(i,l.width+(e.padding??0)*2,e?.width??0),h=Math.max(a,l.height+(e.padding??0)*2,e?.height??0),f=h/2,{cssStyles:d}=e,p=je.svg(s),m=Qe(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-u/2,y:-h/2},{x:u/2-f,y:-h/2},...Bd(-u/2+f,0,f,50,90,270),{x:u/2-f,y:h/2},{x:-u/2,y:h/2}],y=zt(g),v=p.path(y,m),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),Ke(e,x),e.intersect=function(b){return X.info("Pill intersect",e,{radius:f,point:b}),Xe.polygon(e,g,b)},s}var CZ=N(()=>{"use strict";yt();Ft();Ht();Gt();Wt();o(SZ,"halfRoundedRectangle")});async function AZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=a.height+(e.padding??0),l=a.width+(e.padding??0)*2.5,{cssStyles:u}=e,h=je.svg(i),f=Qe(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");let d=l/2,p=d/6;d=d+p;let m=s/2,g=m/2,y=d-g,v=[{x:-y,y:-m},{x:0,y:-m},{x:y,y:-m},{x:d,y:0},{x:y,y:m},{x:0,y:m},{x:-y,y:m},{x:-d,y:0}],x=zt(v),b=h.path(x,f),T=i.insert(()=>b,":first-child");return T.attr("class","basic label-container"),u&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",u),n&&e.look!=="handDrawn"&&T.selectChildren("path").attr("style",n),e.width=l,e.height=s,Ke(e,T),e.intersect=function(C){return Xe.polygon(e,v,C)},i}var _Z=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(AZ,"hexagon")});async function DZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.label="",e.labelStyle=r;let{shapeSvg:i}=await pt(t,e,ot(e)),a=Math.max(30,e?.width??0),s=Math.max(30,e?.height??0),{cssStyles:l}=e,u=je.svg(i),h=Qe(e,{});e.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");let f=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],d=zt(f),p=u.path(d,h),m=i.insert(()=>p,":first-child");return m.attr("class","basic label-container"),l&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",l),n&&e.look!=="handDrawn"&&m.selectChildren("path").attr("style",n),m.attr("transform",`translate(${-a/2}, ${-s/2})`),Ke(e,m),e.intersect=function(g){return X.info("Pill intersect",e,{points:f}),Xe.polygon(e,f,g)},i}var LZ=N(()=>{"use strict";yt();Ft();Ht();Gt();Wt();o(DZ,"hourglass")});async function RZ(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await pt(t,e,"icon-shape default"),p=e.pos==="t",m=l,g=l,{nodeBorder:y}=r,{stylesMap:v}=vc(e),x=-g/2,b=-m/2,T=e.label?8:0,C=je.svg(h),w=Qe(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");let E=C.rectangle(x,b,g,m,w),_=Math.max(g,f.width),A=m+f.height+T,D=C.rectangle(-_/2,-A/2,_,A,{...w,fill:"transparent",stroke:"none"}),O=h.insert(()=>E,":first-child"),R=h.insert(()=>D);if(e.icon){let k=h.append("g");k.html(`${await Es(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let L=k.node().getBBox(),S=L.width,I=L.height,M=L.x,P=L.y;k.attr("transform",`translate(${-S/2-M},${p?f.height/2+T/2-I/2-P:-f.height/2-T/2-I/2-P})`),k.attr("style",`color: ${v.get("stroke")??y};`)}return d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${p?-A/2:A/2-f.height})`),O.attr("transform",`translate(0,${p?f.height/2+T/2:-f.height/2-T/2})`),Ke(e,R),e.intersect=function(k){if(X.info("iconSquare intersect",e,k),!e.label)return Xe.rect(e,k);let L=e.x??0,S=e.y??0,I=e.height??0,M=[];return p?M=[{x:L-f.width/2,y:S-I/2},{x:L+f.width/2,y:S-I/2},{x:L+f.width/2,y:S-I/2+f.height+T},{x:L+g/2,y:S-I/2+f.height+T},{x:L+g/2,y:S+I/2},{x:L-g/2,y:S+I/2},{x:L-g/2,y:S-I/2+f.height+T},{x:L-f.width/2,y:S-I/2+f.height+T}]:M=[{x:L-g/2,y:S-I/2},{x:L+g/2,y:S-I/2},{x:L+g/2,y:S-I/2+m},{x:L+f.width/2,y:S-I/2+m},{x:L+f.width/2/2,y:S+I/2},{x:L-f.width/2,y:S+I/2},{x:L-f.width/2,y:S-I/2+m},{x:L-g/2,y:S-I/2+m}],Xe.polygon(e,M,k)},h}var NZ=N(()=>{"use strict";Wt();yt();rc();Ht();Gt();Ft();o(RZ,"icon")});async function MZ(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,label:d}=await pt(t,e,"icon-shape default"),p=20,m=e.label?8:0,g=e.pos==="t",{nodeBorder:y,mainBkg:v}=r,{stylesMap:x}=vc(e),b=je.svg(h),T=Qe(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let C=x.get("fill");T.stroke=C??v;let w=h.append("g");e.icon&&w.html(`${await Es(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let E=w.node().getBBox(),_=E.width,A=E.height,D=E.x,O=E.y,R=Math.max(_,A)*Math.SQRT2+p*2,k=b.circle(0,0,R,T),L=Math.max(R,f.width),S=R+f.height+m,I=b.rectangle(-L/2,-S/2,L,S,{...T,fill:"transparent",stroke:"none"}),M=h.insert(()=>k,":first-child"),P=h.insert(()=>I);return w.attr("transform",`translate(${-_/2-D},${g?f.height/2+m/2-A/2-O:-f.height/2-m/2-A/2-O})`),w.attr("style",`color: ${x.get("stroke")??y};`),d.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-S/2:S/2-f.height})`),M.attr("transform",`translate(0,${g?f.height/2+m/2:-f.height/2-m/2})`),Ke(e,P),e.intersect=function(B){return X.info("iconSquare intersect",e,B),Xe.rect(e,B)},h}var IZ=N(()=>{"use strict";Wt();yt();rc();Ht();Gt();Ft();o(MZ,"iconCircle")});var Is,$d=N(()=>{"use strict";Is=o((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD")});async function OZ(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await pt(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=vc(e),T=-y/2,C=-g/2,w=e.label?8:0,E=je.svg(h),_=Qe(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");let A=b.get("fill");_.stroke=A??x;let D=E.path(Is(T,C,y,g,5),_),O=Math.max(y,f.width),R=g+f.height+w,k=E.rectangle(-O/2,-R/2,O,R,{..._,fill:"transparent",stroke:"none"}),L=h.insert(()=>D,":first-child").attr("class","icon-shape2"),S=h.insert(()=>k);if(e.icon){let I=h.append("g");I.html(`${await Es(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let M=I.node().getBBox(),P=M.width,B=M.height,F=M.x,z=M.y;I.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-z:-f.height/2-w/2-B/2-z})`),I.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-R/2:R/2-f.height})`),L.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),Ke(e,S),e.intersect=function(I){if(X.info("iconSquare intersect",e,I),!e.label)return Xe.rect(e,I);let M=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:M-f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2+f.height+w},{x:M+y/2,y:P-B/2+f.height+w},{x:M+y/2,y:P+B/2},{x:M-y/2,y:P+B/2},{x:M-y/2,y:P-B/2+f.height+w},{x:M-f.width/2,y:P-B/2+f.height+w}]:F=[{x:M-y/2,y:P-B/2},{x:M+y/2,y:P-B/2},{x:M+y/2,y:P-B/2+g},{x:M+f.width/2,y:P-B/2+g},{x:M+f.width/2/2,y:P+B/2},{x:M-f.width/2,y:P+B/2},{x:M-f.width/2,y:P-B/2+g},{x:M-y/2,y:P-B/2+g}],Xe.polygon(e,F,I)},h}var PZ=N(()=>{"use strict";Wt();yt();rc();Ht();Gt();$d();Ft();o(OZ,"iconRounded")});async function BZ(t,e,{config:{themeVariables:r,flowchart:n}}){let{labelStyles:i}=qe(e);e.labelStyle=i;let a=e.assetHeight??48,s=e.assetWidth??48,l=Math.max(a,s),u=n?.wrappingWidth;e.width=Math.max(l,u??0);let{shapeSvg:h,bbox:f,halfPadding:d,label:p}=await pt(t,e,"icon-shape default"),m=e.pos==="t",g=l+d*2,y=l+d*2,{nodeBorder:v,mainBkg:x}=r,{stylesMap:b}=vc(e),T=-y/2,C=-g/2,w=e.label?8:0,E=je.svg(h),_=Qe(e,{});e.look!=="handDrawn"&&(_.roughness=0,_.fillStyle="solid");let A=b.get("fill");_.stroke=A??x;let D=E.path(Is(T,C,y,g,.1),_),O=Math.max(y,f.width),R=g+f.height+w,k=E.rectangle(-O/2,-R/2,O,R,{..._,fill:"transparent",stroke:"none"}),L=h.insert(()=>D,":first-child"),S=h.insert(()=>k);if(e.icon){let I=h.append("g");I.html(`${await Es(e.icon,{height:l,width:l,fallbackPrefix:""})}`);let M=I.node().getBBox(),P=M.width,B=M.height,F=M.x,z=M.y;I.attr("transform",`translate(${-P/2-F},${m?f.height/2+w/2-B/2-z:-f.height/2-w/2-B/2-z})`),I.attr("style",`color: ${b.get("stroke")??v};`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${m?-R/2:R/2-f.height})`),L.attr("transform",`translate(0,${m?f.height/2+w/2:-f.height/2-w/2})`),Ke(e,S),e.intersect=function(I){if(X.info("iconSquare intersect",e,I),!e.label)return Xe.rect(e,I);let M=e.x??0,P=e.y??0,B=e.height??0,F=[];return m?F=[{x:M-f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2},{x:M+f.width/2,y:P-B/2+f.height+w},{x:M+y/2,y:P-B/2+f.height+w},{x:M+y/2,y:P+B/2},{x:M-y/2,y:P+B/2},{x:M-y/2,y:P-B/2+f.height+w},{x:M-f.width/2,y:P-B/2+f.height+w}]:F=[{x:M-y/2,y:P-B/2},{x:M+y/2,y:P-B/2},{x:M+y/2,y:P-B/2+g},{x:M+f.width/2,y:P-B/2+g},{x:M+f.width/2/2,y:P+B/2},{x:M-f.width/2,y:P+B/2},{x:M-f.width/2,y:P-B/2+g},{x:M-y/2,y:P-B/2+g}],Xe.polygon(e,F,I)},h}var FZ=N(()=>{"use strict";Wt();yt();rc();Ht();$d();Gt();Ft();o(BZ,"iconSquare")});async function $Z(t,e,{config:{flowchart:r}}){let n=new Image;n.src=e?.img??"",await n.decode();let i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;let{labelStyles:s}=qe(e);e.labelStyle=s;let l=r?.wrappingWidth;e.defaultWidth=r?.wrappingWidth;let u=Math.max(e.label?l??0:0,e?.assetWidth??i),h=e.constraint==="on"&&e?.assetHeight?e.assetHeight*e.imageAspectRatio:u,f=e.constraint==="on"?h/e.imageAspectRatio:e?.assetHeight??a;e.width=Math.max(h,l??0);let{shapeSvg:d,bbox:p,label:m}=await pt(t,e,"image-shape default"),g=e.pos==="t",y=-h/2,v=-f/2,x=e.label?8:0,b=je.svg(d),T=Qe(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let C=b.rectangle(y,v,h,f,T),w=Math.max(h,p.width),E=f+p.height+x,_=b.rectangle(-w/2,-E/2,w,E,{...T,fill:"none",stroke:"none"}),A=d.insert(()=>C,":first-child"),D=d.insert(()=>_);if(e.img){let O=d.append("image");O.attr("href",e.img),O.attr("width",h),O.attr("height",f),O.attr("preserveAspectRatio","none"),O.attr("transform",`translate(${-h/2},${g?E/2-f:-E/2})`)}return m.attr("transform",`translate(${-p.width/2-(p.x-(p.left??0))},${g?-f/2-p.height/2-x/2:f/2-p.height/2+x/2})`),A.attr("transform",`translate(0,${g?p.height/2+x/2:-p.height/2-x/2})`),Ke(e,D),e.intersect=function(O){if(X.info("iconSquare intersect",e,O),!e.label)return Xe.rect(e,O);let R=e.x??0,k=e.y??0,L=e.height??0,S=[];return g?S=[{x:R-p.width/2,y:k-L/2},{x:R+p.width/2,y:k-L/2},{x:R+p.width/2,y:k-L/2+p.height+x},{x:R+h/2,y:k-L/2+p.height+x},{x:R+h/2,y:k+L/2},{x:R-h/2,y:k+L/2},{x:R-h/2,y:k-L/2+p.height+x},{x:R-p.width/2,y:k-L/2+p.height+x}]:S=[{x:R-h/2,y:k-L/2},{x:R+h/2,y:k-L/2},{x:R+h/2,y:k-L/2+f},{x:R+p.width/2,y:k-L/2+f},{x:R+p.width/2/2,y:k+L/2},{x:R-p.width/2,y:k+L/2},{x:R-p.width/2,y:k-L/2+f},{x:R-h/2,y:k-L/2+f}],Xe.polygon(e,S,O)},d}var zZ=N(()=>{"use strict";Wt();yt();Ht();Gt();Ft();o($Z,"imageSquare")});async function GZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=[{x:0,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:-3*l/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=je.svg(i),p=Qe(e,{}),m=zt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ms(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ke(e,h),e.intersect=function(d){return Xe.polygon(e,u,d)},i}var VZ=N(()=>{"use strict";Ft();Ht();Gt();Wt();qh();o(GZ,"inv_trapezoid")});async function zd(t,e,r){let{labelStyles:n,nodeStyles:i}=qe(e);e.labelStyle=n;let{shapeSvg:a,bbox:s}=await pt(t,e,ot(e)),l=Math.max(s.width+r.labelPaddingX*2,e?.width||0),u=Math.max(s.height+r.labelPaddingY*2,e?.height||0),h=-l/2,f=-u/2,d,{rx:p,ry:m}=e,{cssStyles:g}=e;if(r?.rx&&r.ry&&(p=r.rx,m=r.ry),e.look==="handDrawn"){let y=je.svg(a),v=Qe(e,{}),x=p||m?y.path(Is(h,f,l,u,p||0),v):y.rectangle(h,f,l,u,v);d=a.insert(()=>x,":first-child"),d.attr("class","basic label-container").attr("style",ii(g))}else d=a.insert("rect",":first-child"),d.attr("class","basic label-container").attr("style",i).attr("rx",ii(p)).attr("ry",ii(m)).attr("x",h).attr("y",f).attr("width",l).attr("height",u);return Ke(e,d),e.intersect=function(y){return Xe.rect(e,y)},a}var _2=N(()=>{"use strict";Ft();Ht();$d();Gt();Wt();nr();o(zd,"drawRect")});async function UZ(t,e){let{shapeSvg:r,bbox:n,label:i}=await pt(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),Ke(e,a),e.intersect=function(u){return Xe.rect(e,u)},r}var HZ=N(()=>{"use strict";_2();Ft();Ht();o(UZ,"labelRect")});async function WZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:0,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:-(3*l)/6,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=je.svg(i),p=Qe(e,{}),m=zt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ms(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ke(e,h),e.intersect=function(d){return Xe.polygon(e,u,d)},i}var qZ=N(()=>{"use strict";Ft();Ht();Gt();Wt();qh();o(WZ,"lean_left")});async function YZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=Math.max(a.width+(e.padding??0),e?.width??0),l=Math.max(a.height+(e.padding??0),e?.height??0),u=[{x:-3*l/6,y:0},{x:s,y:0},{x:s+3*l/6,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=je.svg(i),p=Qe(e,{}),m=zt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ms(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ke(e,h),e.intersect=function(d){return Xe.polygon(e,u,d)},i}var XZ=N(()=>{"use strict";Ft();Ht();Gt();Wt();qh();o(YZ,"lean_right")});function jZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.label="",e.labelStyle=r;let i=t.insert("g").attr("class",ot(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,e?.width??0),l=Math.max(35,e?.height??0),u=7,h=[{x:s,y:0},{x:0,y:l+u/2},{x:s-2*u,y:l+u/2},{x:0,y:2*l},{x:s,y:l-u/2},{x:2*u,y:l-u/2}],f=je.svg(i),d=Qe(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=zt(h),m=f.path(p,d),g=i.insert(()=>m,":first-child");return a&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",n),g.attr("transform",`translate(-${s/2},${-l})`),Ke(e,g),e.intersect=function(y){return X.info("lightningBolt intersect",e,y),Xe.polygon(e,h,y)},i}var KZ=N(()=>{"use strict";yt();Ft();Gt();Wt();Ht();Ft();o(jZ,"lightningBolt")});async function QZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=Math.max(a.width+(e.padding??0),e.width??0),u=l/2,h=u/(2.5+l/50),f=Math.max(a.height+h+(e.padding??0),e.height??0),d=f*.1,p,{cssStyles:m}=e;if(e.look==="handDrawn"){let g=je.svg(i),y=BDe(0,0,l,f,u,h,d),v=FDe(0,h,l,f,u,h),x=Qe(e,{}),b=g.path(y,x),T=g.path(v,x);i.insert(()=>T,":first-child").attr("class","line"),p=i.insert(()=>b,":first-child"),p.attr("class","basic label-container"),m&&p.attr("style",m)}else{let g=PDe(0,0,l,f,u,h,d);p=i.insert("path",":first-child").attr("d",g).attr("class","basic label-container").attr("style",ii(m)).attr("style",n)}return p.attr("label-offset-y",h),p.attr("transform",`translate(${-l/2}, ${-(f/2+h)})`),Ke(e,p),s.attr("transform",`translate(${-(a.width/2)-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),e.intersect=function(g){let y=Xe.rect(e,g),v=y.x-(e.x??0);if(u!=0&&(Math.abs(v)<(e.width??0)/2||Math.abs(v)==(e.width??0)/2&&Math.abs(y.y-(e.y??0))>(e.height??0)/2-h)){let x=h*h*(1-v*v/(u*u));x>0&&(x=Math.sqrt(x)),x=h-x,g.y-(e.y??0)>0&&(x=-x),y.y+=x}return y},i}var PDe,BDe,FDe,ZZ=N(()=>{"use strict";Ft();Ht();Gt();Wt();nr();PDe=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),BDe=o((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),FDe=o((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD");o(QZ,"linedCylinder")});async function JZ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,{cssStyles:d}=e,p=je.svg(i),m=Qe(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:-l/2-l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:f/2},...$o(-l/2-l/2*.1,f/2,l/2+l/2*.1,f/2,h,.8),{x:l/2+l/2*.1,y:-f/2},{x:-l/2-l/2*.1,y:-f/2},{x:-l/2,y:-f/2},{x:-l/2,y:f/2*1.1},{x:-l/2,y:-f/2}],y=p.polygon(g.map(x=>[x.x,x.y]),m),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)+l/2*.1/2-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),Ke(e,v),e.intersect=function(x){return Xe.polygon(e,g,x)},i}var eJ=N(()=>{"use strict";Ft();Ht();Wt();Gt();o(JZ,"linedWaveEdgedRect")});async function tJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=je.svg(i),g=Qe(e,{}),y=[{x:f-h,y:d+h},{x:f-h,y:d+u+h},{x:f+l-h,y:d+u+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d+u-h},{x:f+l+h,y:d+u-h},{x:f+l+h,y:d-h},{x:f+h,y:d-h},{x:f+h,y:d},{x:f,y:d},{x:f,y:d+h}],v=[{x:f,y:d+h},{x:f+l-h,y:d+h},{x:f+l-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d},{x:f,y:d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=zt(y),b=m.path(x,g),T=zt(v),C=m.path(T,{...g,fill:"none"}),w=i.insert(()=>C,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)-h-(a.x-(a.left??0))}, ${-(a.height/2)+h-(a.y-(a.top??0))})`),Ke(e,w),e.intersect=function(E){return Xe.polygon(e,y,E)},i}var rJ=N(()=>{"use strict";Ft();Gt();Wt();Ht();o(tJ,"multiRect")});async function nJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=u+h,d=-l/2,p=-f/2,m=5,{cssStyles:g}=e,y=$o(d-m,p+f+m,d+l-m,p+f+m,h,.8),v=y?.[y.length-1],x=[{x:d-m,y:p+m},{x:d-m,y:p+f+m},...y,{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:v.y-2*m},{x:d+l+m,y:v.y-2*m},{x:d+l+m,y:p-m},{x:d+m,y:p-m},{x:d+m,y:p},{x:d,y:p},{x:d,y:p+m}],b=[{x:d,y:p+m},{x:d+l-m,y:p+m},{x:d+l-m,y:v.y-m},{x:d+l,y:v.y-m},{x:d+l,y:p},{x:d,y:p}],T=je.svg(i),C=Qe(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");let w=zt(x),E=T.path(w,C),_=zt(b),A=T.path(_,C),D=i.insert(()=>E,":first-child");return D.insert(()=>A),D.attr("class","basic label-container"),g&&e.look!=="handDrawn"&&D.selectAll("path").attr("style",g),n&&e.look!=="handDrawn"&&D.selectAll("path").attr("style",n),D.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-(a.width/2)-m-(a.x-(a.left??0))}, ${-(a.height/2)+m-h/2-(a.y-(a.top??0))})`),Ke(e,D),e.intersect=function(O){return Xe.polygon(e,x,O)},i}var iJ=N(()=>{"use strict";Ft();Ht();Wt();Gt();o(nJ,"multiWaveEdgedRectangle")});async function aJ(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=qe(e);e.labelStyle=n,e.useHtmlLabels||Qt().flowchart?.htmlLabels!==!1||(e.centerLabel=!0);let{shapeSvg:s,bbox:l,label:u}=await pt(t,e,ot(e)),h=Math.max(l.width+(e.padding??0)*2,e?.width??0),f=Math.max(l.height+(e.padding??0)*2,e?.height??0),d=-h/2,p=-f/2,{cssStyles:m}=e,g=je.svg(s),y=Qe(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=g.rectangle(d,p,h,f,y),x=s.insert(()=>v,":first-child");return x.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",m),i&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",i),u.attr("transform",`translate(${-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),Ke(e,x),e.intersect=function(b){return Xe.rect(e,b)},s}var sJ=N(()=>{"use strict";Wt();Ht();Gt();Ft();Jn();o(aJ,"note")});async function oJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=a.width+e.padding,l=a.height+e.padding,u=s+l,h=.5,f=[{x:u/2,y:0},{x:u,y:-u/2},{x:u/2,y:-u},{x:0,y:-u/2}],d,{cssStyles:p}=e;if(e.look==="handDrawn"){let m=je.svg(i),g=Qe(e,{}),y=$De(0,0,u),v=m.path(y,g);d=i.insert(()=>v,":first-child").attr("transform",`translate(${-u/2+h}, ${u/2})`),p&&d.attr("style",p)}else d=Ms(i,u,u,f),d.attr("transform",`translate(${-u/2+h}, ${u/2})`);return n&&d.attr("style",n),Ke(e,d),e.intersect=function(m){return X.debug(`APA12 Intersect called SPLIT +point:`,m,` +node: +`,e,` +res:`,Xe.polygon(e,f,m)),Xe.polygon(e,f,m)},i}var $De,lJ=N(()=>{"use strict";yt();Ft();Ht();Gt();Wt();qh();$De=o((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");o(oJ,"question")});async function cJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=Math.max(a.width+(e.padding??0),e?.width??0),u=Math.max(a.height+(e.padding??0),e?.height??0),h=-l/2,f=-u/2,d=f/2,p=[{x:h+d,y:f},{x:h,y:0},{x:h+d,y:-f},{x:-h,y:-f},{x:-h,y:f}],{cssStyles:m}=e,g=je.svg(i),y=Qe(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=zt(p),x=g.path(v,y),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),b.attr("transform",`translate(${-d/2},0)`),s.attr("transform",`translate(${-d/2-a.width/2-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),Ke(e,b),e.intersect=function(T){return Xe.polygon(e,p,T)},i}var uJ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(cJ,"rect_left_inv_arrow")});function zDe(t,e){e&&t.attr("style",e)}async function GDe(t){let e=Ge(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),r=e.append("xhtml:div"),n=ge(),i=t.label;t.label&&gi(t.label)&&(i=await yh(t.label.replace(Ze.lineBreakRegex,` +`),n));let s='"+i+"";return r.html(ar(s,n)),zDe(r,t.labelStyle),r.style("display","inline-block"),r.style("padding-right","1px"),r.style("white-space","nowrap"),r.attr("xmlns","http://www.w3.org/1999/xhtml"),e.node()}var VDe,xc,JT=N(()=>{"use strict";pr();qt();dr();yt();nr();o(zDe,"applyStyle");o(GDe,"addHtmlLabel");VDe=o(async(t,e,r,n)=>{let i=t||"";if(typeof i=="object"&&(i=i[0]),mr(ge().flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),X.info("vertexText"+i);let a={isNode:n,label:ta(i).replace(/fa[blrs]?:fa-[\w-]+/g,l=>``),labelStyle:e&&e.replace("fill:","color:")};return await GDe(a)}else{let a=document.createElementNS("http://www.w3.org/2000/svg","text");a.setAttribute("style",e.replace("color:","fill:"));let s=[];typeof i=="string"?s=i.split(/\\n|\n|/gi):Array.isArray(i)?s=i:s=[];for(let l of s){let u=document.createElementNS("http://www.w3.org/2000/svg","tspan");u.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),u.setAttribute("dy","1em"),u.setAttribute("x","0"),r?u.setAttribute("class","title-row"):u.setAttribute("class","row"),u.textContent=l.trim(),a.appendChild(u)}return a}},"createLabel"),xc=VDe});async function hJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";let a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),l=a.insert("g").attr("class","label").attr("style",n),u=e.description,h=e.label,f=l.node().appendChild(await xc(h,e.labelStyle,!0,!0)),d={width:0,height:0};if(mr(ge()?.flowchart?.htmlLabels)){let A=f.children[0],D=Ge(f);d=A.getBoundingClientRect(),D.attr("width",d.width),D.attr("height",d.height)}X.info("Text 2",u);let p=u||[],m=f.getBBox(),g=l.node().appendChild(await xc(p.join?p.join("
    "):p,e.labelStyle,!0,!0)),y=g.children[0],v=Ge(g);d=y.getBoundingClientRect(),v.attr("width",d.width),v.attr("height",d.height);let x=(e.padding||0)/2;Ge(g).attr("transform","translate( "+(d.width>m.width?0:(m.width-d.width)/2)+", "+(m.height+x+5)+")"),Ge(f).attr("transform","translate( "+(d.width(X.debug("Rough node insert CXC",O),R),":first-child"),E=a.insert(()=>(X.debug("Rough node insert CXC",O),O),":first-child")}else E=s.insert("rect",":first-child"),_=s.insert("line"),E.attr("class","outer title-state").attr("style",n).attr("x",-d.width/2-x).attr("y",-d.height/2-x).attr("width",d.width+(e.padding||0)).attr("height",d.height+(e.padding||0)),_.attr("class","divider").attr("x1",-d.width/2-x).attr("x2",d.width/2+x).attr("y1",-d.height/2-x+m.height+x).attr("y2",-d.height/2-x+m.height+x);return Ke(e,E),e.intersect=function(A){return Xe.rect(e,A)},a}var fJ=N(()=>{"use strict";pr();dr();Ft();JT();Ht();Gt();Wt();qt();$d();yt();o(hJ,"rectWithTitle")});function ew(t,e,r,n,i,a,s){let u=(t+r)/2,h=(e+n)/2,f=Math.atan2(n-e,r-t),d=(r-t)/2,p=(n-e)/2,m=d/i,g=p/a,y=Math.sqrt(m**2+g**2);if(y>1)throw new Error("The given radii are too small to create an arc between the points.");let v=Math.sqrt(1-y**2),x=u+v*a*Math.sin(f)*(s?-1:1),b=h-v*i*Math.cos(f)*(s?-1:1),T=Math.atan2((e-b)/a,(t-x)/i),w=Math.atan2((n-b)/a,(r-x)/i)-T;s&&w<0&&(w+=2*Math.PI),!s&&w>0&&(w-=2*Math.PI);let E=[];for(let _=0;_<20;_++){let A=_/19,D=T+A*w,O=x+i*Math.cos(D),R=b+a*Math.sin(D);E.push({x:O,y:R})}return E}async function dJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=e?.padding??0,l=e?.padding??0,u=(e?.width?e?.width:a.width)+s*2,h=(e?.height?e?.height:a.height)+l*2,f=5,d=5,{cssStyles:p}=e,m=je.svg(i),g=Qe(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:-u/2+d,y:-h/2},{x:u/2-d,y:-h/2},...ew(u/2-d,-h/2,u/2,-h/2+d,f,f,!0),{x:u/2,y:-h/2+d},{x:u/2,y:h/2-d},...ew(u/2,h/2-d,u/2-d,h/2,f,f,!0),{x:u/2-d,y:h/2},{x:-u/2+d,y:h/2},...ew(-u/2+d,h/2,-u/2,h/2-d,f,f,!0),{x:-u/2,y:h/2-d},{x:-u/2,y:-h/2+d},...ew(-u/2,-h/2+d,-u/2+d,-h/2,f,f,!0)],v=zt(y),x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",n),Ke(e,b),e.intersect=function(T){return Xe.polygon(e,y,T)},i}var pJ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(ew,"generateArcPoints");o(dJ,"roundedRect")});async function mJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=e?.padding??0,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=-a.width/2-l,d=-a.height/2-l,{cssStyles:p}=e,m=je.svg(i),g=Qe(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=[{x:f,y:d},{x:f+u+8,y:d},{x:f+u+8,y:d+h},{x:f-8,y:d+h},{x:f-8,y:d},{x:f,y:d},{x:f,y:d+h}],v=m.polygon(y.map(b=>[b.x,b.y]),g),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container").attr("style",ii(p)),n&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),p&&e.look!=="handDrawn"&&x.selectAll("path").attr("style",n),s.attr("transform",`translate(${-u/2+4+(e.padding??0)-(a.x-(a.left??0))},${-h/2+(e.padding??0)-(a.y-(a.top??0))})`),Ke(e,x),e.intersect=function(b){return Xe.rect(e,b)},i}var gJ=N(()=>{"use strict";Ft();Ht();Gt();Wt();nr();o(mJ,"shadedProcess")});async function yJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=-l/2,f=-u/2,{cssStyles:d}=e,p=je.svg(i),m=Qe(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");let g=[{x:h,y:f},{x:h,y:f+u},{x:h+l,y:f+u},{x:h+l,y:f-u/2}],y=zt(g),v=p.path(y,m),x=i.insert(()=>v,":first-child");return x.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",d),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),x.attr("transform",`translate(0, ${u/4})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))}, ${-u/4+(e.padding??0)-(a.y-(a.top??0))})`),Ke(e,x),e.intersect=function(b){return Xe.polygon(e,g,b)},i}var vJ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(yJ,"slopedRect")});async function xJ(t,e){let r={rx:0,ry:0,classes:"",labelPaddingX:(e?.padding||0)*2,labelPaddingY:(e?.padding||0)*1};return zd(t,e,r)}var bJ=N(()=>{"use strict";_2();o(xJ,"squareRect")});async function TJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=a.height+e.padding,l=a.width+s/4+e.padding,u=s/2,{cssStyles:h}=e,f=je.svg(i),d=Qe(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=[{x:-l/2+u,y:-s/2},{x:l/2-u,y:-s/2},...Bd(-l/2+u,0,u,50,90,270),{x:l/2-u,y:s/2},...Bd(l/2-u,0,u,50,270,450)],m=zt(p),g=f.path(m,d),y=i.insert(()=>g,":first-child");return y.attr("class","basic label-container outer-path"),h&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",h),n&&e.look!=="handDrawn"&&y.selectChildren("path").attr("style",n),Ke(e,y),e.intersect=function(v){return Xe.polygon(e,p,v)},i}var wJ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(TJ,"stadium")});async function kJ(t,e){return zd(t,e,{rx:5,ry:5,classes:"flowchart-node"})}var EJ=N(()=>{"use strict";_2();o(kJ,"state")});function SJ(t,e,{config:{themeVariables:r}}){let{labelStyles:n,nodeStyles:i}=qe(e);e.labelStyle=n;let{cssStyles:a}=e,{lineColor:s,stateBorder:l,nodeBorder:u}=r,h=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),f=je.svg(h),d=Qe(e,{});e.look!=="handDrawn"&&(d.roughness=0,d.fillStyle="solid");let p=f.circle(0,0,14,{...d,stroke:s,strokeWidth:2}),m=l??u,g=f.circle(0,0,5,{...d,fill:m,stroke:m,strokeWidth:2,fillStyle:"solid"}),y=h.insert(()=>p,":first-child");return y.insert(()=>g),a&&y.selectAll("path").attr("style",a),i&&y.selectAll("path").attr("style",i),Ke(e,y),e.intersect=function(v){return Xe.circle(e,7,v)},h}var CJ=N(()=>{"use strict";Wt();Ht();Gt();Ft();o(SJ,"stateEnd")});function AJ(t,e,{config:{themeVariables:r}}){let{lineColor:n}=r,i=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a;if(e.look==="handDrawn"){let l=je.svg(i).circle(0,0,14,RQ(n));a=i.insert(()=>l),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14)}else a=i.insert("circle",":first-child"),a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14);return Ke(e,a),e.intersect=function(s){return Xe.circle(e,7,s)},i}var _J=N(()=>{"use strict";Wt();Ht();Gt();Ft();o(AJ,"stateStart")});async function DJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=(e?.padding||0)/2,l=a.width+e.padding,u=a.height+e.padding,h=-a.width/2-s,f=-a.height/2-s,d=[{x:0,y:0},{x:l,y:0},{x:l,y:-u},{x:0,y:-u},{x:0,y:0},{x:-8,y:0},{x:l+8,y:0},{x:l+8,y:-u},{x:-8,y:-u},{x:-8,y:0}];if(e.look==="handDrawn"){let p=je.svg(i),m=Qe(e,{}),g=p.rectangle(h-8,f,l+16,u,m),y=p.line(h,f,h,f+u,m),v=p.line(h+l,f,h+l,f+u,m);i.insert(()=>y,":first-child"),i.insert(()=>v,":first-child");let x=i.insert(()=>g,":first-child"),{cssStyles:b}=e;x.attr("class","basic label-container").attr("style",ii(b)),Ke(e,x)}else{let p=Ms(i,l,u,d);n&&p.attr("style",n),Ke(e,p)}return e.intersect=function(p){return Xe.polygon(e,d,p)},i}var LJ=N(()=>{"use strict";Ft();Ht();Gt();Wt();qh();nr();o(DJ,"subroutine")});async function RJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=Math.max(a.width+(e.padding??0)*2,e?.width??0),l=Math.max(a.height+(e.padding??0)*2,e?.height??0),u=-s/2,h=-l/2,f=.2*l,d=.2*l,{cssStyles:p}=e,m=je.svg(i),g=Qe(e,{}),y=[{x:u-f/2,y:h},{x:u+s+f/2,y:h},{x:u+s+f/2,y:h+l},{x:u-f/2,y:h+l}],v=[{x:u+s-f/2,y:h+l},{x:u+s+f/2,y:h+l},{x:u+s+f/2,y:h+l-d}];e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=zt(y),b=m.path(x,g),T=zt(v),C=m.path(T,{...g,fillStyle:"solid"}),w=i.insert(()=>C,":first-child");return w.insert(()=>b,":first-child"),w.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),Ke(e,w),e.intersect=function(E){return Xe.polygon(e,y,E)},i}var NJ=N(()=>{"use strict";Ft();Gt();Wt();Ht();o(RJ,"taggedRect")});async function MJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/4,f=.2*l,d=.2*u,p=u+h,{cssStyles:m}=e,g=je.svg(i),y=Qe(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");let v=[{x:-l/2-l/2*.1,y:p/2},...$o(-l/2-l/2*.1,p/2,l/2+l/2*.1,p/2,h,.8),{x:l/2+l/2*.1,y:-p/2},{x:-l/2-l/2*.1,y:-p/2}],x=-l/2+l/2*.1,b=-p/2-d*.4,T=[{x:x+l-f,y:(b+u)*1.4},{x:x+l,y:b+u-d},{x:x+l,y:(b+u)*.9},...$o(x+l,(b+u)*1.3,x+l-f,(b+u)*1.5,-u*.03,.5)],C=zt(v),w=g.path(C,y),E=zt(T),_=g.path(E,{...y,fillStyle:"solid"}),A=i.insert(()=>_,":first-child");return A.insert(()=>w,":first-child"),A.attr("class","basic label-container"),m&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h/2-(a.y-(a.top??0))})`),Ke(e,A),e.intersect=function(D){return Xe.polygon(e,v,D)},i}var IJ=N(()=>{"use strict";Ft();Ht();Wt();Gt();o(MJ,"taggedWaveEdgedRectangle")});async function OJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=Math.max(a.width+e.padding,e?.width||0),l=Math.max(a.height+e.padding,e?.height||0),u=-s/2,h=-l/2,f=i.insert("rect",":first-child");return f.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",u).attr("y",h).attr("width",s).attr("height",l),Ke(e,f),e.intersect=function(d){return Xe.rect(e,d)},i}var PJ=N(()=>{"use strict";Ft();Ht();Gt();o(OJ,"text")});async function BJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s,halfPadding:l}=await pt(t,e,ot(e)),u=e.look==="neo"?l*2:l,h=a.height+u,f=h/2,d=f/(2.5+h/50),p=a.width+d+u,{cssStyles:m}=e,g;if(e.look==="handDrawn"){let y=je.svg(i),v=HDe(0,0,p,h,d,f),x=WDe(0,0,p,h,d,f),b=y.path(v,Qe(e,{})),T=y.path(x,Qe(e,{fill:"none"}));g=i.insert(()=>T,":first-child"),g=i.insert(()=>b,":first-child"),g.attr("class","basic label-container"),m&&g.attr("style",m)}else{let y=UDe(0,0,p,h,d,f);g=i.insert("path",":first-child").attr("d",y).attr("class","basic label-container").attr("style",ii(m)).attr("style",n),g.attr("class","basic label-container"),m&&g.selectAll("path").attr("style",m),n&&g.selectAll("path").attr("style",n)}return g.attr("label-offset-x",d),g.attr("transform",`translate(${-p/2}, ${h/2} )`),s.attr("transform",`translate(${-(a.width/2)-d-(a.x-(a.left??0))}, ${-(a.height/2)-(a.y-(a.top??0))})`),Ke(e,g),e.intersect=function(y){let v=Xe.rect(e,y),x=v.y-(e.y??0);if(f!=0&&(Math.abs(x)<(e.height??0)/2||Math.abs(x)==(e.height??0)/2&&Math.abs(v.x-(e.x??0))>(e.width??0)/2-d)){let b=d*d*(1-x*x/(f*f));b!=0&&(b=Math.sqrt(Math.abs(b))),b=d-b,y.x-(e.x??0)>0&&(b=-b),v.x+=b}return v},i}var UDe,HDe,WDe,FJ=N(()=>{"use strict";Ft();Gt();Wt();Ht();nr();UDe=o((t,e,r,n,i,a)=>`M${t},${e} + a${i},${a} 0,0,1 0,${-n} + l${r},0 + a${i},${a} 0,0,1 0,${n} + M${r},${-n} + a${i},${a} 0,0,0 0,${n} + l${-r},0`,"createCylinderPathD"),HDe=o((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),WDe=o((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD");o(BJ,"tiltedCylinder")});async function $J(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=a.width+e.padding,l=a.height+e.padding,u=[{x:-3*l/6,y:0},{x:s+3*l/6,y:0},{x:s,y:-l},{x:0,y:-l}],h,{cssStyles:f}=e;if(e.look==="handDrawn"){let d=je.svg(i),p=Qe(e,{}),m=zt(u),g=d.path(m,p);h=i.insert(()=>g,":first-child").attr("transform",`translate(${-s/2}, ${l/2})`),f&&h.attr("style",f)}else h=Ms(i,s,l,u);return n&&h.attr("style",n),e.width=s,e.height=l,Ke(e,h),e.intersect=function(d){return Xe.polygon(e,u,d)},i}var zJ=N(()=>{"use strict";Ft();Ht();Gt();Wt();qh();o($J,"trapezoid")});async function GJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=60,l=20,u=Math.max(s,a.width+(e.padding??0)*2,e?.width??0),h=Math.max(l,a.height+(e.padding??0)*2,e?.height??0),{cssStyles:f}=e,d=je.svg(i),p=Qe(e,{});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");let m=[{x:-u/2*.8,y:-h/2},{x:u/2*.8,y:-h/2},{x:u/2,y:-h/2*.6},{x:u/2,y:h/2},{x:-u/2,y:h/2},{x:-u/2,y:-h/2*.6}],g=zt(m),y=d.path(g,p),v=i.insert(()=>y,":first-child");return v.attr("class","basic label-container"),f&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),Ke(e,v),e.intersect=function(x){return Xe.polygon(e,m,x)},i}var VJ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(GJ,"trapezoidalPentagon")});async function UJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=mr(ge().flowchart?.htmlLabels),u=a.width+(e.padding??0),h=u+a.height,f=u+a.height,d=[{x:0,y:0},{x:f,y:0},{x:f/2,y:-h}],{cssStyles:p}=e,m=je.svg(i),g=Qe(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=zt(d),v=m.path(y,g),x=i.insert(()=>v,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`);return p&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&x.selectChildren("path").attr("style",n),e.width=u,e.height=h,Ke(e,x),s.attr("transform",`translate(${-a.width/2-(a.x-(a.left??0))}, ${h/2-(a.height+(e.padding??0)/(l?2:1)-(a.y-(a.top??0)))})`),e.intersect=function(b){return X.info("Triangle intersect",e,d,b),Xe.polygon(e,d,b)},i}var HJ=N(()=>{"use strict";yt();Ft();Ht();Gt();Wt();Ft();dr();qt();o(UJ,"triangle")});async function WJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=u/8,f=u+h,{cssStyles:d}=e,m=70-l,g=m>0?m/2:0,y=je.svg(i),v=Qe(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");let x=[{x:-l/2-g,y:f/2},...$o(-l/2-g,f/2,l/2+g,f/2,h,.8),{x:l/2+g,y:-f/2},{x:-l/2-g,y:-f/2}],b=zt(x),T=y.path(b,v),C=i.insert(()=>T,":first-child");return C.attr("class","basic label-container"),d&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",d),n&&e.look!=="handDrawn"&&C.selectAll("path").attr("style",n),C.attr("transform",`translate(0,${-h/2})`),s.attr("transform",`translate(${-l/2+(e.padding??0)-(a.x-(a.left??0))},${-u/2+(e.padding??0)-h-(a.y-(a.top??0))})`),Ke(e,C),e.intersect=function(w){return Xe.polygon(e,x,w)},i}var qJ=N(()=>{"use strict";Ft();Ht();Wt();Gt();o(WJ,"waveEdgedRectangle")});async function YJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a}=await pt(t,e,ot(e)),s=100,l=50,u=Math.max(a.width+(e.padding??0)*2,e?.width??0),h=Math.max(a.height+(e.padding??0)*2,e?.height??0),f=u/h,d=u,p=h;d>p*f?p=d/f:d=p*f,d=Math.max(d,s),p=Math.max(p,l);let m=Math.min(p*.2,p/4),g=p+m*2,{cssStyles:y}=e,v=je.svg(i),x=Qe(e,{});e.look!=="handDrawn"&&(x.roughness=0,x.fillStyle="solid");let b=[{x:-d/2,y:g/2},...$o(-d/2,g/2,d/2,g/2,m,1),{x:d/2,y:-g/2},...$o(d/2,-g/2,-d/2,-g/2,m,-1)],T=zt(b),C=v.path(T,x),w=i.insert(()=>C,":first-child");return w.attr("class","basic label-container"),y&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",y),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),Ke(e,w),e.intersect=function(E){return Xe.polygon(e,b,E)},i}var XJ=N(()=>{"use strict";Ft();Ht();Gt();Wt();o(YJ,"waveRectangle")});async function jJ(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let{shapeSvg:i,bbox:a,label:s}=await pt(t,e,ot(e)),l=Math.max(a.width+(e.padding??0)*2,e?.width??0),u=Math.max(a.height+(e.padding??0)*2,e?.height??0),h=5,f=-l/2,d=-u/2,{cssStyles:p}=e,m=je.svg(i),g=Qe(e,{}),y=[{x:f-h,y:d-h},{x:f-h,y:d+u},{x:f+l,y:d+u},{x:f+l,y:d-h}],v=`M${f-h},${d-h} L${f+l},${d-h} L${f+l},${d+u} L${f-h},${d+u} L${f-h},${d-h} + M${f-h},${d} L${f+l},${d} + M${f},${d-h} L${f},${d+u}`;e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let x=m.path(v,g),b=i.insert(()=>x,":first-child");return b.attr("transform",`translate(${h/2}, ${h/2})`),b.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectAll("path").attr("style",n),s.attr("transform",`translate(${-(a.width/2)+h/2-(a.x-(a.left??0))}, ${-(a.height/2)+h/2-(a.y-(a.top??0))})`),Ke(e,b),e.intersect=function(T){return Xe.polygon(e,y,T)},i}var KJ=N(()=>{"use strict";Ft();Gt();Wt();Ht();o(jJ,"windowPane")});async function LL(t,e){let r=e;if(r.alias&&(e.label=r.alias),e.look==="handDrawn"){let{themeVariables:U}=Qt(),{background:K}=U,ee={...e,id:e.id+"-background",look:"default",cssStyles:["stroke: none",`fill: ${K}`]};await LL(t,ee)}let n=Qt();e.useHtmlLabels=n.htmlLabels;let i=n.er?.diagramPadding??10,a=n.er?.entityPadding??6,{cssStyles:s}=e,{labelStyles:l,nodeStyles:u}=qe(e);if(r.attributes.length===0&&e.label){let U={rx:0,ry:0,labelPaddingX:i,labelPaddingY:i*1.5,classes:""};ea(e.label,n)+U.labelPaddingX*20){let U=d.width+i*2-(y+v+x+b);y+=U/w,v+=U/w,x>0&&(x+=U/w),b>0&&(b+=U/w)}let _=y+v+x+b,A=je.svg(f),D=Qe(e,{});e.look!=="handDrawn"&&(D.roughness=0,D.fillStyle="solid");let O=0;g.length>0&&(O=g.reduce((U,K)=>U+(K?.rowHeight??0),0));let R=Math.max(E.width+i*2,e?.width||0,_),k=Math.max((O??0)+d.height,e?.height||0),L=-R/2,S=-k/2;f.selectAll("g:not(:first-child)").each((U,K,ee)=>{let Y=Ge(ee[K]),ce=Y.attr("transform"),Z=0,ue=0;if(ce){let j=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(ce);j&&(Z=parseFloat(j[1]),ue=parseFloat(j[2]),Y.attr("class").includes("attribute-name")?Z+=y:Y.attr("class").includes("attribute-keys")?Z+=y+v:Y.attr("class").includes("attribute-comment")&&(Z+=y+v+x))}Y.attr("transform",`translate(${L+i/2+Z}, ${ue+S+d.height+a/2})`)}),f.select(".name").attr("transform","translate("+-d.width/2+", "+(S+a/2)+")");let I=A.rectangle(L,S,R,k,D),M=f.insert(()=>I,":first-child").attr("style",s.join("")),{themeVariables:P}=Qt(),{rowEven:B,rowOdd:F,nodeBorder:z}=P;m.push(0);for(let[U,K]of g.entries()){let Y=(U+1)%2===0&&K.yOffset!==0,ce=A.rectangle(L,d.height+S+K?.yOffset,R,K?.rowHeight,{...D,fill:Y?B:F,stroke:z});f.insert(()=>ce,"g.label").attr("style",s.join("")).attr("class",`row-rect-${Y?"even":"odd"}`)}let $=A.line(L,d.height+S,R+L,d.height+S,D);f.insert(()=>$).attr("class","divider"),$=A.line(y+L,d.height+S,y+L,k+S,D),f.insert(()=>$).attr("class","divider"),T&&($=A.line(y+v+L,d.height+S,y+v+L,k+S,D),f.insert(()=>$).attr("class","divider")),C&&($=A.line(y+v+x+L,d.height+S,y+v+x+L,k+S,D),f.insert(()=>$).attr("class","divider"));for(let U of m)$=A.line(L,d.height+S+U,R+L,d.height+S+U,D),f.insert(()=>$).attr("class","divider");if(Ke(e,M),u&&e.look!=="handDrawn"){let K=u.split(";")?.filter(ee=>ee.includes("stroke"))?.map(ee=>`${ee}`).join("; ");f.selectAll("path").attr("style",K??""),f.selectAll(".row-rect-even path").attr("style",u)}return e.intersect=function(U){return Xe.rect(e,U)},f}async function D2(t,e,r,n=0,i=0,a=[],s=""){let l=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==tc(e)&&(e=tc(e),e=e.replaceAll("<","<").replaceAll(">",">"));let u=l.node().appendChild(await Hn(l,e,{width:ea(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("<")||e.includes(">")){let f=u.children[0];for(f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">");f.childNodes[0];)f=f.childNodes[0],f.textContent=f.textContent.replaceAll("<","<").replaceAll(">",">")}let h=u.getBBox();if(mr(r.htmlLabels)){let f=u.children[0];f.style.textAlign="start";let d=Ge(u);h=f.getBoundingClientRect(),d.attr("width",h.width),d.attr("height",h.height)}return h}var QJ=N(()=>{"use strict";Ft();Ht();Gt();Wt();_2();Jn();no();dr();pr();nr();o(LL,"erBox");o(D2,"addText")});async function ZJ(t,e,r,n,i=r.class.padding??12){let a=n?0:3,s=t.insert("g").attr("class",ot(e)).attr("id",e.domId||e.id),l=null,u=null,h=null,f=null,d=0,p=0,m=0;if(l=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){let b=e.annotations[0];await tw(l,{text:`\xAB${b}\xBB`},0),d=l.node().getBBox().height}u=s.insert("g").attr("class","label-group text"),await tw(u,e,0,["font-weight: bolder"]);let g=u.node().getBBox();p=g.height,h=s.insert("g").attr("class","members-group text");let y=0;for(let b of e.members){let T=await tw(h,b,y,[b.parseClassifier()]);y+=T+a}m=h.node().getBBox().height,m<=0&&(m=i/2),f=s.insert("g").attr("class","methods-group text");let v=0;for(let b of e.methods){let T=await tw(f,b,v,[b.parseClassifier()]);v+=T+a}let x=s.node().getBBox();if(l!==null){let b=l.node().getBBox();l.attr("transform",`translate(${-b.width/2})`)}return u.attr("transform",`translate(${-g.width/2}, ${d})`),x=s.node().getBBox(),h.attr("transform",`translate(0, ${d+p+i*2})`),x=s.node().getBBox(),f.attr("transform",`translate(0, ${d+p+(m?m+i*4:i*2)})`),x=s.node().getBBox(),{shapeSvg:s,bbox:x}}async function tw(t,e,r,n=[]){let i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=Qt(),s="useHtmlLabels"in e?e.useHtmlLabels:mr(a.htmlLabels)??!0,l="";"text"in e?l=e.text:l=e.label,!s&&l.startsWith("\\")&&(l=l.substring(1)),gi(l)&&(s=!0);let u=await Hn(i,tv(ta(l)),{width:ea(l,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a),h,f=1;if(s){let d=u.children[0],p=Ge(u);f=d.innerHTML.split("
    ").length,d.innerHTML.includes("")&&(f+=d.innerHTML.split("").length-1);let m=d.getElementsByTagName("img");if(m){let g=l.replace(/]*>/g,"").trim()==="";await Promise.all([...m].map(y=>new Promise(v=>{function x(){if(y.style.display="flex",y.style.flexDirection="column",g){let b=a.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,C=parseInt(b,10)*5+"px";y.style.minWidth=C,y.style.maxWidth=C}else y.style.width="100%";v(y)}o(x,"setupImage"),setTimeout(()=>{y.complete&&x()}),y.addEventListener("error",x),y.addEventListener("load",x)})))}h=d.getBoundingClientRect(),p.attr("width",h.width),p.attr("height",h.height)}else{n.includes("font-weight: bolder")&&Ge(u).selectAll("tspan").attr("font-weight",""),f=u.children.length;let d=u.children[0];(u.textContent===""||u.textContent.includes(">"))&&(d.textContent=l[0]+l.substring(1).replaceAll(">",">").replaceAll("<","<").trim(),l[1]===" "&&(d.textContent=d.textContent[0]+" "+d.textContent.substring(1))),d.textContent==="undefined"&&(d.textContent=""),h=u.getBBox()}return i.attr("transform","translate(0,"+(-h.height/(2*f)+r)+")"),h.height}var JJ=N(()=>{"use strict";pr();Jn();Ft();nr();qt();no();dr();o(ZJ,"textHelper");o(tw,"addText")});async function eee(t,e){let r=ge(),n=r.class.padding??12,i=n,a=e.useHtmlLabels??mr(r.htmlLabels)??!0,s=e;s.annotations=s.annotations??[],s.members=s.members??[],s.methods=s.methods??[];let{shapeSvg:l,bbox:u}=await ZJ(t,e,r,a,i),{labelStyles:h,nodeStyles:f}=qe(e);e.labelStyle=h,e.cssStyles=s.styles||"";let d=s.styles?.join(";")||f||"";e.cssStyles||(e.cssStyles=d.replaceAll("!important","").split(";"));let p=s.members.length===0&&s.methods.length===0&&!r.class?.hideEmptyMembersBox,m=je.svg(l),g=Qe(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");let y=u.width,v=u.height;s.members.length===0&&s.methods.length===0?v+=i:s.members.length>0&&s.methods.length===0&&(v+=i*2);let x=-y/2,b=-v/2,T=m.rectangle(x-n,b-n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0),y+2*n,v+2*n+(p?n*2:s.members.length===0&&s.methods.length===0?-n:0),g),C=l.insert(()=>T,":first-child");C.attr("class","basic label-container");let w=C.node().getBBox();l.selectAll(".text").each((D,O,R)=>{let k=Ge(R[O]),L=k.attr("transform"),S=0;if(L){let B=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(L);B&&(S=parseFloat(B[2]))}let I=S+b+n-(p?n:s.members.length===0&&s.methods.length===0?-n/2:0);a||(I-=4);let M=x;(k.attr("class").includes("label-group")||k.attr("class").includes("annotation-group"))&&(M=-k.node()?.getBBox().width/2||0,l.selectAll("text").each(function(P,B,F){window.getComputedStyle(F[B]).textAnchor==="middle"&&(M=0)})),k.attr("transform",`translate(${M}, ${I})`)});let E=l.select(".annotation-group").node().getBBox().height-(p?n/2:0)||0,_=l.select(".label-group").node().getBBox().height-(p?n/2:0)||0,A=l.select(".members-group").node().getBBox().height-(p?n/2:0)||0;if(s.members.length>0||s.methods.length>0||p){let D=m.line(w.x,E+_+b+n,w.x+w.width,E+_+b+n,g);l.insert(()=>D).attr("class","divider").attr("style",d)}if(p||s.members.length>0||s.methods.length>0){let D=m.line(w.x,E+_+A+b+i*2+n,w.x+w.width,E+_+A+b+n+i*2,g);l.insert(()=>D).attr("class","divider").attr("style",d)}if(s.look!=="handDrawn"&&l.selectAll("path").attr("style",d),C.select(":nth-child(2)").attr("style",d),l.selectAll(".divider").select("path").attr("style",d),e.labelStyle?l.selectAll("span").attr("style",e.labelStyle):l.selectAll("span").attr("style",d),!a){let D=RegExp(/color\s*:\s*([^;]*)/),O=D.exec(d);if(O){let R=O[0].replace("color","fill");l.selectAll("tspan").attr("style",R)}else if(h){let R=D.exec(h);if(R){let k=R[0].replace("color","fill");l.selectAll("tspan").attr("style",k)}}}return Ke(e,C),e.intersect=function(D){return Xe.rect(e,D)},l}var tee=N(()=>{"use strict";Ft();qt();pr();Wt();Gt();Ht();JJ();dr();o(eee,"classBox")});async function ree(t,e){let{labelStyles:r,nodeStyles:n}=qe(e);e.labelStyle=r;let i=e,a=e,s=20,l=20,u="verifyMethod"in e,h=ot(e),f=t.insert("g").attr("class",h).attr("id",e.domId??e.id),d;u?d=await Nu(f,`<<${i.type}>>`,0,e.labelStyle):d=await Nu(f,"<<Element>>",0,e.labelStyle);let p=d,m=await Nu(f,i.name,p,e.labelStyle+"; font-weight: bold;");if(p+=m+l,u){let E=await Nu(f,`${i.requirementId?`ID: ${i.requirementId}`:""}`,p,e.labelStyle);p+=E;let _=await Nu(f,`${i.text?`Text: ${i.text}`:""}`,p,e.labelStyle);p+=_;let A=await Nu(f,`${i.risk?`Risk: ${i.risk}`:""}`,p,e.labelStyle);p+=A,await Nu(f,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,p,e.labelStyle)}else{let E=await Nu(f,`${a.type?`Type: ${a.type}`:""}`,p,e.labelStyle);p+=E,await Nu(f,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,p,e.labelStyle)}let g=(f.node()?.getBBox().width??200)+s,y=(f.node()?.getBBox().height??200)+s,v=-g/2,x=-y/2,b=je.svg(f),T=Qe(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");let C=b.rectangle(v,x,g,y,T),w=f.insert(()=>C,":first-child");if(w.attr("class","basic label-container").attr("style",n),f.selectAll(".label").each((E,_,A)=>{let D=Ge(A[_]),O=D.attr("transform"),R=0,k=0;if(O){let M=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(O);M&&(R=parseFloat(M[1]),k=parseFloat(M[2]))}let L=k-y/2,S=v+s/2;(_===0||_===1)&&(S=R),D.attr("transform",`translate(${S}, ${L+s})`)}),p>d+m+l){let E=b.line(v,x+d+m+l,v+g,x+d+m+l,T);f.insert(()=>E).attr("style",n)}return Ke(e,w),e.intersect=function(E){return Xe.rect(e,E)},f}async function Nu(t,e,r,n=""){if(e==="")return 0;let i=t.insert("g").attr("class","label").attr("style",n),a=ge(),s=a.htmlLabels??!0,l=await Hn(i,tv(ta(e)),{width:ea(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a),u;if(s){let h=l.children[0],f=Ge(l);u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{let h=l.children[0];for(let f of h.children)f.textContent=f.textContent.replaceAll(">",">").replaceAll("<","<"),n&&f.setAttribute("style",n);u=l.getBBox(),u.height+=6}return i.attr("transform",`translate(${-u.width/2},${-u.height/2+r})`),u.height}var nee=N(()=>{"use strict";Ft();Ht();Gt();Wt();nr();qt();no();pr();o(ree,"requirementBox");o(Nu,"addText")});async function iee(t,e,{config:r}){let{labelStyles:n,nodeStyles:i}=qe(e);e.labelStyle=n||"";let a=10,s=e.width;e.width=(e.width??200)-10;let{shapeSvg:l,bbox:u,label:h}=await pt(t,e,ot(e)),f=e.padding||10,d="",p;"ticket"in e&&e.ticket&&r?.kanban?.ticketBaseUrl&&(d=r?.kanban?.ticketBaseUrl.replace("#TICKET#",e.ticket),p=l.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",d).attr("target","_blank"));let m={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1},g,y;p?{label:g,bbox:y}=await VT(p,"ticket"in e&&e.ticket||"",m):{label:g,bbox:y}=await VT(l,"ticket"in e&&e.ticket||"",m);let{label:v,bbox:x}=await VT(l,"assigned"in e&&e.assigned||"",m);e.width=s;let b=10,T=e?.width||0,C=Math.max(y.height,x.height)/2,w=Math.max(u.height+b*2,e?.height||0)+C,E=-T/2,_=-w/2;h.attr("transform","translate("+(f-T/2)+", "+(-C-u.height/2)+")"),g.attr("transform","translate("+(f-T/2)+", "+(-C+u.height/2)+")"),v.attr("transform","translate("+(f+T/2-x.width-2*a)+", "+(-C+u.height/2)+")");let A,{rx:D,ry:O}=e,{cssStyles:R}=e;if(e.look==="handDrawn"){let k=je.svg(l),L=Qe(e,{}),S=D||O?k.path(Is(E,_,T,w,D||0),L):k.rectangle(E,_,T,w,L);A=l.insert(()=>S,":first-child"),A.attr("class","basic label-container").attr("style",R||null)}else{A=l.insert("rect",":first-child"),A.attr("class","basic label-container __APA__").attr("style",i).attr("rx",D??5).attr("ry",O??5).attr("x",E).attr("y",_).attr("width",T).attr("height",w);let k="priority"in e&&e.priority;if(k){let L=l.append("line"),S=E+2,I=_+Math.floor((D??0)/2),M=_+w-Math.floor((D??0)/2);L.attr("x1",S).attr("y1",I).attr("x2",S).attr("y2",M).attr("stroke-width","4").attr("stroke",qDe(k))}}return Ke(e,A),e.height=w,e.intersect=function(k){return Xe.rect(e,k)},l}var qDe,aee=N(()=>{"use strict";Ft();Ht();$d();Gt();Wt();qDe=o(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");o(iee,"kanbanItem")});function see(t){return t in RL}var YDe,XDe,RL,NL=N(()=>{"use strict";YQ();KQ();ZQ();eZ();rZ();iZ();sZ();lZ();uZ();fZ();pZ();gZ();vZ();bZ();wZ();EZ();CZ();_Z();LZ();NZ();IZ();PZ();FZ();zZ();VZ();HZ();qZ();XZ();KZ();ZZ();eJ();rJ();iJ();sJ();lJ();uJ();fJ();pJ();gJ();vJ();bJ();wJ();EJ();CJ();_J();LJ();NJ();IJ();PJ();FJ();zJ();VJ();HJ();qJ();XJ();KJ();QJ();tee();nee();aee();YDe=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:xJ},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:dJ},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:TJ},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:DJ},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:dZ},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:tZ},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:oJ},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:AZ},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:YZ},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:WZ},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:$J},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:GZ},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:yZ},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:OJ},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:QQ},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:mJ},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:AJ},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:SJ},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:kZ},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:DZ},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:aZ},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:oZ},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:cZ},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:jZ},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:WJ},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:SZ},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:BJ},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:QZ},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:hZ},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:mZ},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:UJ},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:jJ},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:xZ},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:GJ},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:TZ},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:yJ},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:nJ},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:tJ},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:jQ},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:nZ},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:MJ},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:RJ},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:YJ},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:cJ},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:JZ}],XDe=o(()=>{let e=[...Object.entries({state:kJ,choice:JQ,note:aJ,rectWithTitle:hJ,labelRect:UZ,iconSquare:BZ,iconCircle:MZ,icon:RZ,iconRounded:OZ,imageSquare:$Z,anchor:qQ,kanbanItem:iee,classBox:eee,erBox:LL,requirementBox:ree}),...YDe.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),RL=XDe();o(see,"isValidShape")});var jDe,rw,oee=N(()=>{"use strict";pr();IT();qt();yt();NL();nr();dr();ci();jDe="flowchart-",rw=class{constructor(){this.vertexCounter=0;this.config=ge();this.vertices=new Map;this.edges=[];this.classes=new Map;this.subGraphs=[];this.subGraphLookup=new Map;this.tooltips=new Map;this.subCount=0;this.firstGraphFlag=!0;this.secCount=-1;this.posCrossRef=[];this.funs=[];this.setAccTitle=Cr;this.setAccDescription=Dr;this.setDiagramTitle=Ir;this.getAccTitle=_r;this.getAccDescription=Lr;this.getDiagramTitle=Rr;this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{o(this,"FlowDB")}sanitizeText(e){return Ze.sanitizeText(e,this.config)}lookUpDomId(e){for(let r of this.vertices.values())if(r.id===e)return r.domId;return e}addVertex(e,r,n,i,a,s,l={},u){if(!e||e.trim().length===0)return;let h;if(u!==void 0){let m;u.includes(` +`)?m=u+` +`:m=`{ +`+u+` +}`,h=gm(m,{schema:mm})}let f=this.edges.find(m=>m.id===e);if(f){let m=h;m?.animate!==void 0&&(f.animate=m.animate),m?.animation!==void 0&&(f.animation=m.animation),m?.curve!==void 0&&(f.interpolate=m.curve);return}let d,p=this.vertices.get(e);if(p===void 0&&(p={id:e,labelType:"text",domId:jDe+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,p)),this.vertexCounter++,r!==void 0?(this.config=ge(),d=this.sanitizeText(r.text.trim()),p.labelType=r.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),p.text=d):p.text===void 0&&(p.text=e),n!==void 0&&(p.type=n),i?.forEach(m=>{p.styles.push(m)}),a?.forEach(m=>{p.classes.push(m)}),s!==void 0&&(p.dir=s),p.props===void 0?p.props=l:l!==void 0&&Object.assign(p.props,l),h!==void 0){if(h.shape){if(h.shape!==h.shape.toLowerCase()||h.shape.includes("_"))throw new Error(`No such shape: ${h.shape}. Shape names should be lowercase.`);if(!see(h.shape))throw new Error(`No such shape: ${h.shape}.`);p.type=h?.shape}h?.label&&(p.text=h?.label),h?.icon&&(p.icon=h?.icon,!h.label?.trim()&&p.text===e&&(p.text="")),h?.form&&(p.form=h?.form),h?.pos&&(p.pos=h?.pos),h?.img&&(p.img=h?.img,!h.label?.trim()&&p.text===e&&(p.text="")),h?.constraint&&(p.constraint=h.constraint),h.w&&(p.assetWidth=Number(h.w)),h.h&&(p.assetHeight=Number(h.h))}}addSingleLink(e,r,n,i){let l={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};X.info("abc78 Got edge...",l);let u=n.text;if(u!==void 0&&(l.text=this.sanitizeText(u.text.trim()),l.text.startsWith('"')&&l.text.endsWith('"')&&(l.text=l.text.substring(1,l.text.length-1)),l.labelType=u.type),n!==void 0&&(l.type=n.type,l.stroke=n.stroke,l.length=n.length>10?10:n.length),i&&!this.edges.some(h=>h.id===i))l.id=i,l.isUserDefinedId=!0;else{let h=this.edges.filter(f=>f.start===l.start&&f.end===l.end);h.length===0?l.id=Gh(l.start,l.end,{counter:0,prefix:"L"}):l.id=Gh(l.start,l.end,{counter:h.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))X.info("Pushing edge..."),this.edges.push(l);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}. + +Initialize mermaid with maxEdges set to a higher number to allow more edges. +You cannot set this config via configuration inside the diagram as it is a secure config. +You have to call mermaid.initialize.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){let i=this.isLinkData(n)?n.id.replace("@",""):void 0;X.info("addLink",e,r,i);for(let a of e)for(let s of r){let l=a===e[e.length-1],u=s===r[0];l&&u?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(this.edges[n]?.style?.length??0)>0&&!this.edges[n]?.style?.some(i=>i?.startsWith("fill"))&&this.edges[n]?.style?.push("fill:none"))})}addClass(e,r){let n=r.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n?.forEach(s=>{if(/color/.exec(s)){let l=s.replace("fill","bgFill");a.textStyles.push(l)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(let n of e.split(",")){let i=this.vertices.get(n);i&&i.classes.push(r);let a=this.edges.find(l=>l.id===n);a&&a.classes.push(r);let s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(let n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){let i=this.lookUpDomId(e);if(ge().securityLevel!=="loose"||r===void 0)return;let a=[];if(typeof n=="string"){a=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l{let l=document.querySelector(`[id="${i}"]`);l!==null&&l.addEventListener("click",()=>{Vt.runFunc(r,...a)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{let a=this.vertices.get(i);a!==void 0&&(a.link=Vt.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){let r=Ge(".mermaidTooltip");(r._groups||r)[0][0]===null&&(r=Ge("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Ge(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=Ge(a.currentTarget);if(s.attr("title")===null)return;let u=a.currentTarget?.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.bottom+"px"),r.html(r.html().replace(/<br\/>/g,"
    ")),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),Ge(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=ge(),wr()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);let l=o(p=>{let m={boolean:{},number:{},string:{}},g=[],y;return{nodeList:p.filter(function(x){let b=typeof x;return x.stmt&&x.stmt==="dir"?(y=x.value,!1):x.trim()===""?!1:b in m?m[b].hasOwnProperty(x)?!1:m[b][x]=!0:g.includes(x)?!1:g.push(x)}),dir:y}},"uniq")(r.flat()),u=l.nodeList,h=l.dir,f=ge().flowchart??{};if(h=h??(f.inheritDir?this.getDirection()??ge().direction??void 0:void 0),this.version==="gen-1")for(let p=0;p2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i=0){let l=this.indexNodes2(e,s);if(l.result)return{result:!0,count:a+l.count};a=a+l.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){let n=r.length,i=0;for(let a=0;a":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");let l=this.countChar(".",n);return l&&(a="dotted",s=l),{type:i,stroke:a,length:s}}destructLink(e,r){let n=this.destructEndLink(e),i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(let n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){let n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){let l=n.get(e.id),u=i.get(e.id)??!1,h=this.findNode(r,e.id);if(h)h.cssStyles=e.styles,h.cssCompiledStyles=this.getCompiledStyles(e.classes),h.cssClasses=e.classes.join(" ");else{let f={id:e.id,label:e.text,labelStyle:"",parentId:l,padding:a.flowchart?.padding||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};u?r.push({...f,isGroup:!0,shape:"rect"}):r.push({...f,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){let e=ge(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let h=i.length-1;h>=0;h--){let f=i[h];f.nodes.length>0&&s.set(f.id,!0);for(let d of f.nodes)a.set(d,f.id)}for(let h=i.length-1;h>=0;h--){let f=i[h];r.push({id:f.id,label:f.title,labelStyle:"",parentId:a.get(f.id),padding:8,cssCompiledStyles:this.getCompiledStyles(f.classes),cssClasses:f.classes.join(" "),shape:"rect",dir:f.dir,isGroup:!0,look:e.look})}this.getVertices().forEach(h=>{this.addNodeFromVertex(h,r,a,s,e,e.look||"classic")});let u=this.getEdges();return u.forEach((h,f)=>{let{arrowTypeStart:d,arrowTypeEnd:p}=this.destructEdgeType(h.type),m=[...u.defaultStyle??[]];h.style&&m.push(...h.style);let g={id:Gh(h.start,h.end,{counter:f,prefix:"L"},h.id),isUserDefinedId:h.isUserDefinedId,start:h.start,end:h.end,type:h.type??"normal",label:h.text,labelpos:"c",thickness:h.stroke,minlen:h.length,classes:h?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":d,arrowTypeEnd:h?.stroke==="invisible"||h?.type==="arrow_open"?"none":p,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(h.classes),labelStyle:m,style:m,pattern:h.stroke,look:e.look,animate:h.animate,animation:h.animation,curve:h.interpolate||this.edges.defaultInterpolate||e.flowchart?.curve};n.push(g)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return B3.flowchart}}});var bc,xm=N(()=>{"use strict";pr();bc=o((t,e)=>{let r;return e==="sandbox"&&(r=Ge("#i"+t)),(e==="sandbox"?Ge(r.nodes()[0].contentDocument.body):Ge("body")).select(`[id="${t}"]`)},"getDiagramElement")});var Mu,L2=N(()=>{"use strict";Mu=o(({flowchart:t})=>{let e=t?.subGraphTitleMargin?.top??0,r=t?.subGraphTitleMargin?.bottom??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins")});var lee,KDe,QDe,ZDe,JDe,e9e,t9e,cee,bm,uee,nw=N(()=>{"use strict";qt();dr();yt();L2();pr();Wt();no();fL();JT();$d();Gt();lee=o(async(t,e)=>{X.info("Creating subgraph rect for ",e.id,e);let r=ge(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=qe(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=mr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await Hn(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0}),y=g.getBBox();if(mr(r.flowchart.htmlLabels)){let _=g.children[0],A=Ge(g);y=_.getBoundingClientRect(),A.attr("width",y.width),A.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;X.trace("Data ",e,JSON.stringify(e));let C;if(e.look==="handDrawn"){let _=je.svg(d),A=Qe(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),D=_.path(Is(b,T,v,x,0),A);C=d.insert(()=>(X.debug("Rough node insert CXC",D),D),":first-child"),C.select("path:nth-child(2)").attr("style",h.join(";")),C.select("path").attr("style",f.join(";").replace("fill","stroke"))}else C=d.insert("rect",":first-child"),C.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Mu(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let _=m.select("span");_&&_.attr("style",l)}let E=C.node().getBBox();return e.offsetX=0,e.width=E.width,e.height=E.height,e.offsetY=y.height-e.padding/2,e.intersect=function(_){return Hh(e,_)},{cluster:d,labelBBox:y}},"rect"),KDe=o((t,e)=>{let r=t.insert("g").attr("class","note-cluster").attr("id",e.id),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");let s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(l){return Hh(e,l)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),QDe=o(async(t,e)=>{let r=ge(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:l,nodeBorder:u}=n,h=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-id",e.id).attr("data-look",e.look),f=h.insert("g",":first-child"),d=h.insert("g").attr("class","cluster-label"),p=h.append("rect"),m=d.node().appendChild(await xc(e.label,e.labelStyle,void 0,!0)),g=m.getBBox();if(mr(r.flowchart.htmlLabels)){let D=m.children[0],O=Ge(m);g=D.getBoundingClientRect(),O.attr("width",g.width),O.attr("height",g.height)}let y=0*e.padding,v=y/2,x=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+y;e.width<=g.width+e.padding?e.diff=(x-e.width)/2-e.padding:e.diff=-e.padding;let b=e.height+y,T=e.height+y-g.height-6,C=e.x-x/2,w=e.y-b/2;e.width=x;let E=e.y-e.height/2-v+g.height+2,_;if(e.look==="handDrawn"){let D=e.cssClasses.includes("statediagram-cluster-alt"),O=je.svg(h),R=e.rx||e.ry?O.path(Is(C,w,x,b,10),{roughness:.7,fill:l,fillStyle:"solid",stroke:u,seed:i}):O.rectangle(C,w,x,b,{seed:i});_=h.insert(()=>R,":first-child");let k=O.rectangle(C,E,x,T,{fill:D?a:s,fillStyle:D?"hachure":"solid",stroke:u,seed:i});_=h.insert(()=>R,":first-child"),p=h.insert(()=>k)}else _=f.insert("rect",":first-child"),_.attr("class","outer").attr("x",C).attr("y",w).attr("width",x).attr("height",b).attr("data-look",e.look),p.attr("class","inner").attr("x",C).attr("y",E).attr("width",x).attr("height",T);d.attr("transform",`translate(${e.x-g.width/2}, ${w+1-(mr(r.flowchart.htmlLabels)?0:3)})`);let A=_.node().getBBox();return e.height=A.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(D){return Hh(e,D)},{cluster:h,labelBBox:g}},"roundedWithTitle"),ZDe=o(async(t,e)=>{X.info("Creating subgraph rect for ",e.id,e);let r=ge(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:l,nodeStyles:u,borderStyles:h,backgroundStyles:f}=qe(e),d=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.id).attr("data-look",e.look),p=mr(r.flowchart.htmlLabels),m=d.insert("g").attr("class","cluster-label "),g=await Hn(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width}),y=g.getBBox();if(mr(r.flowchart.htmlLabels)){let _=g.children[0],A=Ge(g);y=_.getBoundingClientRect(),A.attr("width",y.width),A.attr("height",y.height)}let v=e.width<=y.width+e.padding?y.width+e.padding:e.width;e.width<=y.width+e.padding?e.diff=(v-e.width)/2-e.padding:e.diff=-e.padding;let x=e.height,b=e.x-v/2,T=e.y-x/2;X.trace("Data ",e,JSON.stringify(e));let C;if(e.look==="handDrawn"){let _=je.svg(d),A=Qe(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),D=_.path(Is(b,T,v,x,e.rx),A);C=d.insert(()=>(X.debug("Rough node insert CXC",D),D),":first-child"),C.select("path:nth-child(2)").attr("style",h.join(";")),C.select("path").attr("style",f.join(";").replace("fill","stroke"))}else C=d.insert("rect",":first-child"),C.attr("style",u).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",T).attr("width",v).attr("height",x);let{subGraphTitleTopMargin:w}=Mu(r);if(m.attr("transform",`translate(${e.x-y.width/2}, ${e.y-e.height/2+w})`),l){let _=m.select("span");_&&_.attr("style",l)}let E=C.node().getBBox();return e.offsetX=0,e.width=E.width,e.height=E.height,e.offsetY=y.height-e.padding/2,e.intersect=function(_){return Hh(e,_)},{cluster:d,labelBBox:y}},"kanbanSection"),JDe=o((t,e)=>{let r=ge(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.id).attr("data-look",e.look),l=s.insert("g",":first-child"),u=0*e.padding,h=e.width+u;e.diff=-e.padding;let f=e.height+u,d=e.x-h/2,p=e.y-f/2;e.width=h;let m;if(e.look==="handDrawn"){let v=je.svg(s).rectangle(d,p,h,f,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});m=s.insert(()=>v,":first-child")}else m=l.insert("rect",":first-child"),m.attr("class","divider").attr("x",d).attr("y",p).attr("width",h).attr("height",f).attr("data-look",e.look);let g=m.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(y){return Hh(e,y)},{cluster:s,labelBBox:{}}},"divider"),e9e=lee,t9e={rect:lee,squareRect:e9e,roundedWithTitle:QDe,noteGroup:KDe,divider:JDe,kanbanSection:ZDe},cee=new Map,bm=o(async(t,e)=>{let r=e.shape||"rect",n=await t9e[r](t,e);return cee.set(e.id,n),n},"insertCluster"),uee=o(()=>{cee=new Map},"clear")});function iw(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=Wn(t),e=Wn(e);let[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,l=a-n;return{angle:Math.atan(l/s),deltaX:s,deltaY:l}}var zo,Wn,aw,ML=N(()=>{"use strict";zo={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:4};o(iw,"calculateDeltaAndAngle");Wn=o(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),aw=o(t=>({x:o(function(e,r,n){let i=0,a=Wn(n[0]).x=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(zo,t.arrowTypeEnd)){let{angle:m,deltaX:g}=iw(n[n.length-1],n[n.length-2]);i=zo[t.arrowTypeEnd]*Math.cos(m)*(g>=0?1:-1)}let s=Math.abs(Wn(e).x-Wn(n[n.length-1]).x),l=Math.abs(Wn(e).y-Wn(n[n.length-1]).y),u=Math.abs(Wn(e).x-Wn(n[0]).x),h=Math.abs(Wn(e).y-Wn(n[0]).y),f=zo[t.arrowTypeStart],d=zo[t.arrowTypeEnd],p=1;if(s0&&l0&&h=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(zo,t.arrowTypeEnd)){let{angle:m,deltaY:g}=iw(n[n.length-1],n[n.length-2]);i=zo[t.arrowTypeEnd]*Math.abs(Math.sin(m))*(g>=0?1:-1)}let s=Math.abs(Wn(e).y-Wn(n[n.length-1]).y),l=Math.abs(Wn(e).x-Wn(n[n.length-1]).x),u=Math.abs(Wn(e).y-Wn(n[0]).y),h=Math.abs(Wn(e).x-Wn(n[0]).x),f=zo[t.arrowTypeStart],d=zo[t.arrowTypeEnd],p=1;if(s0&&l0&&h{"use strict";yt();fee=o((t,e,r,n,i,a)=>{e.arrowTypeStart&&hee(t,"start",e.arrowTypeStart,r,n,i,a),e.arrowTypeEnd&&hee(t,"end",e.arrowTypeEnd,r,n,i,a)},"addEdgeMarkers"),r9e={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},hee=o((t,e,r,n,i,a,s)=>{let l=r9e[r];if(!l){X.warn(`Unknown arrow type: ${r}`);return}let u=l.type,f=`${i}_${a}-${u}${e==="start"?"Start":"End"}`;if(s&&s.trim()!==""){let d=s.replace(/[^\dA-Za-z]/g,"_"),p=`${f}_${d}`;if(!document.getElementById(p)){let m=document.getElementById(f);if(m){let g=m.cloneNode(!0);g.id=p,g.querySelectorAll("path, circle, line").forEach(v=>{v.setAttribute("stroke",s),l.fill&&v.setAttribute("fill",s)}),m.parentNode?.appendChild(g)}}t.attr(`marker-${e}`,`url(${n}#${p})`)}else t.attr(`marker-${e}`,`url(${n}#${f})`)},"addEdgeMarker")});function sw(t,e){ge().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}function a9e(t){let e=[],r=[];for(let n=1;n5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}var ow,ha,gee,R2,lw,cw,n9e,i9e,pee,mee,s9e,uw,IL=N(()=>{"use strict";qt();dr();yt();no();nr();ML();L2();pr();Wt();JT();dee();Gt();ow=new Map,ha=new Map,gee=o(()=>{ow.clear(),ha.clear()},"clear"),R2=o(t=>t?t.reduce((r,n)=>r+";"+n,""):"","getLabelStyles"),lw=o(async(t,e)=>{let r=mr(ge().flowchart.htmlLabels),n=await Hn(t,e.label,{style:R2(e.labelStyle),useHtmlLabels:r,addSvgBackground:!0,isNode:!1});X.info("abc82",e,e.labelType);let i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label");a.node().appendChild(n);let s=n.getBBox();if(r){let u=n.children[0],h=Ge(n);s=u.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}a.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),ow.set(e.id,i),e.width=s.width,e.height=s.height;let l;if(e.startLabelLeft){let u=await xc(e.startLabelLeft,R2(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),ha.get(e.id)||ha.set(e.id,{}),ha.get(e.id).startLeft=h,sw(l,e.startLabelLeft)}if(e.startLabelRight){let u=await xc(e.startLabelRight,R2(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=h.node().appendChild(u),f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),ha.get(e.id)||ha.set(e.id,{}),ha.get(e.id).startRight=h,sw(l,e.startLabelRight)}if(e.endLabelLeft){let u=await xc(e.endLabelLeft,R2(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),h.node().appendChild(u),ha.get(e.id)||ha.set(e.id,{}),ha.get(e.id).endLeft=h,sw(l,e.endLabelLeft)}if(e.endLabelRight){let u=await xc(e.endLabelRight,R2(e.labelStyle)),h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner");l=f.node().appendChild(u);let d=u.getBBox();f.attr("transform","translate("+-d.width/2+", "+-d.height/2+")"),h.node().appendChild(u),ha.get(e.id)||ha.set(e.id,{}),ha.get(e.id).endRight=h,sw(l,e.endLabelRight)}return n},"insertEdgeLabel");o(sw,"setTerminalWidth");cw=o((t,e)=>{X.debug("Moving label abc88 ",t.id,t.label,ow.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=ge(),{subGraphTitleTotalMargin:i}=Mu(n);if(t.label){let a=ow.get(t.id),s=t.x,l=t.y;if(r){let u=Vt.calcLabelPosition(r);X.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=ha.get(t.id).startLeft,s=t.x,l=t.y;if(r){let u=Vt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=ha.get(t.id).startRight,s=t.x,l=t.y;if(r){let u=Vt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=ha.get(t.id).endLeft,s=t.x,l=t.y;if(r){let u=Vt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=ha.get(t.id).endRight,s=t.x,l=t.y;if(r){let u=Vt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),n9e=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),i9e=o((t,e,r)=>{X.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{X.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(X.info("abc88 checking point",a,e),!n9e(e,a)&&!i){let s=i9e(e,n,a);X.debug("abc88 inside",a,n,s),X.debug("abc88 intersection",s,e);let l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)?X.warn("abc88 no intersect",s,r):r.push(s),i=!0}else X.warn("abc88 outside",a,n),n=a,i||r.push(a)}),X.debug("returning points",r),r},"cutPathAtIntersect");o(a9e,"extractCornerPoints");mee=o(function(t,e,r){let n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),s9e=o(function(t){let{cornerPointPositions:e}=a9e(t),r=[];for(let n=0;n10&&Math.abs(a.y-i.y)>=10){X.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));let m=5;s.x===l.x?p={x:h<0?l.x-m+d:l.x+m-d,y:f<0?l.y-d:l.y+d}:p={x:h<0?l.x-d:l.x+d,y:f<0?l.y-m+d:l.y+m-d}}else X.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(p,u)}else r.push(t[n]);return r},"fixCorners"),uw=o(function(t,e,r,n,i,a,s){let{handDrawnSeed:l}=ge(),u=e.points,h=!1,f=i;var d=a;let p=[];for(let R in e.cssCompiledStyles)k2(R)||p.push(e.cssCompiledStyles[R]);d.intersect&&f.intersect&&(u=u.slice(1,e.points.length-1),u.unshift(f.intersect(u[0])),X.debug("Last point APA12",e.start,"-->",e.end,u[u.length-1],d,d.intersect(u[u.length-1])),u.push(d.intersect(u[u.length-1]))),e.toCluster&&(X.info("to cluster abc88",r.get(e.toCluster)),u=pee(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(X.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(u,null,2)),u=pee(u.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let m=u.filter(R=>!Number.isNaN(R.y));m=s9e(m);let g=Lo;switch(g=ku,e.curve){case"linear":g=ku;break;case"basis":g=Lo;break;case"cardinal":g=Hv;break;case"bumpX":g=$v;break;case"bumpY":g=zv;break;case"catmullRom":g=Yv;break;case"monotoneX":g=Xv;break;case"monotoneY":g=jv;break;case"natural":g=W0;break;case"step":g=q0;break;case"stepAfter":g=Qv;break;case"stepBefore":g=Kv;break;default:g=Lo}let{x:y,y:v}=aw(e),x=El().x(y).y(v).curve(g),b;switch(e.thickness){case"normal":b="edge-thickness-normal";break;case"thick":b="edge-thickness-thick";break;case"invisible":b="edge-thickness-invisible";break;default:b="edge-thickness-normal"}switch(e.pattern){case"solid":b+=" edge-pattern-solid";break;case"dotted":b+=" edge-pattern-dotted";break;case"dashed":b+=" edge-pattern-dashed";break;default:b+=" edge-pattern-solid"}let T,C=x(m),w=Array.isArray(e.style)?e.style:e.style?[e.style]:[],E=w.find(R=>R?.startsWith("stroke:"));if(e.look==="handDrawn"){let R=je.svg(t);Object.assign([],m);let k=R.path(C,{roughness:.3,seed:l});b+=" transition",T=Ge(k).select("path").attr("id",e.id).attr("class"," "+b+(e.classes?" "+e.classes:"")).attr("style",w?w.reduce((S,I)=>S+";"+I,""):"");let L=T.attr("d");T.attr("d",L),t.node().appendChild(T.node())}else{let R=p.join(";"),k=w?w.reduce((I,M)=>I+M+";",""):"",L="";e.animate&&(L=" edge-animation-fast"),e.animation&&(L=" edge-animation-"+e.animation);let S=R?R+";"+k+";":k;T=t.append("path").attr("d",C).attr("id",e.id).attr("class"," "+b+(e.classes?" "+e.classes:"")+(L??"")).attr("style",S),E=S.match(/stroke:([^;]+)/)?.[1]}let _="";(ge().flowchart.arrowMarkerAbsolute||ge().state.arrowMarkerAbsolute)&&(_=fu(!0)),X.info("arrowTypeStart",e.arrowTypeStart),X.info("arrowTypeEnd",e.arrowTypeEnd),fee(T,e,_,s,n,E);let A=Math.floor(u.length/2),D=u[A];Vt.isLabelCoordinateInPath(D,T.attr("d"))||(h=!0);let O={};return h&&(O.updatedPath=u),O.originalPath=e.points,O},"insertEdge")});var o9e,l9e,c9e,u9e,h9e,f9e,d9e,p9e,m9e,g9e,y9e,v9e,x9e,b9e,T9e,w9e,k9e,hw,OL=N(()=>{"use strict";yt();o9e=o((t,e,r,n)=>{e.forEach(i=>{k9e[i](t,r,n)})},"insertMarkers"),l9e=o((t,e,r)=>{X.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),c9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),u9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),h9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),f9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),d9e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),p9e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),m9e=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),g9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),y9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),v9e=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),x9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),b9e=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");let i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),T9e=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0 + L20,10 + M20,10 + L0,20`)},"requirement_arrow"),w9e=o((t,e,r)=>{let n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),k9e={extension:l9e,composition:c9e,aggregation:u9e,dependency:h9e,lollipop:f9e,point:d9e,circle:p9e,cross:m9e,barb:g9e,only_one:y9e,zero_or_one:v9e,one_or_more:x9e,zero_or_more:b9e,requirement_arrow:T9e,requirement_contains:w9e},hw=o9e});async function Tm(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");let a=e.shape?RL[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),fw.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}var fw,yee,vee,N2,dw=N(()=>{"use strict";yt();NL();fw=new Map;o(Tm,"insertNode");yee=o((t,e)=>{fw.set(e.id,t)},"setNodeElem"),vee=o(()=>{fw.clear()},"clear"),N2=o(t=>{let e=fw.get(t.id);X.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});var xee,bee=N(()=>{"use strict";Jn();dr();yt();nw();IL();OL();dw();Ft();nr();xee={common:Ze,getConfig:Qt,insertCluster:bm,insertEdge:uw,insertEdgeLabel:lw,insertMarkers:hw,insertNode:Tm,interpolateToCurve:E9,labelHelper:pt,log:X,positionEdgeLabel:cw}});function S9e(t){return typeof t=="symbol"||ni(t)&&ua(t)==E9e}var E9e,ao,Gd=N(()=>{"use strict";Su();Mo();E9e="[object Symbol]";o(S9e,"isSymbol");ao=S9e});function C9e(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r{"use strict";o(C9e,"arrayMap");Os=C9e});function kee(t){if(typeof t=="string")return t;if(Pt(t))return Os(t,kee)+"";if(ao(t))return wee?wee.call(t):"";var e=t+"";return e=="0"&&1/t==-A9e?"-0":e}var A9e,Tee,wee,Eee,See=N(()=>{"use strict";Cd();Vd();Un();Gd();A9e=1/0,Tee=Zi?Zi.prototype:void 0,wee=Tee?Tee.toString:void 0;o(kee,"baseToString");Eee=kee});function D9e(t){for(var e=t.length;e--&&_9e.test(t.charAt(e)););return e}var _9e,Cee,Aee=N(()=>{"use strict";_9e=/\s/;o(D9e,"trimmedEndIndex");Cee=D9e});function R9e(t){return t&&t.slice(0,Cee(t)+1).replace(L9e,"")}var L9e,_ee,Dee=N(()=>{"use strict";Aee();L9e=/^\s+/;o(R9e,"baseTrim");_ee=R9e});function P9e(t){if(typeof t=="number")return t;if(ao(t))return Lee;if(xn(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=xn(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=_ee(t);var r=M9e.test(t);return r||I9e.test(t)?O9e(t.slice(2),r?2:8):N9e.test(t)?Lee:+t}var Lee,N9e,M9e,I9e,O9e,Ree,Nee=N(()=>{"use strict";Dee();to();Gd();Lee=NaN,N9e=/^[-+]0x[0-9a-f]+$/i,M9e=/^0b[01]+$/i,I9e=/^0o[0-7]+$/i,O9e=parseInt;o(P9e,"toNumber");Ree=P9e});function F9e(t){if(!t)return t===0?t:0;if(t=Ree(t),t===Mee||t===-Mee){var e=t<0?-1:1;return e*B9e}return t===t?t:0}var Mee,B9e,wm,PL=N(()=>{"use strict";Nee();Mee=1/0,B9e=17976931348623157e292;o(F9e,"toFinite");wm=F9e});function $9e(t){var e=wm(t),r=e%1;return e===e?r?e-r:e:0}var Tc,km=N(()=>{"use strict";PL();o($9e,"toInteger");Tc=$9e});var z9e,pw,Iee=N(()=>{"use strict";Nh();Ro();z9e=Cs(hi,"WeakMap"),pw=z9e});function G9e(){}var ai,BL=N(()=>{"use strict";o(G9e,"noop");ai=G9e});function V9e(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(V9e,"arrayEach");mw=V9e});function U9e(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a{"use strict";o(U9e,"baseFindIndex");gw=U9e});function H9e(t){return t!==t}var Oee,Pee=N(()=>{"use strict";o(H9e,"baseIsNaN");Oee=H9e});function W9e(t,e,r){for(var n=r-1,i=t.length;++n{"use strict";o(W9e,"strictIndexOf");Bee=W9e});function q9e(t,e,r){return e===e?Bee(t,e,r):gw(t,Oee,r)}var Em,yw=N(()=>{"use strict";$L();Pee();Fee();o(q9e,"baseIndexOf");Em=q9e});function Y9e(t,e){var r=t==null?0:t.length;return!!r&&Em(t,e,0)>-1}var vw,zL=N(()=>{"use strict";yw();o(Y9e,"arrayIncludes");vw=Y9e});var X9e,$ee,zee=N(()=>{"use strict";h9();X9e=dT(Object.keys,Object),$ee=X9e});function Q9e(t){if(!dc(t))return $ee(t);var e=[];for(var r in Object(t))K9e.call(t,r)&&r!="constructor"&&e.push(r);return e}var j9e,K9e,Sm,xw=N(()=>{"use strict";am();zee();j9e=Object.prototype,K9e=j9e.hasOwnProperty;o(Q9e,"baseKeys");Sm=Q9e});function Z9e(t){return fi(t)?vT(t):Sm(t)}var $r,wc=N(()=>{"use strict";g9();xw();Io();o(Z9e,"keys");$r=Z9e});var J9e,eLe,tLe,fa,Gee=N(()=>{"use strict";cm();Rd();b9();Io();am();wc();J9e=Object.prototype,eLe=J9e.hasOwnProperty,tLe=TT(function(t,e){if(dc(e)||fi(e)){Bo(e,$r(e),t);return}for(var r in e)eLe.call(e,r)&&pc(t,r,e[r])}),fa=tLe});function iLe(t,e){if(Pt(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||ao(t)?!0:nLe.test(t)||!rLe.test(t)||e!=null&&t in Object(e)}var rLe,nLe,Cm,bw=N(()=>{"use strict";Un();Gd();rLe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nLe=/^\w*$/;o(iLe,"isKey");Cm=iLe});function sLe(t){var e=Q0(t,function(n){return r.size===aLe&&r.clear(),n}),r=e.cache;return e}var aLe,Vee,Uee=N(()=>{"use strict";i9();aLe=500;o(sLe,"memoizeCapped");Vee=sLe});var oLe,lLe,cLe,Hee,Wee=N(()=>{"use strict";Uee();oLe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,lLe=/\\(\\)?/g,cLe=Vee(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(oLe,function(r,n,i,a){e.push(i?a.replace(lLe,"$1"):n||r)}),e}),Hee=cLe});function uLe(t){return t==null?"":Eee(t)}var Tw,GL=N(()=>{"use strict";See();o(uLe,"toString");Tw=uLe});function hLe(t,e){return Pt(t)?t:Cm(t,e)?[t]:Hee(Tw(t))}var jh,M2=N(()=>{"use strict";Un();bw();Wee();GL();o(hLe,"castPath");jh=hLe});function dLe(t){if(typeof t=="string"||ao(t))return t;var e=t+"";return e=="0"&&1/t==-fLe?"-0":e}var fLe,kc,Am=N(()=>{"use strict";Gd();fLe=1/0;o(dLe,"toKey");kc=dLe});function pLe(t,e){e=jh(e,t);for(var r=0,n=e.length;t!=null&&r{"use strict";M2();Am();o(pLe,"baseGet");Kh=pLe});function mLe(t,e,r){var n=t==null?void 0:Kh(t,e);return n===void 0?r:n}var qee,Yee=N(()=>{"use strict";I2();o(mLe,"get");qee=mLe});function gLe(t,e){for(var r=-1,n=e.length,i=t.length;++r{"use strict";o(gLe,"arrayPush");_m=gLe});function yLe(t){return Pt(t)||Al(t)||!!(Xee&&t&&t[Xee])}var Xee,jee,Kee=N(()=>{"use strict";Cd();sm();Un();Xee=Zi?Zi.isConcatSpreadable:void 0;o(yLe,"isFlattenable");jee=yLe});function Qee(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=jee),i||(i=[]);++a0&&r(l)?e>1?Qee(l,e-1,r,n,i):_m(i,l):n||(i[i.length]=l)}return i}var Ec,Dm=N(()=>{"use strict";ww();Kee();o(Qee,"baseFlatten");Ec=Qee});function vLe(t){var e=t==null?0:t.length;return e?Ec(t,1):[]}var Wr,kw=N(()=>{"use strict";Dm();o(vLe,"flatten");Wr=vLe});function xLe(t){return bT(xT(t,void 0,Wr),t+"")}var Zee,Jee=N(()=>{"use strict";kw();y9();x9();o(xLe,"flatRest");Zee=xLe});function bLe(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n{"use strict";o(bLe,"baseSlice");Ew=bLe});function DLe(t){return _Le.test(t)}var TLe,wLe,kLe,ELe,SLe,CLe,ALe,_Le,ete,tte=N(()=>{"use strict";TLe="\\ud800-\\udfff",wLe="\\u0300-\\u036f",kLe="\\ufe20-\\ufe2f",ELe="\\u20d0-\\u20ff",SLe=wLe+kLe+ELe,CLe="\\ufe0e\\ufe0f",ALe="\\u200d",_Le=RegExp("["+ALe+TLe+SLe+CLe+"]");o(DLe,"hasUnicode");ete=DLe});function LLe(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i{"use strict";o(LLe,"arrayReduce");rte=LLe});function RLe(t,e){return t&&Bo(e,$r(e),t)}var ite,ate=N(()=>{"use strict";Rd();wc();o(RLe,"baseAssign");ite=RLe});function NLe(t,e){return t&&Bo(e,As(e),t)}var ste,ote=N(()=>{"use strict";Rd();$h();o(NLe,"baseAssignIn");ste=NLe});function MLe(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r{"use strict";o(MLe,"arrayFilter");Lm=MLe});function ILe(){return[]}var Cw,UL=N(()=>{"use strict";o(ILe,"stubArray");Cw=ILe});var OLe,PLe,lte,BLe,Rm,Aw=N(()=>{"use strict";Sw();UL();OLe=Object.prototype,PLe=OLe.propertyIsEnumerable,lte=Object.getOwnPropertySymbols,BLe=lte?function(t){return t==null?[]:(t=Object(t),Lm(lte(t),function(e){return PLe.call(t,e)}))}:Cw,Rm=BLe});function FLe(t,e){return Bo(t,Rm(t),e)}var cte,ute=N(()=>{"use strict";Rd();Aw();o(FLe,"copySymbols");cte=FLe});var $Le,zLe,_w,HL=N(()=>{"use strict";ww();pT();Aw();UL();$Le=Object.getOwnPropertySymbols,zLe=$Le?function(t){for(var e=[];t;)_m(e,Rm(t)),t=im(t);return e}:Cw,_w=zLe});function GLe(t,e){return Bo(t,_w(t),e)}var hte,fte=N(()=>{"use strict";Rd();HL();o(GLe,"copySymbolsIn");hte=GLe});function VLe(t,e,r){var n=e(t);return Pt(t)?n:_m(n,r(t))}var Dw,WL=N(()=>{"use strict";ww();Un();o(VLe,"baseGetAllKeys");Dw=VLe});function ULe(t){return Dw(t,$r,Rm)}var O2,qL=N(()=>{"use strict";WL();Aw();wc();o(ULe,"getAllKeys");O2=ULe});function HLe(t){return Dw(t,As,_w)}var Lw,YL=N(()=>{"use strict";WL();HL();$h();o(HLe,"getAllKeysIn");Lw=HLe});var WLe,Rw,dte=N(()=>{"use strict";Nh();Ro();WLe=Cs(hi,"DataView"),Rw=WLe});var qLe,Nw,pte=N(()=>{"use strict";Nh();Ro();qLe=Cs(hi,"Promise"),Nw=qLe});var YLe,Qh,XL=N(()=>{"use strict";Nh();Ro();YLe=Cs(hi,"Set"),Qh=YLe});var mte,XLe,gte,yte,vte,xte,jLe,KLe,QLe,ZLe,JLe,Ud,so,Hd=N(()=>{"use strict";dte();sT();pte();XL();Iee();Su();t9();mte="[object Map]",XLe="[object Object]",gte="[object Promise]",yte="[object Set]",vte="[object WeakMap]",xte="[object DataView]",jLe=Cu(Rw),KLe=Cu(Oh),QLe=Cu(Nw),ZLe=Cu(Qh),JLe=Cu(pw),Ud=ua;(Rw&&Ud(new Rw(new ArrayBuffer(1)))!=xte||Oh&&Ud(new Oh)!=mte||Nw&&Ud(Nw.resolve())!=gte||Qh&&Ud(new Qh)!=yte||pw&&Ud(new pw)!=vte)&&(Ud=o(function(t){var e=ua(t),r=e==XLe?t.constructor:void 0,n=r?Cu(r):"";if(n)switch(n){case jLe:return xte;case KLe:return mte;case QLe:return gte;case ZLe:return yte;case JLe:return vte}return e},"getTag"));so=Ud});function rRe(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&tRe.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var eRe,tRe,bte,Tte=N(()=>{"use strict";eRe=Object.prototype,tRe=eRe.hasOwnProperty;o(rRe,"initCloneArray");bte=rRe});function nRe(t,e){var r=e?nm(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var wte,kte=N(()=>{"use strict";uT();o(nRe,"cloneDataView");wte=nRe});function aRe(t){var e=new t.constructor(t.source,iRe.exec(t));return e.lastIndex=t.lastIndex,e}var iRe,Ete,Ste=N(()=>{"use strict";iRe=/\w*$/;o(aRe,"cloneRegExp");Ete=aRe});function sRe(t){return Ate?Object(Ate.call(t)):{}}var Cte,Ate,_te,Dte=N(()=>{"use strict";Cd();Cte=Zi?Zi.prototype:void 0,Ate=Cte?Cte.valueOf:void 0;o(sRe,"cloneSymbol");_te=sRe});function CRe(t,e,r){var n=t.constructor;switch(e){case mRe:return nm(t);case oRe:case lRe:return new n(+t);case gRe:return wte(t,r);case yRe:case vRe:case xRe:case bRe:case TRe:case wRe:case kRe:case ERe:case SRe:return hT(t,r);case cRe:return new n;case uRe:case dRe:return new n(t);case hRe:return Ete(t);case fRe:return new n;case pRe:return _te(t)}}var oRe,lRe,cRe,uRe,hRe,fRe,dRe,pRe,mRe,gRe,yRe,vRe,xRe,bRe,TRe,wRe,kRe,ERe,SRe,Lte,Rte=N(()=>{"use strict";uT();kte();Ste();Dte();c9();oRe="[object Boolean]",lRe="[object Date]",cRe="[object Map]",uRe="[object Number]",hRe="[object RegExp]",fRe="[object Set]",dRe="[object String]",pRe="[object Symbol]",mRe="[object ArrayBuffer]",gRe="[object DataView]",yRe="[object Float32Array]",vRe="[object Float64Array]",xRe="[object Int8Array]",bRe="[object Int16Array]",TRe="[object Int32Array]",wRe="[object Uint8Array]",kRe="[object Uint8ClampedArray]",ERe="[object Uint16Array]",SRe="[object Uint32Array]";o(CRe,"initCloneByTag");Lte=CRe});function _Re(t){return ni(t)&&so(t)==ARe}var ARe,Nte,Mte=N(()=>{"use strict";Hd();Mo();ARe="[object Map]";o(_Re,"baseIsMap");Nte=_Re});var Ite,DRe,Ote,Pte=N(()=>{"use strict";Mte();Ld();c2();Ite=Po&&Po.isMap,DRe=Ite?Oo(Ite):Nte,Ote=DRe});function RRe(t){return ni(t)&&so(t)==LRe}var LRe,Bte,Fte=N(()=>{"use strict";Hd();Mo();LRe="[object Set]";o(RRe,"baseIsSet");Bte=RRe});var $te,NRe,zte,Gte=N(()=>{"use strict";Fte();Ld();c2();$te=Po&&Po.isSet,NRe=$te?Oo($te):Bte,zte=NRe});function Mw(t,e,r,n,i,a){var s,l=e&MRe,u=e&IRe,h=e&ORe;if(r&&(s=i?r(t,n,i,a):r(t)),s!==void 0)return s;if(!xn(t))return t;var f=Pt(t);if(f){if(s=bte(t),!l)return fT(t,s)}else{var d=so(t),p=d==Ute||d==zRe;if(_l(t))return cT(t,l);if(d==Hte||d==Vte||p&&!i){if(s=u||p?{}:mT(t),!l)return u?hte(t,ste(s,t)):cte(t,ite(s,t))}else{if(!An[d])return i?t:{};s=Lte(t,d,l)}}a||(a=new hc);var m=a.get(t);if(m)return m;a.set(t,s),zte(t)?t.forEach(function(v){s.add(Mw(v,e,r,v,t,a))}):Ote(t)&&t.forEach(function(v,x){s.set(x,Mw(v,e,r,x,t,a))});var g=h?u?Lw:O2:u?As:$r,y=f?void 0:g(t);return mw(y||t,function(v,x){y&&(x=v,v=t[x]),pc(s,x,Mw(v,e,r,x,t,a))}),s}var MRe,IRe,ORe,Vte,PRe,BRe,FRe,$Re,Ute,zRe,GRe,VRe,Hte,URe,HRe,WRe,qRe,YRe,XRe,jRe,KRe,QRe,ZRe,JRe,eNe,tNe,rNe,nNe,iNe,An,Iw,jL=N(()=>{"use strict";s2();FL();cm();ate();ote();o9();u9();ute();fte();qL();YL();Hd();Tte();Rte();f9();Un();lm();Pte();to();Gte();wc();$h();MRe=1,IRe=2,ORe=4,Vte="[object Arguments]",PRe="[object Array]",BRe="[object Boolean]",FRe="[object Date]",$Re="[object Error]",Ute="[object Function]",zRe="[object GeneratorFunction]",GRe="[object Map]",VRe="[object Number]",Hte="[object Object]",URe="[object RegExp]",HRe="[object Set]",WRe="[object String]",qRe="[object Symbol]",YRe="[object WeakMap]",XRe="[object ArrayBuffer]",jRe="[object DataView]",KRe="[object Float32Array]",QRe="[object Float64Array]",ZRe="[object Int8Array]",JRe="[object Int16Array]",eNe="[object Int32Array]",tNe="[object Uint8Array]",rNe="[object Uint8ClampedArray]",nNe="[object Uint16Array]",iNe="[object Uint32Array]",An={};An[Vte]=An[PRe]=An[XRe]=An[jRe]=An[BRe]=An[FRe]=An[KRe]=An[QRe]=An[ZRe]=An[JRe]=An[eNe]=An[GRe]=An[VRe]=An[Hte]=An[URe]=An[HRe]=An[WRe]=An[qRe]=An[tNe]=An[rNe]=An[nNe]=An[iNe]=!0;An[$Re]=An[Ute]=An[YRe]=!1;o(Mw,"baseClone");Iw=Mw});function sNe(t){return Iw(t,aNe)}var aNe,nn,KL=N(()=>{"use strict";jL();aNe=4;o(sNe,"clone");nn=sNe});function cNe(t){return Iw(t,oNe|lNe)}var oNe,lNe,QL,Wte=N(()=>{"use strict";jL();oNe=1,lNe=4;o(cNe,"cloneDeep");QL=cNe});function uNe(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e{"use strict";o(uNe,"compact");Sc=uNe});function fNe(t){return this.__data__.set(t,hNe),this}var hNe,Yte,Xte=N(()=>{"use strict";hNe="__lodash_hash_undefined__";o(fNe,"setCacheAdd");Yte=fNe});function dNe(t){return this.__data__.has(t)}var jte,Kte=N(()=>{"use strict";o(dNe,"setCacheHas");jte=dNe});function Ow(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new _d;++e{"use strict";oT();Xte();Kte();o(Ow,"SetCache");Ow.prototype.add=Ow.prototype.push=Yte;Ow.prototype.has=jte;Nm=Ow});function pNe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(pNe,"arraySome");Bw=pNe});function mNe(t,e){return t.has(e)}var Mm,Fw=N(()=>{"use strict";o(mNe,"cacheHas");Mm=mNe});function vNe(t,e,r,n,i,a){var s=r&gNe,l=t.length,u=e.length;if(l!=u&&!(s&&u>l))return!1;var h=a.get(t),f=a.get(e);if(h&&f)return h==e&&f==t;var d=-1,p=!0,m=r&yNe?new Nm:void 0;for(a.set(t,e),a.set(e,t);++d{"use strict";Pw();ZL();Fw();gNe=1,yNe=2;o(vNe,"equalArrays");$w=vNe});function xNe(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var Qte,Zte=N(()=>{"use strict";o(xNe,"mapToArray");Qte=xNe});function bNe(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var Im,zw=N(()=>{"use strict";o(bNe,"setToArray");Im=bNe});function INe(t,e,r,n,i,a,s){switch(r){case MNe:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case NNe:return!(t.byteLength!=e.byteLength||!a(new rm(t),new rm(e)));case kNe:case ENe:case ANe:return No(+t,+e);case SNe:return t.name==e.name&&t.message==e.message;case _Ne:case LNe:return t==e+"";case CNe:var l=Qte;case DNe:var u=n&TNe;if(l||(l=Im),t.size!=e.size&&!u)return!1;var h=s.get(t);if(h)return h==e;n|=wNe,s.set(t,e);var f=$w(l(t),l(e),n,i,a,s);return s.delete(t),f;case RNe:if(eR)return eR.call(t)==eR.call(e)}return!1}var TNe,wNe,kNe,ENe,SNe,CNe,ANe,_Ne,DNe,LNe,RNe,NNe,MNe,Jte,eR,ere,tre=N(()=>{"use strict";Cd();l9();Ad();JL();Zte();zw();TNe=1,wNe=2,kNe="[object Boolean]",ENe="[object Date]",SNe="[object Error]",CNe="[object Map]",ANe="[object Number]",_Ne="[object RegExp]",DNe="[object Set]",LNe="[object String]",RNe="[object Symbol]",NNe="[object ArrayBuffer]",MNe="[object DataView]",Jte=Zi?Zi.prototype:void 0,eR=Jte?Jte.valueOf:void 0;o(INe,"equalByTag");ere=INe});function FNe(t,e,r,n,i,a){var s=r&ONe,l=O2(t),u=l.length,h=O2(e),f=h.length;if(u!=f&&!s)return!1;for(var d=u;d--;){var p=l[d];if(!(s?p in e:BNe.call(e,p)))return!1}var m=a.get(t),g=a.get(e);if(m&&g)return m==e&&g==t;var y=!0;a.set(t,e),a.set(e,t);for(var v=s;++d{"use strict";qL();ONe=1,PNe=Object.prototype,BNe=PNe.hasOwnProperty;o(FNe,"equalObjects");rre=FNe});function GNe(t,e,r,n,i,a){var s=Pt(t),l=Pt(e),u=s?are:so(t),h=l?are:so(e);u=u==ire?Gw:u,h=h==ire?Gw:h;var f=u==Gw,d=h==Gw,p=u==h;if(p&&_l(t)){if(!_l(e))return!1;s=!0,f=!1}if(p&&!f)return a||(a=new hc),s||Bh(t)?$w(t,e,r,n,i,a):ere(t,e,u,r,n,i,a);if(!(r&$Ne)){var m=f&&sre.call(t,"__wrapped__"),g=d&&sre.call(e,"__wrapped__");if(m||g){var y=m?t.value():t,v=g?e.value():e;return a||(a=new hc),i(y,v,r,n,a)}}return p?(a||(a=new hc),rre(t,e,r,n,i,a)):!1}var $Ne,ire,are,Gw,zNe,sre,ore,lre=N(()=>{"use strict";s2();JL();tre();nre();Hd();Un();lm();u2();$Ne=1,ire="[object Arguments]",are="[object Array]",Gw="[object Object]",zNe=Object.prototype,sre=zNe.hasOwnProperty;o(GNe,"baseIsEqualDeep");ore=GNe});function cre(t,e,r,n,i){return t===e?!0:t==null||e==null||!ni(t)&&!ni(e)?t!==t&&e!==e:ore(t,e,r,n,cre,i)}var Vw,tR=N(()=>{"use strict";lre();Mo();o(cre,"baseIsEqual");Vw=cre});function HNe(t,e,r,n){var i=r.length,a=i,s=!n;if(t==null)return!a;for(t=Object(t);i--;){var l=r[i];if(s&&l[2]?l[1]!==t[l[0]]:!(l[0]in t))return!1}for(;++i{"use strict";s2();tR();VNe=1,UNe=2;o(HNe,"baseIsMatch");ure=HNe});function WNe(t){return t===t&&!xn(t)}var Uw,rR=N(()=>{"use strict";to();o(WNe,"isStrictComparable");Uw=WNe});function qNe(t){for(var e=$r(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Uw(i)]}return e}var fre,dre=N(()=>{"use strict";rR();wc();o(qNe,"getMatchData");fre=qNe});function YNe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Hw,nR=N(()=>{"use strict";o(YNe,"matchesStrictComparable");Hw=YNe});function XNe(t){var e=fre(t);return e.length==1&&e[0][2]?Hw(e[0][0],e[0][1]):function(r){return r===t||ure(r,t,e)}}var pre,mre=N(()=>{"use strict";hre();dre();nR();o(XNe,"baseMatches");pre=XNe});function jNe(t,e){return t!=null&&e in Object(t)}var gre,yre=N(()=>{"use strict";o(jNe,"baseHasIn");gre=jNe});function KNe(t,e,r){e=jh(e,t);for(var n=-1,i=e.length,a=!1;++n{"use strict";M2();sm();Un();f2();gT();Am();o(KNe,"hasPath");Ww=KNe});function QNe(t,e){return t!=null&&Ww(t,e,gre)}var qw,aR=N(()=>{"use strict";yre();iR();o(QNe,"hasIn");qw=QNe});function eMe(t,e){return Cm(t)&&Uw(e)?Hw(kc(t),e):function(r){var n=qee(r,t);return n===void 0&&n===e?qw(r,t):Vw(e,n,ZNe|JNe)}}var ZNe,JNe,vre,xre=N(()=>{"use strict";tR();Yee();aR();bw();rR();nR();Am();ZNe=1,JNe=2;o(eMe,"baseMatchesProperty");vre=eMe});function tMe(t){return function(e){return e?.[t]}}var Yw,sR=N(()=>{"use strict";o(tMe,"baseProperty");Yw=tMe});function rMe(t){return function(e){return Kh(e,t)}}var bre,Tre=N(()=>{"use strict";I2();o(rMe,"basePropertyDeep");bre=rMe});function nMe(t){return Cm(t)?Yw(kc(t)):bre(t)}var wre,kre=N(()=>{"use strict";sR();Tre();bw();Am();o(nMe,"property");wre=nMe});function iMe(t){return typeof t=="function"?t:t==null?Ji:typeof t=="object"?Pt(t)?vre(t[0],t[1]):pre(t):wre(t)}var pn,ns=N(()=>{"use strict";mre();xre();_u();Un();kre();o(iMe,"baseIteratee");pn=iMe});function aMe(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i{"use strict";o(aMe,"arrayAggregator");Ere=aMe});function sMe(t,e){return t&&tm(t,e,$r)}var Om,Xw=N(()=>{"use strict";lT();wc();o(sMe,"baseForOwn");Om=sMe});function oMe(t,e){return function(r,n){if(r==null)return r;if(!fi(r))return t(r,n);for(var i=r.length,a=e?i:-1,s=Object(r);(e?a--:++a{"use strict";Io();o(oMe,"createBaseEach");Cre=oMe});var lMe,Ps,Zh=N(()=>{"use strict";Xw();Are();lMe=Cre(Om),Ps=lMe});function cMe(t,e,r,n){return Ps(t,function(i,a,s){e(n,i,r(i),s)}),n}var _re,Dre=N(()=>{"use strict";Zh();o(cMe,"baseAggregator");_re=cMe});function uMe(t,e){return function(r,n){var i=Pt(r)?Ere:_re,a=e?e():{};return i(r,t,pn(n,2),a)}}var Lre,Rre=N(()=>{"use strict";Sre();Dre();ns();Un();o(uMe,"createAggregator");Lre=uMe});var hMe,jw,Nre=N(()=>{"use strict";Ro();hMe=o(function(){return hi.Date.now()},"now"),jw=hMe});var Mre,fMe,dMe,Jh,Ire=N(()=>{"use strict";um();Ad();Nd();$h();Mre=Object.prototype,fMe=Mre.hasOwnProperty,dMe=mc(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&ro(e[0],e[1],i)&&(n=1);++r{"use strict";o(pMe,"arrayIncludesWith");Kw=pMe});function gMe(t,e,r,n){var i=-1,a=vw,s=!0,l=t.length,u=[],h=e.length;if(!l)return u;r&&(e=Os(e,Oo(r))),n?(a=Kw,s=!1):e.length>=mMe&&(a=Mm,s=!1,e=new Nm(e));e:for(;++i{"use strict";Pw();zL();oR();Vd();Ld();Fw();mMe=200;o(gMe,"baseDifference");Ore=gMe});var yMe,ef,Bre=N(()=>{"use strict";Pre();Dm();um();yT();yMe=mc(function(t,e){return Dd(t)?Ore(t,Ec(e,1,Dd,!0)):[]}),ef=yMe});function vMe(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}var da,Fre=N(()=>{"use strict";o(vMe,"last");da=vMe});function xMe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:Tc(e),Ew(t,e<0?0:e,n)):[]}var xi,$re=N(()=>{"use strict";VL();km();o(xMe,"drop");xi=xMe});function bMe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:Tc(e),e=n-e,Ew(t,0,e<0?0:e)):[]}var Iu,zre=N(()=>{"use strict";VL();km();o(bMe,"dropRight");Iu=bMe});function TMe(t){return typeof t=="function"?t:Ji}var Pm,Qw=N(()=>{"use strict";_u();o(TMe,"castFunction");Pm=TMe});function wMe(t,e){var r=Pt(t)?mw:Ps;return r(t,Pm(e))}var Ae,Zw=N(()=>{"use strict";FL();Zh();Qw();Un();o(wMe,"forEach");Ae=wMe});var Gre=N(()=>{"use strict";Zw()});function kMe(t,e){for(var r=-1,n=t==null?0:t.length;++r{"use strict";o(kMe,"arrayEvery");Vre=kMe});function EMe(t,e){var r=!0;return Ps(t,function(n,i,a){return r=!!e(n,i,a),r}),r}var Hre,Wre=N(()=>{"use strict";Zh();o(EMe,"baseEvery");Hre=EMe});function SMe(t,e,r){var n=Pt(t)?Vre:Hre;return r&&ro(t,e,r)&&(e=void 0),n(t,pn(e,3))}var Na,qre=N(()=>{"use strict";Ure();Wre();ns();Un();Nd();o(SMe,"every");Na=SMe});function CMe(t,e){var r=[];return Ps(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}var Jw,lR=N(()=>{"use strict";Zh();o(CMe,"baseFilter");Jw=CMe});function AMe(t,e){var r=Pt(t)?Lm:Jw;return r(t,pn(e,3))}var qr,cR=N(()=>{"use strict";Sw();lR();ns();Un();o(AMe,"filter");qr=AMe});function _Me(t){return function(e,r,n){var i=Object(e);if(!fi(e)){var a=pn(r,3);e=$r(e),r=o(function(l){return a(i[l],l,i)},"predicate")}var s=t(e,r,n);return s>-1?i[a?e[s]:s]:void 0}}var Yre,Xre=N(()=>{"use strict";ns();Io();wc();o(_Me,"createFind");Yre=_Me});function LMe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Tc(r);return i<0&&(i=DMe(n+i,0)),gw(t,pn(e,3),i)}var DMe,jre,Kre=N(()=>{"use strict";$L();ns();km();DMe=Math.max;o(LMe,"findIndex");jre=LMe});var RMe,is,Qre=N(()=>{"use strict";Xre();Kre();RMe=Yre(jre),is=RMe});function NMe(t){return t&&t.length?t[0]:void 0}var ra,Zre=N(()=>{"use strict";o(NMe,"head");ra=NMe});var Jre=N(()=>{"use strict";Zre()});function MMe(t,e){var r=-1,n=fi(t)?Array(t.length):[];return Ps(t,function(i,a,s){n[++r]=e(i,a,s)}),n}var ek,uR=N(()=>{"use strict";Zh();Io();o(MMe,"baseMap");ek=MMe});function IMe(t,e){var r=Pt(t)?Os:ek;return r(t,pn(e,3))}var Je,Bm=N(()=>{"use strict";Vd();ns();uR();Un();o(IMe,"map");Je=IMe});function OMe(t,e){return Ec(Je(t,e),1)}var pa,hR=N(()=>{"use strict";Dm();Bm();o(OMe,"flatMap");pa=OMe});function PMe(t,e){return t==null?t:tm(t,Pm(e),As)}var fR,ene=N(()=>{"use strict";lT();Qw();$h();o(PMe,"forIn");fR=PMe});function BMe(t,e){return t&&Om(t,Pm(e))}var dR,tne=N(()=>{"use strict";Xw();Qw();o(BMe,"forOwn");dR=BMe});var FMe,$Me,zMe,pR,rne=N(()=>{"use strict";em();Rre();FMe=Object.prototype,$Me=FMe.hasOwnProperty,zMe=Lre(function(t,e,r){$Me.call(t,r)?t[r].push(e):fc(t,r,[e])}),pR=zMe});function GMe(t,e){return t>e}var nne,ine=N(()=>{"use strict";o(GMe,"baseGt");nne=GMe});function HMe(t,e){return t!=null&&UMe.call(t,e)}var VMe,UMe,ane,sne=N(()=>{"use strict";VMe=Object.prototype,UMe=VMe.hasOwnProperty;o(HMe,"baseHas");ane=HMe});function WMe(t,e){return t!=null&&Ww(t,e,ane)}var Bt,one=N(()=>{"use strict";sne();iR();o(WMe,"has");Bt=WMe});function YMe(t){return typeof t=="string"||!Pt(t)&&ni(t)&&ua(t)==qMe}var qMe,bi,tk=N(()=>{"use strict";Su();Un();Mo();qMe="[object String]";o(YMe,"isString");bi=YMe});function XMe(t,e){return Os(e,function(r){return t[r]})}var lne,cne=N(()=>{"use strict";Vd();o(XMe,"baseValues");lne=XMe});function jMe(t){return t==null?[]:lne(t,$r(t))}var br,mR=N(()=>{"use strict";cne();wc();o(jMe,"values");br=jMe});function QMe(t,e,r,n){t=fi(t)?t:br(t),r=r&&!n?Tc(r):0;var i=t.length;return r<0&&(r=KMe(i+r,0)),bi(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&Em(t,e,r)>-1}var KMe,qn,une=N(()=>{"use strict";yw();Io();tk();km();mR();KMe=Math.max;o(QMe,"includes");qn=QMe});function JMe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:Tc(r);return i<0&&(i=ZMe(n+i,0)),Em(t,e,i)}var ZMe,rk,hne=N(()=>{"use strict";yw();km();ZMe=Math.max;o(JMe,"indexOf");rk=JMe});function iIe(t){if(t==null)return!0;if(fi(t)&&(Pt(t)||typeof t=="string"||typeof t.splice=="function"||_l(t)||Bh(t)||Al(t)))return!t.length;var e=so(t);if(e==eIe||e==tIe)return!t.size;if(dc(t))return!Sm(t).length;for(var r in t)if(nIe.call(t,r))return!1;return!0}var eIe,tIe,rIe,nIe,fr,nk=N(()=>{"use strict";xw();Hd();sm();Un();Io();lm();am();u2();eIe="[object Map]",tIe="[object Set]",rIe=Object.prototype,nIe=rIe.hasOwnProperty;o(iIe,"isEmpty");fr=iIe});function sIe(t){return ni(t)&&ua(t)==aIe}var aIe,fne,dne=N(()=>{"use strict";Su();Mo();aIe="[object RegExp]";o(sIe,"baseIsRegExp");fne=sIe});var pne,oIe,Go,mne=N(()=>{"use strict";dne();Ld();c2();pne=Po&&Po.isRegExp,oIe=pne?Oo(pne):fne,Go=oIe});function lIe(t){return t===void 0}var gr,gne=N(()=>{"use strict";o(lIe,"isUndefined");gr=lIe});function cIe(t,e){return t{"use strict";o(cIe,"baseLt");ik=cIe});function uIe(t,e){var r={};return e=pn(e,3),Om(t,function(n,i,a){fc(r,i,e(n,i,a))}),r}var Wd,yne=N(()=>{"use strict";em();Xw();ns();o(uIe,"mapValues");Wd=uIe});function hIe(t,e,r){for(var n=-1,i=t.length;++n{"use strict";Gd();o(hIe,"baseExtremum");Fm=hIe});function fIe(t){return t&&t.length?Fm(t,Ji,nne):void 0}var Bs,vne=N(()=>{"use strict";ak();ine();_u();o(fIe,"max");Bs=fIe});function dIe(t){return t&&t.length?Fm(t,Ji,ik):void 0}var Ll,yR=N(()=>{"use strict";ak();gR();_u();o(dIe,"min");Ll=dIe});function pIe(t,e){return t&&t.length?Fm(t,pn(e,2),ik):void 0}var qd,xne=N(()=>{"use strict";ak();ns();gR();o(pIe,"minBy");qd=pIe});function gIe(t){if(typeof t!="function")throw new TypeError(mIe);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}var mIe,bne,Tne=N(()=>{"use strict";mIe="Expected a function";o(gIe,"negate");bne=gIe});function yIe(t,e,r,n){if(!xn(t))return t;e=jh(e,t);for(var i=-1,a=e.length,s=a-1,l=t;l!=null&&++i{"use strict";cm();M2();f2();to();Am();o(yIe,"baseSet");wne=yIe});function vIe(t,e,r){for(var n=-1,i=e.length,a={};++n{"use strict";I2();kne();M2();o(vIe,"basePickBy");sk=vIe});function xIe(t,e){if(t==null)return{};var r=Os(Lw(t),function(n){return[n]});return e=pn(e),sk(t,r,function(n,i){return e(n,i[0])})}var Fs,Ene=N(()=>{"use strict";Vd();ns();vR();YL();o(xIe,"pickBy");Fs=xIe});function bIe(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}var Sne,Cne=N(()=>{"use strict";o(bIe,"baseSortBy");Sne=bIe});function TIe(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=ao(t),s=e!==void 0,l=e===null,u=e===e,h=ao(e);if(!l&&!h&&!a&&t>e||a&&s&&u&&!l&&!h||n&&s&&u||!r&&u||!i)return 1;if(!n&&!a&&!h&&t{"use strict";Gd();o(TIe,"compareAscending");Ane=TIe});function wIe(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,s=i.length,l=r.length;++n=l)return u;var h=r[n];return u*(h=="desc"?-1:1)}}return t.index-e.index}var Dne,Lne=N(()=>{"use strict";_ne();o(wIe,"compareMultiple");Dne=wIe});function kIe(t,e,r){e.length?e=Os(e,function(a){return Pt(a)?function(s){return Kh(s,a.length===1?a[0]:a)}:a}):e=[Ji];var n=-1;e=Os(e,Oo(pn));var i=ek(t,function(a,s,l){var u=Os(e,function(h){return h(a)});return{criteria:u,index:++n,value:a}});return Sne(i,function(a,s){return Dne(a,s,r)})}var Rne,Nne=N(()=>{"use strict";Vd();I2();ns();uR();Cne();Ld();Lne();_u();Un();o(kIe,"baseOrderBy");Rne=kIe});var EIe,Mne,Ine=N(()=>{"use strict";sR();EIe=Yw("length"),Mne=EIe});function PIe(t){for(var e=One.lastIndex=0;One.test(t);)++e;return e}var Pne,SIe,CIe,AIe,_Ie,DIe,LIe,xR,bR,RIe,Bne,Fne,$ne,NIe,zne,Gne,MIe,IIe,OIe,One,Vne,Une=N(()=>{"use strict";Pne="\\ud800-\\udfff",SIe="\\u0300-\\u036f",CIe="\\ufe20-\\ufe2f",AIe="\\u20d0-\\u20ff",_Ie=SIe+CIe+AIe,DIe="\\ufe0e\\ufe0f",LIe="["+Pne+"]",xR="["+_Ie+"]",bR="\\ud83c[\\udffb-\\udfff]",RIe="(?:"+xR+"|"+bR+")",Bne="[^"+Pne+"]",Fne="(?:\\ud83c[\\udde6-\\uddff]){2}",$ne="[\\ud800-\\udbff][\\udc00-\\udfff]",NIe="\\u200d",zne=RIe+"?",Gne="["+DIe+"]?",MIe="(?:"+NIe+"(?:"+[Bne,Fne,$ne].join("|")+")"+Gne+zne+")*",IIe=Gne+zne+MIe,OIe="(?:"+[Bne+xR+"?",xR,Fne,$ne,LIe].join("|")+")",One=RegExp(bR+"(?="+bR+")|"+OIe+IIe,"g");o(PIe,"unicodeSize");Vne=PIe});function BIe(t){return ete(t)?Vne(t):Mne(t)}var Hne,Wne=N(()=>{"use strict";Ine();tte();Une();o(BIe,"stringSize");Hne=BIe});function FIe(t,e){return sk(t,e,function(r,n){return qw(t,n)})}var qne,Yne=N(()=>{"use strict";vR();aR();o(FIe,"basePick");qne=FIe});var $Ie,Yd,Xne=N(()=>{"use strict";Yne();Jee();$Ie=Zee(function(t,e){return t==null?{}:qne(t,e)}),Yd=$Ie});function VIe(t,e,r,n){for(var i=-1,a=GIe(zIe((e-t)/(r||1)),0),s=Array(a);a--;)s[n?a:++i]=t,t+=r;return s}var zIe,GIe,jne,Kne=N(()=>{"use strict";zIe=Math.ceil,GIe=Math.max;o(VIe,"baseRange");jne=VIe});function UIe(t){return function(e,r,n){return n&&typeof n!="number"&&ro(e,r,n)&&(r=n=void 0),e=wm(e),r===void 0?(r=e,e=0):r=wm(r),n=n===void 0?e{"use strict";Kne();Nd();PL();o(UIe,"createRange");Qne=UIe});var HIe,Vo,Jne=N(()=>{"use strict";Zne();HIe=Qne(),Vo=HIe});function WIe(t,e,r,n,i){return i(t,function(a,s,l){r=n?(n=!1,a):e(r,a,s,l)}),r}var eie,tie=N(()=>{"use strict";o(WIe,"baseReduce");eie=WIe});function qIe(t,e,r){var n=Pt(t)?rte:eie,i=arguments.length<3;return n(t,pn(e,4),r,i,Ps)}var Yr,TR=N(()=>{"use strict";nte();Zh();ns();tie();Un();o(qIe,"reduce");Yr=qIe});function YIe(t,e){var r=Pt(t)?Lm:Jw;return r(t,bne(pn(e,3)))}var tf,rie=N(()=>{"use strict";Sw();lR();ns();Un();Tne();o(YIe,"reject");tf=YIe});function KIe(t){if(t==null)return 0;if(fi(t))return bi(t)?Hne(t):t.length;var e=so(t);return e==XIe||e==jIe?t.size:Sm(t).length}var XIe,jIe,wR,nie=N(()=>{"use strict";xw();Hd();Io();tk();Wne();XIe="[object Map]",jIe="[object Set]";o(KIe,"size");wR=KIe});function QIe(t,e){var r;return Ps(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}var iie,aie=N(()=>{"use strict";Zh();o(QIe,"baseSome");iie=QIe});function ZIe(t,e,r){var n=Pt(t)?Bw:iie;return r&&ro(t,e,r)&&(e=void 0),n(t,pn(e,3))}var P2,sie=N(()=>{"use strict";ZL();ns();aie();Un();Nd();o(ZIe,"some");P2=ZIe});var JIe,Cc,oie=N(()=>{"use strict";Dm();Nne();um();Nd();JIe=mc(function(t,e){if(t==null)return[];var r=e.length;return r>1&&ro(t,e[0],e[1])?e=[]:r>2&&ro(e[0],e[1],e[2])&&(e=[e[0]]),Rne(t,Ec(e,1),[])}),Cc=JIe});var eOe,tOe,lie,cie=N(()=>{"use strict";XL();BL();zw();eOe=1/0,tOe=Qh&&1/Im(new Qh([,-0]))[1]==eOe?function(t){return new Qh(t)}:ai,lie=tOe});function nOe(t,e,r){var n=-1,i=vw,a=t.length,s=!0,l=[],u=l;if(r)s=!1,i=Kw;else if(a>=rOe){var h=e?null:lie(t);if(h)return Im(h);s=!1,i=Mm,u=new Nm}else u=e?[]:l;e:for(;++n{"use strict";Pw();zL();oR();Fw();cie();zw();rOe=200;o(nOe,"baseUniq");$m=nOe});var iOe,kR,uie=N(()=>{"use strict";Dm();um();ok();yT();iOe=mc(function(t){return $m(Ec(t,1,Dd,!0))}),kR=iOe});function aOe(t){return t&&t.length?$m(t):[]}var zm,hie=N(()=>{"use strict";ok();o(aOe,"uniq");zm=aOe});function sOe(t,e){return t&&t.length?$m(t,pn(e,2)):[]}var fie,die=N(()=>{"use strict";ns();ok();o(sOe,"uniqBy");fie=sOe});function lOe(t){var e=++oOe;return Tw(t)+e}var oOe,Xd,pie=N(()=>{"use strict";GL();oOe=0;o(lOe,"uniqueId");Xd=lOe});function cOe(t,e,r){for(var n=-1,i=t.length,a=e.length,s={};++n{"use strict";o(cOe,"baseZipObject");mie=cOe});function uOe(t,e){return mie(t||[],e||[],pc)}var lk,yie=N(()=>{"use strict";cm();gie();o(uOe,"zipObject");lk=uOe});var Yt=N(()=>{"use strict";Gee();KL();Wte();qte();v9();Ire();Bre();$re();zre();Gre();qre();cR();Qre();Jre();hR();kw();Zw();ene();tne();rne();one();_u();une();hne();Un();nk();t2();to();mne();tk();gne();wc();Fre();Bm();yne();vne();T9();yR();xne();BL();Nre();Xne();Ene();Jne();TR();rie();nie();sie();oie();uie();hie();pie();mR();yie();});function xie(t,e){t[e]?t[e]++:t[e]=1}function bie(t,e){--t[e]||delete t[e]}function B2(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+vie+a+vie+(gr(n)?hOe:n)}function fOe(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var l={v:i,w:a};return n&&(l.name=n),l}function ER(t,e){return B2(t,e.v,e.w,e.name)}var hOe,jd,vie,an,ck=N(()=>{"use strict";Yt();hOe="\0",jd="\0",vie="",an=class{static{o(this,"Graph")}constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=_s(void 0),this._defaultEdgeLabelFn=_s(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[jd]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return Ci(e)||(e=_s(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return $r(this._nodes)}sources(){var e=this;return qr(this.nodes(),function(r){return fr(e._in[r])})}sinks(){var e=this;return qr(this.nodes(),function(r){return fr(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return Ae(e,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=jd,this._children[e]={},this._children[jd][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=o(n=>this.removeEdge(this._edgeObjs[n]),"removeEdge");delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],Ae(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),Ae($r(this._in[e]),r),delete this._in[e],delete this._preds[e],Ae($r(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(gr(r))r=jd;else{r+="";for(var n=r;!gr(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==jd)return r}}children(e){if(gr(e)&&(e=jd),this._isCompound){var r=this._children[e];if(r)return $r(r)}else{if(e===jd)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return $r(r)}successors(e){var r=this._sucs[e];if(r)return $r(r)}neighbors(e){var r=this.predecessors(e);if(r)return kR(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;Ae(this._nodes,function(s,l){e(l)&&r.setNode(l,s)}),Ae(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var l=n.parent(s);return l===void 0||r.hasNode(l)?(i[s]=l,l):l in i?i[l]:a(l)}return o(a,"findParent"),this._isCompound&&Ae(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return Ci(e)||(e=_s(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return br(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return Yr(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,gr(n)||(n=""+n);var l=B2(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,l))return a&&(this._edgeLabels[l]=i),this;if(!gr(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[l]=a?i:this._defaultEdgeLabelFn(e,r,n);var u=fOe(this._isDirected,e,r,n);return e=u.v,r=u.w,Object.freeze(u),this._edgeObjs[l]=u,xie(this._preds[r],e),xie(this._sucs[e],r),this._in[r][l]=u,this._out[e][l]=u,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?ER(this._isDirected,arguments[0]):B2(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?ER(this._isDirected,arguments[0]):B2(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?ER(this._isDirected,arguments[0]):B2(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],bie(this._preds[r],e),bie(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=br(n);return r?qr(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=br(n);return r?qr(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}};an.prototype._nodeCount=0;an.prototype._edgeCount=0;o(xie,"incrementOrInitEntry");o(bie,"decrementOrRemoveEntry");o(B2,"edgeArgsToId");o(fOe,"edgeArgsToObj");o(ER,"edgeObjToId")});var Uo=N(()=>{"use strict";ck()});function Tie(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function dOe(t,e){if(t!=="_next"&&t!=="_prev")return e}var hk,wie=N(()=>{"use strict";hk=class{static{o(this,"List")}constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return Tie(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&Tie(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,dOe)),n=n._prev;return"["+e.join(", ")+"]"}};o(Tie,"unlink");o(dOe,"filterOutLinks")});function kie(t,e){if(t.nodeCount()<=1)return[];var r=gOe(t,e||pOe),n=mOe(r.graph,r.buckets,r.zeroIdx);return Wr(Je(n,function(i){return t.outEdges(i.v,i.w)}))}function mOe(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)SR(t,e,r,s);for(;s=i.dequeue();)SR(t,e,r,s);if(t.nodeCount()){for(var l=e.length-2;l>0;--l)if(s=e[l].dequeue(),s){n=n.concat(SR(t,e,r,s,!0));break}}}return n}function SR(t,e,r,n,i){var a=i?[]:void 0;return Ae(t.inEdges(n.v),function(s){var l=t.edge(s),u=t.node(s.v);i&&a.push({v:s.v,w:s.w}),u.out-=l,CR(e,r,u)}),Ae(t.outEdges(n.v),function(s){var l=t.edge(s),u=s.w,h=t.node(u);h.in-=l,CR(e,r,h)}),t.removeNode(n.v),a}function gOe(t,e){var r=new an,n=0,i=0;Ae(t.nodes(),function(l){r.setNode(l,{v:l,in:0,out:0})}),Ae(t.edges(),function(l){var u=r.edge(l.v,l.w)||0,h=e(l),f=u+h;r.setEdge(l.v,l.w,f),i=Math.max(i,r.node(l.v).out+=h),n=Math.max(n,r.node(l.w).in+=h)});var a=Vo(i+n+3).map(function(){return new hk}),s=n+1;return Ae(r.nodes(),function(l){CR(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function CR(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}var pOe,Eie=N(()=>{"use strict";Yt();Uo();wie();pOe=_s(1);o(kie,"greedyFAS");o(mOe,"doGreedyFAS");o(SR,"removeNode");o(gOe,"buildState");o(CR,"assignBucket")});function Sie(t){var e=t.graph().acyclicer==="greedy"?kie(t,r(t)):yOe(t);Ae(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,Xd("rev"))});function r(n){return function(i){return n.edge(i).weight}}o(r,"weightFn")}function yOe(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,Ae(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return o(i,"dfs"),Ae(t.nodes(),i),e}function Cie(t){Ae(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}var AR=N(()=>{"use strict";Yt();Eie();o(Sie,"run");o(yOe,"dfsFAS");o(Cie,"undo")});function Ac(t,e,r,n){var i;do i=Xd(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function _ie(t){var e=new an().setGraph(t.graph());return Ae(t.nodes(),function(r){e.setNode(r,t.node(r))}),Ae(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function fk(t){var e=new an({multigraph:t.isMultigraph()}).setGraph(t.graph());return Ae(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),Ae(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function _R(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=l*i/a,h=l):(i<0&&(s=-s),u=s,h=s*a/i),{x:r+u,y:n+h}}function rf(t){var e=Je(Vo(LR(t)+1),function(){return[]});return Ae(t.nodes(),function(r){var n=t.node(r),i=n.rank;gr(i)||(e[i][n.order]=r)}),e}function Die(t){var e=Ll(Je(t.nodes(),function(r){return t.node(r).rank}));Ae(t.nodes(),function(r){var n=t.node(r);Bt(n,"rank")&&(n.rank-=e)})}function Lie(t){var e=Ll(Je(t.nodes(),function(a){return t.node(a).rank})),r=[];Ae(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;Ae(r,function(a,s){gr(a)&&s%i!==0?--n:n&&Ae(a,function(l){t.node(l).rank+=n})})}function DR(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),Ac(t,"border",i,e)}function LR(t){return Bs(Je(t.nodes(),function(e){var r=t.node(e).rank;if(!gr(r))return r}))}function Rie(t,e){var r={lhs:[],rhs:[]};return Ae(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function Nie(t,e){var r=jw();try{return e()}finally{console.log(t+" time: "+(jw()-r)+"ms")}}function Mie(t,e){return e()}var _c=N(()=>{"use strict";Yt();Uo();o(Ac,"addDummyNode");o(_ie,"simplify");o(fk,"asNonCompoundGraph");o(_R,"intersectRect");o(rf,"buildLayerMatrix");o(Die,"normalizeRanks");o(Lie,"removeEmptyRanks");o(DR,"addBorderNode");o(LR,"maxRank");o(Rie,"partition");o(Nie,"time");o(Mie,"notime")});function Oie(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&Ae(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;a{"use strict";Yt();_c();o(Oie,"addBorderSegments");o(Iie,"addBorderNode")});function Fie(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&zie(t)}function $ie(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&vOe(t),(e==="lr"||e==="rl")&&(xOe(t),zie(t))}function zie(t){Ae(t.nodes(),function(e){Bie(t.node(e))}),Ae(t.edges(),function(e){Bie(t.edge(e))})}function Bie(t){var e=t.width;t.width=t.height,t.height=e}function vOe(t){Ae(t.nodes(),function(e){RR(t.node(e))}),Ae(t.edges(),function(e){var r=t.edge(e);Ae(r.points,RR),Object.prototype.hasOwnProperty.call(r,"y")&&RR(r)})}function RR(t){t.y=-t.y}function xOe(t){Ae(t.nodes(),function(e){NR(t.node(e))}),Ae(t.edges(),function(e){var r=t.edge(e);Ae(r.points,NR),Object.prototype.hasOwnProperty.call(r,"x")&&NR(r)})}function NR(t){var e=t.x;t.x=t.y,t.y=e}var Gie=N(()=>{"use strict";Yt();o(Fie,"adjust");o($ie,"undo");o(zie,"swapWidthHeight");o(Bie,"swapWidthHeightOne");o(vOe,"reverseY");o(RR,"reverseYOne");o(xOe,"swapXY");o(NR,"swapXYOne")});function Vie(t){t.graph().dummyChains=[],Ae(t.edges(),function(e){TOe(t,e)})}function TOe(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,l=t.edge(e),u=l.labelRank;if(a!==n+1){t.removeEdge(e);var h=void 0,f,d;for(d=0,++n;n{"use strict";Yt();_c();o(Vie,"run");o(TOe,"normalizeEdge");o(Uie,"undo")});function F2(t){var e={};function r(n){var i=t.node(n);if(Object.prototype.hasOwnProperty.call(e,n))return i.rank;e[n]=!0;var a=Ll(Je(t.outEdges(n),function(s){return r(s.w)-t.edge(s).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),i.rank=a}o(r,"dfs"),Ae(t.sources(),r)}function Kd(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var dk=N(()=>{"use strict";Yt();o(F2,"longestPath");o(Kd,"slack")});function pk(t){var e=new an({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;wOe(e,t){"use strict";Yt();Uo();dk();o(pk,"feasibleTree");o(wOe,"tightTree");o(kOe,"findMinSlackEdge");o(EOe,"shiftRanks")});var Wie=N(()=>{"use strict"});var OR=N(()=>{"use strict"});var BYt,PR=N(()=>{"use strict";Yt();OR();BYt=_s(1)});var qie=N(()=>{"use strict";PR()});var BR=N(()=>{"use strict"});var Yie=N(()=>{"use strict";BR()});var XYt,Xie=N(()=>{"use strict";Yt();XYt=_s(1)});function FR(t){var e={},r={},n=[];function i(a){if(Object.prototype.hasOwnProperty.call(r,a))throw new $2;Object.prototype.hasOwnProperty.call(e,a)||(r[a]=!0,e[a]=!0,Ae(t.predecessors(a),i),delete r[a],n.push(a))}if(o(i,"visit"),Ae(t.sinks(),i),wR(e)!==t.nodeCount())throw new $2;return n}function $2(){}var $R=N(()=>{"use strict";Yt();FR.CycleException=$2;o(FR,"topsort");o($2,"CycleException");$2.prototype=new Error});var jie=N(()=>{"use strict";$R()});function mk(t,e,r){Pt(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return Ae(e,function(s){if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);Kie(t,s,r==="post",a,n,i)}),i}function Kie(t,e,r,n,i,a){Object.prototype.hasOwnProperty.call(n,e)||(n[e]=!0,r||a.push(e),Ae(i(e),function(s){Kie(t,s,r,n,i,a)}),r&&a.push(e))}var zR=N(()=>{"use strict";Yt();o(mk,"dfs");o(Kie,"doDfs")});function GR(t,e){return mk(t,e,"post")}var Qie=N(()=>{"use strict";zR();o(GR,"postorder")});function VR(t,e){return mk(t,e,"pre")}var Zie=N(()=>{"use strict";zR();o(VR,"preorder")});var Jie=N(()=>{"use strict";OR();ck()});var eae=N(()=>{"use strict";Wie();PR();qie();Yie();Xie();jie();Qie();Zie();Jie();BR();$R()});function af(t){t=_ie(t),F2(t);var e=pk(t);HR(e),UR(e,t);for(var r,n;r=iae(e);)n=aae(e,t,r),sae(e,t,r,n)}function UR(t,e){var r=GR(t,t.nodes());r=r.slice(0,r.length-1),Ae(r,function(n){DOe(t,e,n)})}function DOe(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=rae(t,e,r)}function rae(t,e,r){var n=t.node(r),i=n.parent,a=!0,s=e.edge(r,i),l=0;return s||(a=!1,s=e.edge(i,r)),l=s.weight,Ae(e.nodeEdges(r),function(u){var h=u.v===r,f=h?u.w:u.v;if(f!==i){var d=h===a,p=e.edge(u).weight;if(l+=d?p:-p,ROe(t,r,f)){var m=t.edge(r,f).cutvalue;l+=d?-m:m}}}),l}function HR(t,e){arguments.length<2&&(e=t.nodes()[0]),nae(t,{},1,e)}function nae(t,e,r,n,i){var a=r,s=t.node(n);return e[n]=!0,Ae(t.neighbors(n),function(l){Object.prototype.hasOwnProperty.call(e,l)||(r=nae(t,e,r,l,n))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function iae(t){return is(t.edges(),function(e){return t.edge(e).cutvalue<0})}function aae(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),s=t.node(i),l=a,u=!1;a.lim>s.lim&&(l=s,u=!0);var h=qr(e.edges(),function(f){return u===tae(t,t.node(f.v),l)&&u!==tae(t,t.node(f.w),l)});return qd(h,function(f){return Kd(e,f)})}function sae(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),HR(t),UR(t,e),LOe(t,e)}function LOe(t,e){var r=is(t.nodes(),function(i){return!e.node(i).parent}),n=VR(t,r);n=n.slice(1),Ae(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),l=!1;s||(s=e.edge(a,i),l=!0),e.node(i).rank=e.node(a).rank+(l?s.minlen:-s.minlen)})}function ROe(t,e,r){return t.hasEdge(e,r)}function tae(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}var oae=N(()=>{"use strict";Yt();eae();_c();IR();dk();af.initLowLimValues=HR;af.initCutValues=UR;af.calcCutValue=rae;af.leaveEdge=iae;af.enterEdge=aae;af.exchangeEdges=sae;o(af,"networkSimplex");o(UR,"initCutValues");o(DOe,"assignCutValue");o(rae,"calcCutValue");o(HR,"initLowLimValues");o(nae,"dfsAssignLowLim");o(iae,"leaveEdge");o(aae,"enterEdge");o(sae,"exchangeEdges");o(LOe,"updateRanks");o(ROe,"isTreeEdge");o(tae,"isDescendant")});function WR(t){switch(t.graph().ranker){case"network-simplex":lae(t);break;case"tight-tree":MOe(t);break;case"longest-path":NOe(t);break;default:lae(t)}}function MOe(t){F2(t),pk(t)}function lae(t){af(t)}var NOe,qR=N(()=>{"use strict";IR();oae();dk();o(WR,"rank");NOe=F2;o(MOe,"tightTreeRanker");o(lae,"networkSimplexRanker")});function cae(t){var e=Ac(t,"root",{},"_root"),r=IOe(t),n=Bs(br(r))-1,i=2*n+1;t.graph().nestingRoot=e,Ae(t.edges(),function(s){t.edge(s).minlen*=i});var a=OOe(t)+1;Ae(t.children(),function(s){uae(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function uae(t,e,r,n,i,a,s){var l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var u=DR(t,"_bt"),h=DR(t,"_bb"),f=t.node(s);t.setParent(u,s),f.borderTop=u,t.setParent(h,s),f.borderBottom=h,Ae(l,function(d){uae(t,e,r,n,i,a,d);var p=t.node(d),m=p.borderTop?p.borderTop:d,g=p.borderBottom?p.borderBottom:d,y=p.borderTop?n:2*n,v=m!==g?1:i-a[s]+1;t.setEdge(u,m,{weight:y,minlen:v,nestingEdge:!0}),t.setEdge(g,h,{weight:y,minlen:v,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:i+a[s]})}function IOe(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&Ae(a,function(s){r(s,i+1)}),e[n]=i}return o(r,"dfs"),Ae(t.children(),function(n){r(n,1)}),e}function OOe(t){return Yr(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function hae(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,Ae(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}var fae=N(()=>{"use strict";Yt();_c();o(cae,"run");o(uae,"dfs");o(IOe,"treeDepths");o(OOe,"sumWeights");o(hae,"cleanup")});function dae(t,e,r){var n={},i;Ae(r,function(a){for(var s=t.parent(a),l,u;s;){if(l=t.parent(s),l?(u=n[l],n[l]=s):(u=i,i=s),u&&u!==s){e.setEdge(u,s);return}s=l}})}var pae=N(()=>{"use strict";Yt();o(dae,"addSubgraphConstraints")});function mae(t,e,r){var n=BOe(t),i=new an({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return Ae(t.nodes(),function(a){var s=t.node(a),l=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,l||n),Ae(t[r](a),function(u){var h=u.v===a?u.w:u.v,f=i.edge(h,a),d=gr(f)?0:f.weight;i.setEdge(h,a,{weight:t.edge(u).weight+d})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function BOe(t){for(var e;t.hasNode(e=Xd("_root")););return e}var gae=N(()=>{"use strict";Yt();Uo();o(mae,"buildLayerGraph");o(BOe,"createRootNode")});function yae(t,e){for(var r=0,n=1;n0;)f%2&&(d+=l[f+1]),f=f-1>>1,l[f]+=h.weight;u+=h.weight*d})),u}var vae=N(()=>{"use strict";Yt();o(yae,"crossCount");o(FOe,"twoLayerCrossCount")});function xae(t){var e={},r=qr(t.nodes(),function(l){return!t.children(l).length}),n=Bs(Je(r,function(l){return t.node(l).rank})),i=Je(Vo(n+1),function(){return[]});function a(l){if(!Bt(e,l)){e[l]=!0;var u=t.node(l);i[u.rank].push(l),Ae(t.successors(l),a)}}o(a,"dfs");var s=Cc(r,function(l){return t.node(l).rank});return Ae(s,a),i}var bae=N(()=>{"use strict";Yt();o(xae,"initOrder")});function Tae(t,e){return Je(e,function(r){var n=t.inEdges(r);if(n.length){var i=Yr(n,function(a,s){var l=t.edge(s),u=t.node(s.v);return{sum:a.sum+l.weight*u.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}var wae=N(()=>{"use strict";Yt();o(Tae,"barycenter")});function kae(t,e){var r={};Ae(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};gr(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),Ae(e.edges(),function(i){var a=r[i.v],s=r[i.w];!gr(a)&&!gr(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=qr(r,function(i){return!i.indegree});return $Oe(n)}function $Oe(t){var e=[];function r(a){return function(s){s.merged||(gr(s.barycenter)||gr(a.barycenter)||s.barycenter>=a.barycenter)&&zOe(a,s)}}o(r,"handleIn");function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(o(n,"handleOut");t.length;){var i=t.pop();e.push(i),Ae(i.in.reverse(),r(i)),Ae(i.out,n(i))}return Je(qr(e,function(a){return!a.merged}),function(a){return Yd(a,["vs","i","barycenter","weight"])})}function zOe(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}var Eae=N(()=>{"use strict";Yt();o(kae,"resolveConflicts");o($Oe,"doResolveConflicts");o(zOe,"mergeEntries")});function Cae(t,e){var r=Rie(t,function(f){return Object.prototype.hasOwnProperty.call(f,"barycenter")}),n=r.lhs,i=Cc(r.rhs,function(f){return-f.i}),a=[],s=0,l=0,u=0;n.sort(GOe(!!e)),u=Sae(a,i,u),Ae(n,function(f){u+=f.vs.length,a.push(f.vs),s+=f.barycenter*f.weight,l+=f.weight,u=Sae(a,i,u)});var h={vs:Wr(a)};return l&&(h.barycenter=s/l,h.weight=l),h}function Sae(t,e,r){for(var n;e.length&&(n=da(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function GOe(t){return function(e,r){return e.barycenterr.barycenter?1:t?r.i-e.i:e.i-r.i}}var Aae=N(()=>{"use strict";Yt();_c();o(Cae,"sort");o(Sae,"consumeUnsortable");o(GOe,"compareWithBias")});function YR(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,l=a?a.borderRight:void 0,u={};s&&(i=qr(i,function(g){return g!==s&&g!==l}));var h=Tae(t,i);Ae(h,function(g){if(t.children(g.v).length){var y=YR(t,g.v,r,n);u[g.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter")&&UOe(g,y)}});var f=kae(h,r);VOe(f,u);var d=Cae(f,n);if(s&&(d.vs=Wr([s,d.vs,l]),t.predecessors(s).length)){var p=t.node(t.predecessors(s)[0]),m=t.node(t.predecessors(l)[0]);Object.prototype.hasOwnProperty.call(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function VOe(t,e){Ae(t,function(r){r.vs=Wr(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function UOe(t,e){gr(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}var _ae=N(()=>{"use strict";Yt();wae();Eae();Aae();o(YR,"sortSubgraph");o(VOe,"expandSubgraphs");o(UOe,"mergeBarycenters")});function Rae(t){var e=LR(t),r=Dae(t,Vo(1,e+1),"inEdges"),n=Dae(t,Vo(e-1,-1,-1),"outEdges"),i=xae(t);Lae(t,i);for(var a=Number.POSITIVE_INFINITY,s,l=0,u=0;u<4;++l,++u){HOe(l%2?r:n,l%4>=2),i=rf(t);var h=yae(t,i);h{"use strict";Yt();Uo();_c();pae();gae();vae();bae();_ae();o(Rae,"order");o(Dae,"buildLayerGraphs");o(HOe,"sweepLayerGraphs");o(Lae,"assignOrder")});function Mae(t){var e=qOe(t);Ae(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=WOe(t,e,i.v,i.w),s=a.path,l=a.lca,u=0,h=s[u],f=!0;r!==i.w;){if(n=t.node(r),f){for(;(h=s[u])!==l&&t.node(h).maxRanks||l>e[u].lim));for(h=u,u=n;(u=t.parent(u))!==h;)a.push(u);return{path:i.concat(a.reverse()),lca:h}}function qOe(t){var e={},r=0;function n(i){var a=r;Ae(t.children(i),n),e[i]={low:a,lim:r++}}return o(n,"dfs"),Ae(t.children(),n),e}var Iae=N(()=>{"use strict";Yt();o(Mae,"parentDummyChains");o(WOe,"findPath");o(qOe,"postorder")});function YOe(t,e){var r={};function n(i,a){var s=0,l=0,u=i.length,h=da(a);return Ae(a,function(f,d){var p=jOe(t,f),m=p?t.node(p).order:u;(p||f===h)&&(Ae(a.slice(l,d+1),function(g){Ae(t.predecessors(g),function(y){var v=t.node(y),x=v.order;(xh)&&Oae(r,p,f)})})}o(n,"scan");function i(a,s){var l=-1,u,h=0;return Ae(s,function(f,d){if(t.node(f).dummy==="border"){var p=t.predecessors(f);p.length&&(u=t.node(p[0]).order,n(s,h,d,l,u),h=d,l=u)}n(s,h,s.length,u,a.length)}),s}return o(i,"visitLayer"),Yr(e,i),r}function jOe(t,e){if(t.node(e).dummy)return is(t.predecessors(e),function(r){return t.node(r).dummy})}function Oae(t,e,r){if(e>r){var n=e;e=r,r=n}var i=t[e];i||(t[e]=i={}),i[r]=!0}function KOe(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function QOe(t,e,r,n){var i={},a={},s={};return Ae(e,function(l){Ae(l,function(u,h){i[u]=u,a[u]=u,s[u]=h})}),Ae(e,function(l){var u=-1;Ae(l,function(h){var f=n(h);if(f.length){f=Cc(f,function(y){return s[y]});for(var d=(f.length-1)/2,p=Math.floor(d),m=Math.ceil(d);p<=m;++p){var g=f[p];a[h]===h&&u{"use strict";Yt();Uo();_c();o(YOe,"findType1Conflicts");o(XOe,"findType2Conflicts");o(jOe,"findOtherInnerSegmentNode");o(Oae,"addConflict");o(KOe,"hasConflict");o(QOe,"verticalAlignment");o(ZOe,"horizontalCompaction");o(JOe,"buildBlockGraph");o(ePe,"findSmallestWidthAlignment");o(tPe,"alignCoordinates");o(rPe,"balance");o(Pae,"positionX");o(nPe,"sep");o(iPe,"width")});function Fae(t){t=fk(t),aPe(t),dR(Pae(t),function(e,r){t.node(r).x=e})}function aPe(t){var e=rf(t),r=t.graph().ranksep,n=0;Ae(e,function(i){var a=Bs(Je(i,function(s){return t.node(s).height}));Ae(i,function(s){t.node(s).y=n+a/2}),n+=a+r})}var $ae=N(()=>{"use strict";Yt();_c();Bae();o(Fae,"position");o(aPe,"positionY")});function z2(t,e){var r=e&&e.debugTiming?Nie:Mie;r("layout",()=>{var n=r(" buildLayoutGraph",()=>gPe(t));r(" runLayout",()=>sPe(n,r)),r(" updateInputGraph",()=>oPe(t,n))})}function sPe(t,e){e(" makeSpaceForEdgeLabels",()=>yPe(t)),e(" removeSelfEdges",()=>CPe(t)),e(" acyclic",()=>Sie(t)),e(" nestingGraph.run",()=>cae(t)),e(" rank",()=>WR(fk(t))),e(" injectEdgeLabelProxies",()=>vPe(t)),e(" removeEmptyRanks",()=>Lie(t)),e(" nestingGraph.cleanup",()=>hae(t)),e(" normalizeRanks",()=>Die(t)),e(" assignRankMinMax",()=>xPe(t)),e(" removeEdgeLabelProxies",()=>bPe(t)),e(" normalize.run",()=>Vie(t)),e(" parentDummyChains",()=>Mae(t)),e(" addBorderSegments",()=>Oie(t)),e(" order",()=>Rae(t)),e(" insertSelfEdges",()=>APe(t)),e(" adjustCoordinateSystem",()=>Fie(t)),e(" position",()=>Fae(t)),e(" positionSelfEdges",()=>_Pe(t)),e(" removeBorderNodes",()=>SPe(t)),e(" normalize.undo",()=>Uie(t)),e(" fixupEdgeLabelCoords",()=>kPe(t)),e(" undoCoordinateSystem",()=>$ie(t)),e(" translateGraph",()=>TPe(t)),e(" assignNodeIntersects",()=>wPe(t)),e(" reversePoints",()=>EPe(t)),e(" acyclic.undo",()=>Cie(t))}function oPe(t,e){Ae(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),Ae(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}function gPe(t){var e=new an({multigraph:!0,compound:!0}),r=jR(t.graph());return e.setGraph(zh({},cPe,XR(r,lPe),Yd(r,uPe))),Ae(t.nodes(),function(n){var i=jR(t.node(n));e.setNode(n,Jh(XR(i,hPe),fPe)),e.setParent(n,t.parent(n))}),Ae(t.edges(),function(n){var i=jR(t.edge(n));e.setEdge(n,zh({},pPe,XR(i,dPe),Yd(i,mPe)))}),e}function yPe(t){var e=t.graph();e.ranksep/=2,Ae(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function vPe(t){Ae(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};Ac(t,"edge-proxy",a,"_ep")}})}function xPe(t){var e=0;Ae(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=Bs(e,n.maxRank))}),t.graph().maxRank=e}function bPe(t){Ae(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function TPe(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,l=a.marginy||0;function u(h){var f=h.x,d=h.y,p=h.width,m=h.height;e=Math.min(e,f-p/2),r=Math.max(r,f+p/2),n=Math.min(n,d-m/2),i=Math.max(i,d+m/2)}o(u,"getExtremes"),Ae(t.nodes(),function(h){u(t.node(h))}),Ae(t.edges(),function(h){var f=t.edge(h);Object.prototype.hasOwnProperty.call(f,"x")&&u(f)}),e-=s,n-=l,Ae(t.nodes(),function(h){var f=t.node(h);f.x-=e,f.y-=n}),Ae(t.edges(),function(h){var f=t.edge(h);Ae(f.points,function(d){d.x-=e,d.y-=n}),Object.prototype.hasOwnProperty.call(f,"x")&&(f.x-=e),Object.prototype.hasOwnProperty.call(f,"y")&&(f.y-=n)}),a.width=r-e+s,a.height=i-n+l}function wPe(t){Ae(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(_R(n,a)),r.points.push(_R(i,s))})}function kPe(t){Ae(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function EPe(t){Ae(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function SPe(t){Ae(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(da(r.borderLeft)),s=t.node(da(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),Ae(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function CPe(t){Ae(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function APe(t){var e=rf(t);Ae(e,function(r){var n=0;Ae(r,function(i,a){var s=t.node(i);s.order=a+n,Ae(s.selfEdges,function(l){Ac(t,"selfedge",{width:l.label.width,height:l.label.height,rank:s.rank,order:a+ ++n,e:l.e,label:l.label},"_se")}),delete s.selfEdges})})}function _Pe(t){Ae(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,l=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-l},{x:i+5*s/6,y:a-l},{x:i+s,y:a},{x:i+5*s/6,y:a+l},{x:i+2*s/3,y:a+l}],r.label.x=r.x,r.label.y=r.y}})}function XR(t,e){return Wd(Yd(t,e),Number)}function jR(t){var e={};return Ae(t,function(r,n){e[n.toLowerCase()]=r}),e}var lPe,cPe,uPe,hPe,fPe,dPe,pPe,mPe,zae=N(()=>{"use strict";Yt();Uo();Pie();Gie();AR();MR();qR();fae();Nae();Iae();$ae();_c();o(z2,"layout");o(sPe,"runLayout");o(oPe,"updateInputGraph");lPe=["nodesep","edgesep","ranksep","marginx","marginy"],cPe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},uPe=["acyclicer","ranker","rankdir","align"],hPe=["width","height"],fPe={width:0,height:0},dPe=["minlen","weight","width","height","labeloffset"],pPe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},mPe=["labelpos"];o(gPe,"buildLayoutGraph");o(yPe,"makeSpaceForEdgeLabels");o(vPe,"injectEdgeLabelProxies");o(xPe,"assignRankMinMax");o(bPe,"removeEdgeLabelProxies");o(TPe,"translateGraph");o(wPe,"assignNodeIntersects");o(kPe,"fixupEdgeLabelCoords");o(EPe,"reversePointsForReversedEdges");o(SPe,"removeBorderNodes");o(CPe,"removeSelfEdges");o(APe,"insertSelfEdges");o(_Pe,"positionSelfEdges");o(XR,"selectNumberAttrs");o(jR,"canonicalize")});var KR=N(()=>{"use strict";AR();zae();MR();qR()});function Ho(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:DPe(t),edges:LPe(t)};return gr(t.graph())||(e.value=nn(t.graph())),e}function DPe(t){return Je(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return gr(r)||(i.value=r),gr(n)||(i.parent=n),i})}function LPe(t){return Je(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return gr(e.name)||(n.name=e.name),gr(r)||(n.value=r),n})}var QR=N(()=>{"use strict";Yt();ck();o(Ho,"write");o(DPe,"writeNodes");o(LPe,"writeEdges")});var Tr,Qd,Uae,Hae,gk,RPe,Wae,qae,NPe,Gm,Vae,Yae,Xae,jae,Kae,Qae=N(()=>{"use strict";yt();Uo();QR();Tr=new Map,Qd=new Map,Uae=new Map,Hae=o(()=>{Qd.clear(),Uae.clear(),Tr.clear()},"clear"),gk=o((t,e)=>{let r=Qd.get(e)||[];return X.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),RPe=o((t,e)=>{let r=Qd.get(e)||[];return X.info("Descendants of ",e," is ",r),X.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||gk(t.v,e)||gk(t.w,e)||r.includes(t.w):(X.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),Wae=o((t,e,r,n)=>{X.warn("Copying children of ",t,"root",n,"data",e.node(t),n);let i=e.children(t)||[];t!==n&&i.push(t),X.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)Wae(a,e,r,n);else{let s=e.node(a);X.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(X.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(X.debug("Setting parent",a,t),r.setParent(a,t)):(X.info("In copy ",t,"root",n,"data",e.node(t),n),X.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));let l=e.edges(a);X.debug("Copying Edges",l),l.forEach(u=>{X.info("Edge",u);let h=e.edge(u.v,u.w,u.name);X.info("Edge data",h,n);try{RPe(u,n)?(X.info("Copying as ",u.v,u.w,h,u.name),r.setEdge(u.v,u.w,h,u.name),X.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]))):X.info("Skipping copy of edge ",u.v,"-->",u.w," rootId: ",n," clusterId:",t)}catch(f){X.error(f)}})}X.debug("Removing node",a),e.removeNode(a)})},"copy"),qae=o((t,e)=>{let r=e.children(t),n=[...r];for(let i of r)Uae.set(i,t),n=[...n,...qae(i,e)];return n},"extractDescendants"),NPe=o((t,e,r)=>{let n=t.edges().filter(u=>u.v===e||u.w===e),i=t.edges().filter(u=>u.v===r||u.w===r),a=n.map(u=>({v:u.v===e?r:u.v,w:u.w===e?e:u.w})),s=i.map(u=>({v:u.v,w:u.w}));return a.filter(u=>s.some(h=>u.v===h.v&&u.w===h.w))},"findCommonEdges"),Gm=o((t,e,r)=>{let n=e.children(t);if(X.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(let a of n){let s=Gm(a,e,r),l=NPe(e,r,s);if(s)if(l.length>0)i=s;else return s}return i},"findNonClusterChild"),Vae=o(t=>!Tr.has(t)||!Tr.get(t).externalConnections?t:Tr.has(t)?Tr.get(t).id:t,"getAnchorId"),Yae=o((t,e)=>{if(!t||e>10){X.debug("Opting out, no graph ");return}else X.debug("Opting in, graph ");t.nodes().forEach(function(r){t.children(r).length>0&&(X.warn("Cluster identified",r," Replacement id in edges: ",Gm(r,t,r)),Qd.set(r,qae(r,t)),Tr.set(r,{id:Gm(r,t,r),clusterData:t.node(r)}))}),t.nodes().forEach(function(r){let n=t.children(r),i=t.edges();n.length>0?(X.debug("Cluster identified",r,Qd),i.forEach(a=>{let s=gk(a.v,r),l=gk(a.w,r);s^l&&(X.warn("Edge: ",a," leaves cluster ",r),X.warn("Descendants of XXX ",r,": ",Qd.get(r)),Tr.get(r).externalConnections=!0)})):X.debug("Not a cluster ",r,Qd)});for(let r of Tr.keys()){let n=Tr.get(r).id,i=t.parent(n);i!==r&&Tr.has(i)&&!Tr.get(i).externalConnections&&(Tr.get(r).id=i)}t.edges().forEach(function(r){let n=t.edge(r);X.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(r)),X.warn("Edge "+r.v+" -> "+r.w+": "+JSON.stringify(t.edge(r)));let i=r.v,a=r.w;if(X.warn("Fix XXX",Tr,"ids:",r.v,r.w,"Translating: ",Tr.get(r.v)," --- ",Tr.get(r.w)),Tr.get(r.v)||Tr.get(r.w)){if(X.warn("Fixing and trying - removing XXX",r.v,r.w,r.name),i=Vae(r.v),a=Vae(r.w),t.removeEdge(r.v,r.w,r.name),i!==r.v){let s=t.parent(i);Tr.get(s).externalConnections=!0,n.fromCluster=r.v}if(a!==r.w){let s=t.parent(a);Tr.get(s).externalConnections=!0,n.toCluster=r.w}X.warn("Fix Replacing with XXX",i,a,r.name),t.setEdge(i,a,n,r.name)}}),X.warn("Adjusted Graph",Ho(t)),Xae(t,0),X.trace(Tr)},"adjustClustersAndEdges"),Xae=o((t,e)=>{if(X.warn("extractor - ",e,Ho(t),t.children("D")),e>10){X.error("Bailing out");return}let r=t.nodes(),n=!1;for(let i of r){let a=t.children(i);n=n||a.length>0}if(!n){X.debug("Done, no node has children",t.nodes());return}X.debug("Nodes = ",r,e);for(let i of r)if(X.debug("Extracting node",i,Tr,Tr.has(i)&&!Tr.get(i).externalConnections,!t.parent(i),t.node(i),t.children("D")," Depth ",e),!Tr.has(i))X.debug("Not a cluster",i,e);else if(!Tr.get(i).externalConnections&&t.children(i)&&t.children(i).length>0){X.warn("Cluster without external connections, without a parent and with children",i,e);let s=t.graph().rankdir==="TB"?"LR":"TB";Tr.get(i)?.clusterData?.dir&&(s=Tr.get(i).clusterData.dir,X.warn("Fixing dir",Tr.get(i).clusterData.dir,s));let l=new an({multigraph:!0,compound:!0}).setGraph({rankdir:s,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});X.warn("Old graph before copy",Ho(t)),Wae(i,t,l,i),t.setNode(i,{clusterNode:!0,id:i,clusterData:Tr.get(i).clusterData,label:Tr.get(i).label,graph:l}),X.warn("New graph after copy node: (",i,")",Ho(l)),X.debug("Old graph after copy",Ho(t))}else X.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!Tr.get(i).externalConnections," no parent: ",!t.parent(i)," children ",t.children(i)&&t.children(i).length>0,t.children("D"),e),X.debug(Tr);r=t.nodes(),X.warn("New list of nodes",r);for(let i of r){let a=t.node(i);X.warn(" Now next level",i,a),a?.clusterNode&&Xae(a.graph,e+1)}},"extractor"),jae=o((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{let i=t.children(n),a=jae(t,i);r=[...r,...a]}),r},"sorter"),Kae=o(t=>jae(t,t.children()),"sortNodesByHierarchy")});var Jae={};hr(Jae,{render:()=>MPe});var Zae,MPe,ese=N(()=>{"use strict";KR();QR();Uo();OL();Ft();Qae();dw();nw();IL();yt();L2();qt();Zae=o(async(t,e,r,n,i,a)=>{X.warn("Graph in recursive render:XAX",Ho(e),i);let s=e.graph().rankdir;X.trace("Dir in recursive render - dir:",s);let l=t.insert("g").attr("class","root");e.nodes()?X.info("Recursive render XXX",e.nodes()):X.info("No nodes found for",e),e.edges().length>0&&X.info("Recursive edges",e.edge(e.edges()[0]));let u=l.insert("g").attr("class","clusters"),h=l.insert("g").attr("class","edgePaths"),f=l.insert("g").attr("class","edgeLabels"),d=l.insert("g").attr("class","nodes");await Promise.all(e.nodes().map(async function(y){let v=e.node(y);if(i!==void 0){let x=JSON.parse(JSON.stringify(i.clusterData));X.trace(`Setting data for parent cluster XXX + Node.id = `,y,` + data=`,x.height,` +Parent cluster`,i.height),e.setNode(i.id,x),e.parent(y)||(X.trace("Setting parent",y,i.id),e.setParent(y,i.id,x))}if(X.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),v?.clusterNode){X.info("Cluster identified XBX",y,v.width,e.node(y));let{ranksep:x,nodesep:b}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:x+25,nodesep:b});let T=await Zae(d,v.graph,r,n,e.node(y),a),C=T.elem;Ke(v,C),v.diff=T.diff||0,X.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),yee(C,v)}else e.children(y).length>0?(X.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",e),X.trace(Gm(v.id,e)),Tr.set(v.id,{id:Gm(v.id,e),node:v})):(X.trace("Node - the non recursive path XAX",y,d,e.node(y),s),await Tm(d,e.node(y),{config:a,dir:s}))})),await o(async()=>{let y=e.edges().map(async function(v){let x=e.edge(v.v,v.w,v.name);X.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),X.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),X.info("Fix",Tr,"ids:",v.v,v.w,"Translating: ",Tr.get(v.v),Tr.get(v.w)),await lw(f,x)});await Promise.all(y)},"processEdges")(),X.info("Graph before layout:",JSON.stringify(Ho(e))),X.info("############################################# XXX"),X.info("### Layout ### XXX"),X.info("############################################# XXX"),z2(e),X.info("Graph after layout:",JSON.stringify(Ho(e)));let m=0,{subGraphTitleTotalMargin:g}=Mu(a);return await Promise.all(Kae(e).map(async function(y){let v=e.node(y);if(X.info("Position XBX => "+y+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v?.clusterNode)v.y+=g,X.info("A tainted cluster node XBX1",y,v.id,v.width,v.height,v.x,v.y,e.parent(y)),Tr.get(v.id).node=v,N2(v);else if(e.children(y).length>0){X.info("A pure cluster node XBX1",y,v.id,v.x,v.y,v.width,v.height,e.parent(y)),v.height+=g,e.node(v.parentId);let x=v?.padding/2||0,b=v?.labelBBox?.height||0,T=b-x||0;X.debug("OffsetY",T,"labelHeight",b,"halfPadding",x),await bm(u,v),Tr.get(v.id).node=v}else{let x=e.node(v.parentId);v.y+=g/2,X.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",x,x?.offsetY,v),N2(v)}})),e.edges().forEach(function(y){let v=e.edge(y);X.info("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(v),v),v.points.forEach(C=>C.y+=g/2);let x=e.node(y.v);var b=e.node(y.w);let T=uw(h,v,Tr,r,x,b,n);cw(v,T)}),e.nodes().forEach(function(y){let v=e.node(y);X.info(y,v.type,v.diff),v.isGroup&&(m=v.diff)}),X.warn("Returning from recursive render XAX",l,m),{elem:l,diff:m}},"recursiveRender"),MPe=o(async(t,e)=>{let r=new an({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.config?.flowchart?.nodeSpacing||t.nodeSpacing,ranksep:t.config?.rankSpacing||t.config?.flowchart?.rankSpacing||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");hw(n,t.markers,t.type,t.diagramId),vee(),gee(),uee(),Hae(),t.nodes.forEach(a=>{r.setNode(a.id,{...a}),a.parentId&&r.setParent(a.id,a.parentId)}),X.debug("Edges:",t.edges),t.edges.forEach(a=>{if(a.start===a.end){let s=a.start,l=s+"---"+s+"---1",u=s+"---"+s+"---2",h=r.node(s);r.setNode(l,{domId:l,id:l,parentId:h.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(l,h.parentId),r.setNode(u,{domId:u,id:u,parentId:h.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(u,h.parentId);let f=structuredClone(a),d=structuredClone(a),p=structuredClone(a);f.label="",f.arrowTypeEnd="none",f.id=s+"-cyclic-special-1",d.arrowTypeStart="none",d.arrowTypeEnd="none",d.id=s+"-cyclic-special-mid",p.label="",h.isGroup&&(f.fromCluster=s,p.toCluster=s),p.id=s+"-cyclic-special-2",p.arrowTypeStart="none",r.setEdge(s,l,f,s+"-cyclic-special-0"),r.setEdge(l,u,d,s+"-cyclic-special-1"),r.setEdge(u,s,p,s+"-cyc{"use strict";bee();yt();G2={},ZR=o(t=>{for(let e of t)G2[e.name]=e},"registerLayoutLoaders"),IPe=o(()=>{ZR([{name:"dagre",loader:o(async()=>await Promise.resolve().then(()=>(ese(),Jae)),"loader")}])},"registerDefaultLayoutLoaders");IPe();Dc=o(async(t,e)=>{if(!(t.layoutAlgorithm in G2))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);let r=G2[t.layoutAlgorithm];return(await r.loader()).render(t,e,xee,{algorithm:r.algorithm})},"render"),sf=o((t="",{fallback:e="dagre"}={})=>{if(t in G2)return t;if(e in G2)return X.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm")});var Wo,OPe,PPe,Jd=N(()=>{"use strict";yi();yt();Wo=o((t,e,r,n)=>{t.attr("class",r);let{width:i,height:a,x:s,y:l}=OPe(t,e);hn(t,a,i,n);let u=PPe(s,l,i,a,e);t.attr("viewBox",u),X.debug(`viewBox configured: ${u} with padding: ${e}`)},"setupViewPortForSVG"),OPe=o((t,e)=>{let r=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),PPe=o((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox")});var BPe,FPe,tse,rse=N(()=>{"use strict";pr();qt();yt();xm();Zd();Jd();nr();BPe=o(function(t,e){return e.db.getClasses()},"getClasses"),FPe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing state diagram (v2)",e);let{securityLevel:i,flowchart:a,layout:s}=ge(),l;i==="sandbox"&&(l=Ge("#i"+e));let u=i==="sandbox"?l.nodes()[0].contentDocument:document;X.debug("Before getData: ");let h=n.db.getData();X.debug("Data: ",h);let f=bc(e,i),d=n.db.getDirection();h.type=n.type,h.layoutAlgorithm=sf(s),h.layoutAlgorithm==="dagre"&&s==="elk"&&X.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),h.direction=d,h.nodeSpacing=a?.nodeSpacing||50,h.rankSpacing=a?.rankSpacing||50,h.markers=["point","circle","cross"],h.diagramId=e,X.debug("REF1:",h),await Dc(h,f);let p=h.config.flowchart?.diagramPadding??8;Vt.insertTitle(f,"flowchartTitleText",a?.titleTopMargin||0,n.db.getDiagramTitle()),Wo(f,p,"flowchart",a?.useMaxWidth||!1);for(let m of h.nodes){let g=Ge(`#${e} [id="${m.id}"]`);if(!g||!m.link)continue;let y=u.createElementNS("http://www.w3.org/2000/svg","a");y.setAttributeNS("http://www.w3.org/2000/svg","class",m.cssClasses),y.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),i==="sandbox"?y.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):m.linkTarget&&y.setAttributeNS("http://www.w3.org/2000/svg","target",m.linkTarget);let v=g.insert(function(){return y},":first-child"),x=g.select(".label-container");x&&v.append(function(){return x.node()});let b=g.select(".label");b&&v.append(function(){return b.node()})}},"draw"),tse={getClasses:BPe,draw:FPe}});var JR,eN,nse=N(()=>{"use strict";JR=function(){var t=o(function(Ur,et,gt,Kt){for(gt=gt||{},Kt=Ur.length;Kt--;gt[Ur[Kt]]=et);return gt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],a=[2,2],s=[1,13],l=[1,14],u=[1,15],h=[1,16],f=[1,23],d=[1,25],p=[1,26],m=[1,27],g=[1,49],y=[1,48],v=[1,29],x=[1,30],b=[1,31],T=[1,32],C=[1,33],w=[1,44],E=[1,46],_=[1,42],A=[1,47],D=[1,43],O=[1,50],R=[1,45],k=[1,51],L=[1,52],S=[1,34],I=[1,35],M=[1,36],P=[1,37],B=[1,57],F=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],z=[1,61],$=[1,60],U=[1,62],K=[8,9,11,75,77,78],ee=[1,78],Y=[1,91],ce=[1,96],Z=[1,95],ue=[1,92],Q=[1,88],j=[1,94],ne=[1,90],te=[1,97],he=[1,93],le=[1,98],J=[1,89],Se=[8,9,10,11,40,75,77,78],se=[8,9,10,11,40,46,75,77,78],ae=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],Oe=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],ye=[44,60,89,102,105,106,109,111,114,115,116],Be=[1,121],He=[1,122],ze=[1,124],Le=[1,123],Ie=[44,60,62,74,89,102,105,106,109,111,114,115,116],xe=[1,133],q=[1,147],de=[1,148],ie=[1,149],oe=[1,150],V=[1,135],Te=[1,137],W=[1,141],pe=[1,142],ve=[1,143],Pe=[1,144],_e=[1,145],be=[1,146],Ve=[1,151],De=[1,152],Ye=[1,131],at=[1,132],Rt=[1,139],st=[1,134],Ue=[1,138],ut=[1,136],We=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124],lt=[1,154],Xt=[1,156],Tt=[8,9,11],Mt=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],bt=[1,176],ht=[1,172],St=[1,173],ft=[1,177],vt=[1,174],nt=[1,175],dn=[77,116,119],kt=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],In=[10,106],en=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],Nr=[1,247],Mr=[1,245],On=[1,249],Dt=[1,243],Ce=[1,244],tt=[1,246],Ct=[1,248],yr=[1,250],tn=[1,268],gn=[8,9,11,106],Qr=[8,9,10,11,60,84,105,106,109,110,111,112],Mi={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1]],performAction:o(function(et,gt,Kt,ct,Sn,me,Wf){var we=me.length-1;switch(Sn){case 2:this.$=[];break;case 3:(!Array.isArray(me[we])||me[we].length>0)&&me[we-1].push(me[we]),this.$=me[we-1];break;case 4:case 183:this.$=me[we];break;case 11:ct.setDirection("TB"),this.$="TB";break;case 12:ct.setDirection(me[we-1]),this.$=me[we-1];break;case 27:this.$=me[we-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=ct.addSubGraph(me[we-6],me[we-1],me[we-4]);break;case 34:this.$=ct.addSubGraph(me[we-3],me[we-1],me[we-3]);break;case 35:this.$=ct.addSubGraph(void 0,me[we-1],void 0);break;case 37:this.$=me[we].trim(),ct.setAccTitle(this.$);break;case 38:case 39:this.$=me[we].trim(),ct.setAccDescription(this.$);break;case 43:this.$=me[we-1]+me[we];break;case 44:this.$=me[we];break;case 45:ct.addVertex(me[we-1][me[we-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,me[we]),ct.addLink(me[we-3].stmt,me[we-1],me[we-2]),this.$={stmt:me[we-1],nodes:me[we-1].concat(me[we-3].nodes)};break;case 46:ct.addLink(me[we-2].stmt,me[we],me[we-1]),this.$={stmt:me[we],nodes:me[we].concat(me[we-2].nodes)};break;case 47:ct.addLink(me[we-3].stmt,me[we-1],me[we-2]),this.$={stmt:me[we-1],nodes:me[we-1].concat(me[we-3].nodes)};break;case 48:this.$={stmt:me[we-1],nodes:me[we-1]};break;case 49:ct.addVertex(me[we-1][me[we-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,me[we]),this.$={stmt:me[we-1],nodes:me[we-1],shapeData:me[we]};break;case 50:this.$={stmt:me[we],nodes:me[we]};break;case 51:this.$=[me[we]];break;case 52:ct.addVertex(me[we-5][me[we-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,me[we-4]),this.$=me[we-5].concat(me[we]);break;case 53:this.$=me[we-4].concat(me[we]);break;case 54:this.$=me[we];break;case 55:this.$=me[we-2],ct.setClass(me[we-2],me[we]);break;case 56:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"square");break;case 57:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"doublecircle");break;case 58:this.$=me[we-5],ct.addVertex(me[we-5],me[we-2],"circle");break;case 59:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"ellipse");break;case 60:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"stadium");break;case 61:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"subroutine");break;case 62:this.$=me[we-7],ct.addVertex(me[we-7],me[we-1],"rect",void 0,void 0,void 0,Object.fromEntries([[me[we-5],me[we-3]]]));break;case 63:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"cylinder");break;case 64:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"round");break;case 65:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"diamond");break;case 66:this.$=me[we-5],ct.addVertex(me[we-5],me[we-2],"hexagon");break;case 67:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"odd");break;case 68:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"trapezoid");break;case 69:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"inv_trapezoid");break;case 70:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"lean_right");break;case 71:this.$=me[we-3],ct.addVertex(me[we-3],me[we-1],"lean_left");break;case 72:this.$=me[we],ct.addVertex(me[we]);break;case 73:me[we-1].text=me[we],this.$=me[we-1];break;case 74:case 75:me[we-2].text=me[we-1],this.$=me[we-2];break;case 76:this.$=me[we];break;case 77:var ki=ct.destructLink(me[we],me[we-2]);this.$={type:ki.type,stroke:ki.stroke,length:ki.length,text:me[we-1]};break;case 78:var ki=ct.destructLink(me[we],me[we-2]);this.$={type:ki.type,stroke:ki.stroke,length:ki.length,text:me[we-1],id:me[we-3]};break;case 79:this.$={text:me[we],type:"text"};break;case 80:this.$={text:me[we-1].text+""+me[we],type:me[we-1].type};break;case 81:this.$={text:me[we],type:"string"};break;case 82:this.$={text:me[we],type:"markdown"};break;case 83:var ki=ct.destructLink(me[we]);this.$={type:ki.type,stroke:ki.stroke,length:ki.length};break;case 84:var ki=ct.destructLink(me[we]);this.$={type:ki.type,stroke:ki.stroke,length:ki.length,id:me[we-1]};break;case 85:this.$=me[we-1];break;case 86:this.$={text:me[we],type:"text"};break;case 87:this.$={text:me[we-1].text+""+me[we],type:me[we-1].type};break;case 88:this.$={text:me[we],type:"string"};break;case 89:case 104:this.$={text:me[we],type:"markdown"};break;case 101:this.$={text:me[we],type:"text"};break;case 102:this.$={text:me[we-1].text+""+me[we],type:me[we-1].type};break;case 103:this.$={text:me[we],type:"text"};break;case 105:this.$=me[we-4],ct.addClass(me[we-2],me[we]);break;case 106:this.$=me[we-4],ct.setClass(me[we-2],me[we]);break;case 107:case 115:this.$=me[we-1],ct.setClickEvent(me[we-1],me[we]);break;case 108:case 116:this.$=me[we-3],ct.setClickEvent(me[we-3],me[we-2]),ct.setTooltip(me[we-3],me[we]);break;case 109:this.$=me[we-2],ct.setClickEvent(me[we-2],me[we-1],me[we]);break;case 110:this.$=me[we-4],ct.setClickEvent(me[we-4],me[we-3],me[we-2]),ct.setTooltip(me[we-4],me[we]);break;case 111:this.$=me[we-2],ct.setLink(me[we-2],me[we]);break;case 112:this.$=me[we-4],ct.setLink(me[we-4],me[we-2]),ct.setTooltip(me[we-4],me[we]);break;case 113:this.$=me[we-4],ct.setLink(me[we-4],me[we-2],me[we]);break;case 114:this.$=me[we-6],ct.setLink(me[we-6],me[we-4],me[we]),ct.setTooltip(me[we-6],me[we-2]);break;case 117:this.$=me[we-1],ct.setLink(me[we-1],me[we]);break;case 118:this.$=me[we-3],ct.setLink(me[we-3],me[we-2]),ct.setTooltip(me[we-3],me[we]);break;case 119:this.$=me[we-3],ct.setLink(me[we-3],me[we-2],me[we]);break;case 120:this.$=me[we-5],ct.setLink(me[we-5],me[we-4],me[we]),ct.setTooltip(me[we-5],me[we-2]);break;case 121:this.$=me[we-4],ct.addVertex(me[we-2],void 0,void 0,me[we]);break;case 122:this.$=me[we-4],ct.updateLink([me[we-2]],me[we]);break;case 123:this.$=me[we-4],ct.updateLink(me[we-2],me[we]);break;case 124:this.$=me[we-8],ct.updateLinkInterpolate([me[we-6]],me[we-2]),ct.updateLink([me[we-6]],me[we]);break;case 125:this.$=me[we-8],ct.updateLinkInterpolate(me[we-6],me[we-2]),ct.updateLink(me[we-6],me[we]);break;case 126:this.$=me[we-6],ct.updateLinkInterpolate([me[we-4]],me[we]);break;case 127:this.$=me[we-6],ct.updateLinkInterpolate(me[we-4],me[we]);break;case 128:case 130:this.$=[me[we]];break;case 129:case 131:me[we-2].push(me[we]),this.$=me[we-2];break;case 133:this.$=me[we-1]+me[we];break;case 181:this.$=me[we];break;case 182:this.$=me[we-1]+""+me[we];break;case 184:this.$=me[we-1]+""+me[we];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:C,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L,121:S,122:I,123:M,124:P},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,54],9:[1,55],10:B,15:53,18:56},t(F,[2,3]),t(F,[2,4]),t(F,[2,5]),t(F,[2,6]),t(F,[2,7]),t(F,[2,8]),{8:z,9:$,11:U,21:58,41:59,72:63,75:[1,64],77:[1,66],78:[1,65]},{8:z,9:$,11:U,21:67},{8:z,9:$,11:U,21:68},{8:z,9:$,11:U,21:69},{8:z,9:$,11:U,21:70},{8:z,9:$,11:U,21:71},{8:z,9:$,10:[1,72],11:U,21:73},t(F,[2,36]),{35:[1,74]},{37:[1,75]},t(F,[2,39]),t(K,[2,50],{18:76,39:77,10:B,40:ee}),{10:[1,79]},{10:[1,80]},{10:[1,81]},{10:[1,82]},{14:Y,44:ce,60:Z,80:[1,86],89:ue,95:[1,83],97:[1,84],101:85,105:Q,106:j,109:ne,111:te,114:he,115:le,116:J,120:87},t(F,[2,185]),t(F,[2,186]),t(F,[2,187]),t(F,[2,188]),t(Se,[2,51]),t(Se,[2,54],{46:[1,99]}),t(se,[2,72],{113:112,29:[1,100],44:g,48:[1,101],50:[1,102],52:[1,103],54:[1,104],56:[1,105],58:[1,106],60:y,63:[1,107],65:[1,108],67:[1,109],68:[1,110],70:[1,111],89:w,102:E,105:_,106:A,109:D,111:O,114:R,115:k,116:L}),t(ae,[2,181]),t(ae,[2,142]),t(ae,[2,143]),t(ae,[2,144]),t(ae,[2,145]),t(ae,[2,146]),t(ae,[2,147]),t(ae,[2,148]),t(ae,[2,149]),t(ae,[2,150]),t(ae,[2,151]),t(ae,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,113]},t(Oe,[2,26],{18:114,10:B}),t(F,[2,27]),{42:115,43:38,44:g,45:39,47:40,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L},t(F,[2,40]),t(F,[2,41]),t(F,[2,42]),t(ye,[2,76],{73:116,62:[1,118],74:[1,117]}),{76:119,79:120,80:Be,81:He,116:ze,119:Le},{75:[1,125],77:[1,126]},t(Ie,[2,83]),t(F,[2,28]),t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),{10:xe,12:q,14:de,27:ie,28:127,32:oe,44:V,60:Te,75:W,80:[1,129],81:[1,130],83:140,84:pe,85:ve,86:Pe,87:_e,88:be,89:Ve,90:De,91:128,105:Ye,109:at,111:Rt,114:st,115:Ue,116:ut},t(We,a,{5:153}),t(F,[2,37]),t(F,[2,38]),t(K,[2,48],{44:lt}),t(K,[2,49],{18:155,10:B,40:Xt}),t(Se,[2,44]),{44:g,47:157,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L},{102:[1,158],103:159,105:[1,160]},{44:g,47:161,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L},{44:g,47:162,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L},t(Tt,[2,107],{10:[1,163],96:[1,164]}),{80:[1,165]},t(Tt,[2,115],{120:167,10:[1,166],14:Y,44:ce,60:Z,89:ue,105:Q,106:j,109:ne,111:te,114:he,115:le,116:J}),t(Tt,[2,117],{10:[1,168]}),t(Mt,[2,183]),t(Mt,[2,170]),t(Mt,[2,171]),t(Mt,[2,172]),t(Mt,[2,173]),t(Mt,[2,174]),t(Mt,[2,175]),t(Mt,[2,176]),t(Mt,[2,177]),t(Mt,[2,178]),t(Mt,[2,179]),t(Mt,[2,180]),{44:g,47:169,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L},{30:170,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{30:178,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{30:180,50:[1,179],67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{30:181,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{30:182,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{30:183,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{109:[1,184]},{30:185,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{30:186,65:[1,187],67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{30:188,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{30:189,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{30:190,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},t(ae,[2,182]),t(i,[2,20]),t(Oe,[2,25]),t(K,[2,46],{39:191,18:192,10:B,40:ee}),t(ye,[2,73],{10:[1,193]}),{10:[1,194]},{30:195,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{77:[1,196],79:197,116:ze,119:Le},t(dn,[2,79]),t(dn,[2,81]),t(dn,[2,82]),t(dn,[2,168]),t(dn,[2,169]),{76:198,79:120,80:Be,81:He,116:ze,119:Le},t(Ie,[2,84]),{8:z,9:$,10:xe,11:U,12:q,14:de,21:200,27:ie,29:[1,199],32:oe,44:V,60:Te,75:W,83:140,84:pe,85:ve,86:Pe,87:_e,88:be,89:Ve,90:De,91:201,105:Ye,109:at,111:Rt,114:st,115:Ue,116:ut},t(kt,[2,101]),t(kt,[2,103]),t(kt,[2,104]),t(kt,[2,157]),t(kt,[2,158]),t(kt,[2,159]),t(kt,[2,160]),t(kt,[2,161]),t(kt,[2,162]),t(kt,[2,163]),t(kt,[2,164]),t(kt,[2,165]),t(kt,[2,166]),t(kt,[2,167]),t(kt,[2,90]),t(kt,[2,91]),t(kt,[2,92]),t(kt,[2,93]),t(kt,[2,94]),t(kt,[2,95]),t(kt,[2,96]),t(kt,[2,97]),t(kt,[2,98]),t(kt,[2,99]),t(kt,[2,100]),{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,202],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:C,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L,121:S,122:I,123:M,124:P},{10:B,18:203},{44:[1,204]},t(Se,[2,43]),{10:[1,205],44:g,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:112,114:R,115:k,116:L},{10:[1,206]},{10:[1,207],106:[1,208]},t(In,[2,128]),{10:[1,209],44:g,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:112,114:R,115:k,116:L},{10:[1,210],44:g,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:112,114:R,115:k,116:L},{80:[1,211]},t(Tt,[2,109],{10:[1,212]}),t(Tt,[2,111],{10:[1,213]}),{80:[1,214]},t(Mt,[2,184]),{80:[1,215],98:[1,216]},t(Se,[2,55],{113:112,44:g,60:y,89:w,102:E,105:_,106:A,109:D,111:O,114:R,115:k,116:L}),{31:[1,217],67:bt,82:218,116:ft,117:vt,118:nt},t(en,[2,86]),t(en,[2,88]),t(en,[2,89]),t(en,[2,153]),t(en,[2,154]),t(en,[2,155]),t(en,[2,156]),{49:[1,219],67:bt,82:218,116:ft,117:vt,118:nt},{30:220,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{51:[1,221],67:bt,82:218,116:ft,117:vt,118:nt},{53:[1,222],67:bt,82:218,116:ft,117:vt,118:nt},{55:[1,223],67:bt,82:218,116:ft,117:vt,118:nt},{57:[1,224],67:bt,82:218,116:ft,117:vt,118:nt},{60:[1,225]},{64:[1,226],67:bt,82:218,116:ft,117:vt,118:nt},{66:[1,227],67:bt,82:218,116:ft,117:vt,118:nt},{30:228,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},{31:[1,229],67:bt,82:218,116:ft,117:vt,118:nt},{67:bt,69:[1,230],71:[1,231],82:218,116:ft,117:vt,118:nt},{67:bt,69:[1,233],71:[1,232],82:218,116:ft,117:vt,118:nt},t(K,[2,45],{18:155,10:B,40:Xt}),t(K,[2,47],{44:lt}),t(ye,[2,75]),t(ye,[2,74]),{62:[1,234],67:bt,82:218,116:ft,117:vt,118:nt},t(ye,[2,77]),t(dn,[2,80]),{77:[1,235],79:197,116:ze,119:Le},{30:236,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},t(We,a,{5:237}),t(kt,[2,102]),t(F,[2,35]),{43:238,44:g,45:39,47:40,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L},{10:B,18:239},{10:Nr,60:Mr,84:On,92:240,105:Dt,107:241,108:242,109:Ce,110:tt,111:Ct,112:yr},{10:Nr,60:Mr,84:On,92:251,104:[1,252],105:Dt,107:241,108:242,109:Ce,110:tt,111:Ct,112:yr},{10:Nr,60:Mr,84:On,92:253,104:[1,254],105:Dt,107:241,108:242,109:Ce,110:tt,111:Ct,112:yr},{105:[1,255]},{10:Nr,60:Mr,84:On,92:256,105:Dt,107:241,108:242,109:Ce,110:tt,111:Ct,112:yr},{44:g,47:257,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L},t(Tt,[2,108]),{80:[1,258]},{80:[1,259],98:[1,260]},t(Tt,[2,116]),t(Tt,[2,118],{10:[1,261]}),t(Tt,[2,119]),t(se,[2,56]),t(en,[2,87]),t(se,[2,57]),{51:[1,262],67:bt,82:218,116:ft,117:vt,118:nt},t(se,[2,64]),t(se,[2,59]),t(se,[2,60]),t(se,[2,61]),{109:[1,263]},t(se,[2,63]),t(se,[2,65]),{66:[1,264],67:bt,82:218,116:ft,117:vt,118:nt},t(se,[2,67]),t(se,[2,68]),t(se,[2,70]),t(se,[2,69]),t(se,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(ye,[2,78]),{31:[1,265],67:bt,82:218,116:ft,117:vt,118:nt},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,266],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:C,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L,121:S,122:I,123:M,124:P},t(Se,[2,53]),{43:267,44:g,45:39,47:40,60:y,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L},t(Tt,[2,121],{106:tn}),t(gn,[2,130],{108:269,10:Nr,60:Mr,84:On,105:Dt,109:Ce,110:tt,111:Ct,112:yr}),t(Qr,[2,132]),t(Qr,[2,134]),t(Qr,[2,135]),t(Qr,[2,136]),t(Qr,[2,137]),t(Qr,[2,138]),t(Qr,[2,139]),t(Qr,[2,140]),t(Qr,[2,141]),t(Tt,[2,122],{106:tn}),{10:[1,270]},t(Tt,[2,123],{106:tn}),{10:[1,271]},t(In,[2,129]),t(Tt,[2,105],{106:tn}),t(Tt,[2,106],{113:112,44:g,60:y,89:w,102:E,105:_,106:A,109:D,111:O,114:R,115:k,116:L}),t(Tt,[2,110]),t(Tt,[2,112],{10:[1,272]}),t(Tt,[2,113]),{98:[1,273]},{51:[1,274]},{62:[1,275]},{66:[1,276]},{8:z,9:$,11:U,21:277},t(F,[2,34]),t(Se,[2,52]),{10:Nr,60:Mr,84:On,105:Dt,107:278,108:242,109:Ce,110:tt,111:Ct,112:yr},t(Qr,[2,133]),{14:Y,44:ce,60:Z,89:ue,101:279,105:Q,106:j,109:ne,111:te,114:he,115:le,116:J,120:87},{14:Y,44:ce,60:Z,89:ue,101:280,105:Q,106:j,109:ne,111:te,114:he,115:le,116:J,120:87},{98:[1,281]},t(Tt,[2,120]),t(se,[2,58]),{30:282,67:bt,80:ht,81:St,82:171,116:ft,117:vt,118:nt},t(se,[2,66]),t(We,a,{5:283}),t(gn,[2,131],{108:269,10:Nr,60:Mr,84:On,105:Dt,109:Ce,110:tt,111:Ct,112:yr}),t(Tt,[2,126],{120:167,10:[1,284],14:Y,44:ce,60:Z,89:ue,105:Q,106:j,109:ne,111:te,114:he,115:le,116:J}),t(Tt,[2,127],{120:167,10:[1,285],14:Y,44:ce,60:Z,89:ue,105:Q,106:j,109:ne,111:te,114:he,115:le,116:J}),t(Tt,[2,114]),{31:[1,286],67:bt,82:218,116:ft,117:vt,118:nt},{6:11,7:12,8:s,9:l,10:u,11:h,20:17,22:18,23:19,24:20,25:21,26:22,27:f,32:[1,287],33:24,34:d,36:p,38:m,42:28,43:38,44:g,45:39,47:40,60:y,84:v,85:x,86:b,87:T,88:C,89:w,102:E,105:_,106:A,109:D,111:O,113:41,114:R,115:k,116:L,121:S,122:I,123:M,124:P},{10:Nr,60:Mr,84:On,92:288,105:Dt,107:241,108:242,109:Ce,110:tt,111:Ct,112:yr},{10:Nr,60:Mr,84:On,92:289,105:Dt,107:241,108:242,109:Ce,110:tt,111:Ct,112:yr},t(se,[2,62]),t(F,[2,33]),t(Tt,[2,124],{106:tn}),t(Tt,[2,125],{106:tn})],defaultActions:{},parseError:o(function(et,gt){if(gt.recoverable)this.trace(et);else{var Kt=new Error(et);throw Kt.hash=gt,Kt}},"parseError"),parse:o(function(et){var gt=this,Kt=[0],ct=[],Sn=[null],me=[],Wf=this.table,we="",ki=0,o$=0,l$=0,jxe=2,c$=1,Kxe=me.slice.call(arguments,1),Yi=Object.create(this.lexer),qf={yy:{}};for(var PC in this.yy)Object.prototype.hasOwnProperty.call(this.yy,PC)&&(qf.yy[PC]=this.yy[PC]);Yi.setInput(et,qf.yy),qf.yy.lexer=Yi,qf.yy.parser=this,typeof Yi.yylloc>"u"&&(Yi.yylloc={});var BC=Yi.yylloc;me.push(BC);var Qxe=Yi.options&&Yi.options.ranges;typeof qf.yy.parseError=="function"?this.parseError=qf.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Rit(qs){Kt.length=Kt.length-2*qs,Sn.length=Sn.length-qs,me.length=me.length-qs}o(Rit,"popStack");function Zxe(){var qs;return qs=ct.pop()||Yi.lex()||c$,typeof qs!="number"&&(qs instanceof Array&&(ct=qs,qs=ct.pop()),qs=gt.symbols_[qs]||qs),qs}o(Zxe,"lex");for(var qa,FC,Yf,bo,Nit,$C,i0={},F4,tu,u$,$4;;){if(Yf=Kt[Kt.length-1],this.defaultActions[Yf]?bo=this.defaultActions[Yf]:((qa===null||typeof qa>"u")&&(qa=Zxe()),bo=Wf[Yf]&&Wf[Yf][qa]),typeof bo>"u"||!bo.length||!bo[0]){var zC="";$4=[];for(F4 in Wf[Yf])this.terminals_[F4]&&F4>jxe&&$4.push("'"+this.terminals_[F4]+"'");Yi.showPosition?zC="Parse error on line "+(ki+1)+`: +`+Yi.showPosition()+` +Expecting `+$4.join(", ")+", got '"+(this.terminals_[qa]||qa)+"'":zC="Parse error on line "+(ki+1)+": Unexpected "+(qa==c$?"end of input":"'"+(this.terminals_[qa]||qa)+"'"),this.parseError(zC,{text:Yi.match,token:this.terminals_[qa]||qa,line:Yi.yylineno,loc:BC,expected:$4})}if(bo[0]instanceof Array&&bo.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Yf+", token: "+qa);switch(bo[0]){case 1:Kt.push(qa),Sn.push(Yi.yytext),me.push(Yi.yylloc),Kt.push(bo[1]),qa=null,FC?(qa=FC,FC=null):(o$=Yi.yyleng,we=Yi.yytext,ki=Yi.yylineno,BC=Yi.yylloc,l$>0&&l$--);break;case 2:if(tu=this.productions_[bo[1]][1],i0.$=Sn[Sn.length-tu],i0._$={first_line:me[me.length-(tu||1)].first_line,last_line:me[me.length-1].last_line,first_column:me[me.length-(tu||1)].first_column,last_column:me[me.length-1].last_column},Qxe&&(i0._$.range=[me[me.length-(tu||1)].range[0],me[me.length-1].range[1]]),$C=this.performAction.apply(i0,[we,o$,ki,qf.yy,bo[1],Sn,me].concat(Kxe)),typeof $C<"u")return $C;tu&&(Kt=Kt.slice(0,-1*tu*2),Sn=Sn.slice(0,-1*tu),me=me.slice(0,-1*tu)),Kt.push(this.productions_[bo[1]][0]),Sn.push(i0.$),me.push(i0._$),u$=Wf[Kt[Kt.length-2]][Kt[Kt.length-1]],Kt.push(u$);break;case 3:return!0}}return!0},"parse")},Zn=function(){var Ur={EOF:1,parseError:o(function(gt,Kt){if(this.yy.parser)this.yy.parser.parseError(gt,Kt);else throw new Error(gt)},"parseError"),setInput:o(function(et,gt){return this.yy=gt||this.yy||{},this._input=et,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var et=this._input[0];this.yytext+=et,this.yyleng++,this.offset++,this.match+=et,this.matched+=et;var gt=et.match(/(?:\r\n?|\n).*/g);return gt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),et},"input"),unput:o(function(et){var gt=et.length,Kt=et.split(/(?:\r\n?|\n)/g);this._input=et+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-gt),this.offset-=gt;var ct=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Kt.length-1&&(this.yylineno-=Kt.length-1);var Sn=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Kt?(Kt.length===ct.length?this.yylloc.first_column:0)+ct[ct.length-Kt.length].length-Kt[0].length:this.yylloc.first_column-gt},this.options.ranges&&(this.yylloc.range=[Sn[0],Sn[0]+this.yyleng-gt]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(et){this.unput(this.match.slice(et))},"less"),pastInput:o(function(){var et=this.matched.substr(0,this.matched.length-this.match.length);return(et.length>20?"...":"")+et.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var et=this.match;return et.length<20&&(et+=this._input.substr(0,20-et.length)),(et.substr(0,20)+(et.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var et=this.pastInput(),gt=new Array(et.length+1).join("-");return et+this.upcomingInput()+` +`+gt+"^"},"showPosition"),test_match:o(function(et,gt){var Kt,ct,Sn;if(this.options.backtrack_lexer&&(Sn={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(Sn.yylloc.range=this.yylloc.range.slice(0))),ct=et[0].match(/(?:\r\n?|\n).*/g),ct&&(this.yylineno+=ct.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ct?ct[ct.length-1].length-ct[ct.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+et[0].length},this.yytext+=et[0],this.match+=et[0],this.matches=et,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(et[0].length),this.matched+=et[0],Kt=this.performAction.call(this,this.yy,this,gt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Kt)return Kt;if(this._backtrack){for(var me in Sn)this[me]=Sn[me];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var et,gt,Kt,ct;this._more||(this.yytext="",this.match="");for(var Sn=this._currentRules(),me=0;megt[0].length)){if(gt=Kt,ct=me,this.options.backtrack_lexer){if(et=this.test_match(Kt,Sn[me]),et!==!1)return et;if(this._backtrack){gt=!1;continue}else return!1}else if(!this.options.flex)break}return gt?(et=this.test_match(gt,Sn[ct]),et!==!1?et:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var gt=this.next();return gt||this.lex()},"lex"),begin:o(function(gt){this.conditionStack.push(gt)},"begin"),popState:o(function(){var gt=this.conditionStack.length-1;return gt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(gt){return gt=this.conditionStack.length-1-Math.abs(gt||0),gt>=0?this.conditionStack[gt]:"INITIAL"},"topState"),pushState:o(function(gt){this.begin(gt)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(gt,Kt,ct,Sn){var me=Sn;switch(ct){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),Kt.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let Wf=/\n\s*/g;return Kt.yytext=Kt.yytext.replace(Wf,"
    "),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return gt.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return gt.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return gt.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return 27;case 39:return 32;case 40:return 98;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return this.popState(),13;break;case 45:return this.popState(),14;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 78;case 60:return 105;case 61:return 111;case 62:return 46;case 63:return 60;case 64:return 44;case 65:return 8;case 66:return 106;case 67:return 115;case 68:return this.popState(),77;break;case 69:return this.pushState("edgeText"),75;break;case 70:return 119;case 71:return this.popState(),77;break;case 72:return this.pushState("thickEdgeText"),75;break;case 73:return 119;case 74:return this.popState(),77;break;case 75:return this.pushState("dottedEdgeText"),75;break;case 76:return 119;case 77:return 77;case 78:return this.popState(),53;break;case 79:return"TEXT";case 80:return this.pushState("ellipseText"),52;break;case 81:return this.popState(),55;break;case 82:return this.pushState("text"),54;break;case 83:return this.popState(),57;break;case 84:return this.pushState("text"),56;break;case 85:return 58;case 86:return this.pushState("text"),67;break;case 87:return this.popState(),64;break;case 88:return this.pushState("text"),63;break;case 89:return this.popState(),49;break;case 90:return this.pushState("text"),48;break;case 91:return this.popState(),69;break;case 92:return this.popState(),71;break;case 93:return 117;case 94:return this.pushState("trapText"),68;break;case 95:return this.pushState("trapText"),70;break;case 96:return 118;case 97:return 67;case 98:return 90;case 99:return"SEP";case 100:return 89;case 101:return 115;case 102:return 111;case 103:return 44;case 104:return 109;case 105:return 114;case 106:return 116;case 107:return this.popState(),62;break;case 108:return this.pushState("text"),62;break;case 109:return this.popState(),51;break;case 110:return this.pushState("text"),50;break;case 111:return this.popState(),31;break;case 112:return this.pushState("text"),29;break;case 113:return this.popState(),66;break;case 114:return this.pushState("text"),65;break;case 115:return"TEXT";case 116:return"QUOTE";case 117:return 9;case 118:return 10;case 119:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-9!"\#$%&'*+\.`?\\_\/]|-(?=[^\>\-\.])|(?!))+)/,/^(?:-)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:\s)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},shapeData:{rules:[8,11,12,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackargs:{rules:[17,18,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},callbackname:{rules:[14,15,16,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},href:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},click:{rules:[21,24,33,34,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dottedEdgeText:{rules:[21,24,74,76,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},thickEdgeText:{rules:[21,24,71,73,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},edgeText:{rules:[21,24,68,70,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},trapText:{rules:[21,24,77,80,82,84,88,90,91,92,93,94,95,108,110,112,114],inclusive:!1},ellipseText:{rules:[21,24,77,78,79,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},text:{rules:[21,24,77,80,81,82,83,84,87,88,89,90,94,95,107,108,109,110,111,112,113,114,115],inclusive:!1},vertex:{rules:[21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},dir:{rules:[21,24,44,45,46,47,48,49,50,51,52,53,54,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_descr:{rules:[3,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},acc_title:{rules:[1,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},md_string:{rules:[19,20,21,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},string:{rules:[21,22,23,24,77,80,82,84,88,90,94,95,108,110,112,114],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,71,72,74,75,77,80,82,84,85,86,88,90,94,95,96,97,98,99,100,101,102,103,104,105,106,108,110,112,114,116,117,118,119],inclusive:!0}}};return Ur}();Mi.lexer=Zn;function En(){this.yy={}}return o(En,"Parser"),En.prototype=Mi,Mi.Parser=En,new En}();JR.parser=JR;eN=JR});var ise,ase,sse=N(()=>{"use strict";nse();ise=Object.assign({},eN);ise.parse=t=>{let e=t.replace(/}\s*\n/g,`} +`);return eN.parse(e)};ase=ise});var Lc,Vm=N(()=>{"use strict";Lc=o(()=>` + /* Font Awesome icon styling - consolidated */ + .label-icon { + display: inline-block; + height: 1em; + overflow: visible; + vertical-align: -0.125em; + } + + .node .label-icon path { + fill: currentColor; + stroke: revert; + stroke-width: revert; + } +`,"getIconStyles")});var $Pe,zPe,ose,lse=N(()=>{"use strict";Xs();Vm();$Pe=o((t,e)=>{let r=Kf,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ya(n,i,a,e)},"fade"),zPe=o(t=>`.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span { + color: ${t.titleColor}; + } + .cluster-label span p { + background-color: transparent; + } + + .label text,span { + fill: ${t.nodeTextColor||t.textColor}; + color: ${t.nodeTextColor||t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .katex path { + fill: #000; + stroke: #000; + stroke-width: 1px; + } + + .rough-node .label,.node .label, .image-shape .label, .icon-shape .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + + .root .anchor path { + fill: ${t.lineColor} !important; + stroke-width: 0; + stroke: ${t.lineColor}; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${$Pe(t.edgeLabelBackground,.5)}; + // background-color: + } + + .cluster rect { + fill: ${t.clusterBkg}; + stroke: ${t.clusterBorder}; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + + rect.text { + fill: none; + stroke-width: 0; + } + + .icon-shape, .image-shape { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + padding: 2px; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + ${Lc()} +`,"getStyles"),ose=zPe});var yk={};hr(yk,{diagram:()=>GPe});var GPe,vk=N(()=>{"use strict";qt();oee();rse();sse();lse();GPe={parser:ase,get db(){return new rw},renderer:tse,styles:ose,init:o(t=>{t.flowchart||(t.flowchart={}),t.layout&&ev({layout:t.layout}),t.flowchart.arrowMarkerAbsolute=t.arrowMarkerAbsolute,ev({flowchart:{arrowMarkerAbsolute:t.arrowMarkerAbsolute}})},"init")}});var tN,dse,pse=N(()=>{"use strict";tN=function(){var t=o(function(te,he,le,J){for(le=le||{},J=te.length;J--;le[te[J]]=he);return le},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,50],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,20],l=[1,21],u=[1,22],h=[1,23],f=[1,24],d=[1,19],p=[1,25],m=[1,26],g=[1,18],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],C=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,50,63,64,65,66,67],w=[1,42],E=[1,43],_=[1,52],A=[40,50,68,69],D=[1,63],O=[1,61],R=[1,58],k=[1,62],L=[1,64],S=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,63,64,65,66,67],I=[63,64,65,66,67],M=[1,81],P=[1,80],B=[1,78],F=[1,79],z=[6,10,42,47],$=[6,10,13,41,42,47,48,49],U=[1,89],K=[1,88],ee=[1,87],Y=[19,56],ce=[1,98],Z=[1,97],ue=[19,56,58,60],Q={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,attribute:51,attributeType:52,attributeName:53,attributeKeyTypeList:54,attributeComment:55,ATTRIBUTE_WORD:56,attributeKeyType:57,",":58,ATTRIBUTE_KEY:59,COMMENT:60,cardinality:61,relType:62,ZERO_OR_ONE:63,ZERO_OR_MORE:64,ONE_OR_MORE:65,ONLY_ONE:66,MD_PARENT:67,NON_IDENTIFYING:68,IDENTIFYING:69,WORD:70,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",56:"ATTRIBUTE_WORD",58:",",59:"ATTRIBUTE_KEY",60:"COMMENT",63:"ZERO_OR_ONE",64:"ZERO_OR_MORE",65:"ONE_OR_MORE",66:"ONLY_ONE",67:"MD_PARENT",68:"NON_IDENTIFYING",69:"IDENTIFYING",70:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[18,1],[18,2],[51,2],[51,3],[51,3],[51,4],[52,1],[53,1],[54,1],[54,3],[57,1],[55,1],[12,3],[61,1],[61,1],[61,1],[61,1],[61,1],[62,1],[62,1],[14,1],[14,1],[14,1]],performAction:o(function(he,le,J,Se,se,ae,Oe){var ye=ae.length-1;switch(se){case 1:break;case 2:this.$=[];break;case 3:ae[ye-1].push(ae[ye]),this.$=ae[ye-1];break;case 4:case 5:this.$=ae[ye];break;case 6:case 7:this.$=[];break;case 8:Se.addEntity(ae[ye-4]),Se.addEntity(ae[ye-2]),Se.addRelationship(ae[ye-4],ae[ye],ae[ye-2],ae[ye-3]);break;case 9:Se.addEntity(ae[ye-8]),Se.addEntity(ae[ye-4]),Se.addRelationship(ae[ye-8],ae[ye],ae[ye-4],ae[ye-5]),Se.setClass([ae[ye-8]],ae[ye-6]),Se.setClass([ae[ye-4]],ae[ye-2]);break;case 10:Se.addEntity(ae[ye-6]),Se.addEntity(ae[ye-2]),Se.addRelationship(ae[ye-6],ae[ye],ae[ye-2],ae[ye-3]),Se.setClass([ae[ye-6]],ae[ye-4]);break;case 11:Se.addEntity(ae[ye-6]),Se.addEntity(ae[ye-4]),Se.addRelationship(ae[ye-6],ae[ye],ae[ye-4],ae[ye-5]),Se.setClass([ae[ye-4]],ae[ye-2]);break;case 12:Se.addEntity(ae[ye-3]),Se.addAttributes(ae[ye-3],ae[ye-1]);break;case 13:Se.addEntity(ae[ye-5]),Se.addAttributes(ae[ye-5],ae[ye-1]),Se.setClass([ae[ye-5]],ae[ye-3]);break;case 14:Se.addEntity(ae[ye-2]);break;case 15:Se.addEntity(ae[ye-4]),Se.setClass([ae[ye-4]],ae[ye-2]);break;case 16:Se.addEntity(ae[ye]);break;case 17:Se.addEntity(ae[ye-2]),Se.setClass([ae[ye-2]],ae[ye]);break;case 18:Se.addEntity(ae[ye-6],ae[ye-4]),Se.addAttributes(ae[ye-6],ae[ye-1]);break;case 19:Se.addEntity(ae[ye-8],ae[ye-6]),Se.addAttributes(ae[ye-8],ae[ye-1]),Se.setClass([ae[ye-8]],ae[ye-3]);break;case 20:Se.addEntity(ae[ye-5],ae[ye-3]);break;case 21:Se.addEntity(ae[ye-7],ae[ye-5]),Se.setClass([ae[ye-7]],ae[ye-2]);break;case 22:Se.addEntity(ae[ye-3],ae[ye-1]);break;case 23:Se.addEntity(ae[ye-5],ae[ye-3]),Se.setClass([ae[ye-5]],ae[ye]);break;case 24:case 25:this.$=ae[ye].trim(),Se.setAccTitle(this.$);break;case 26:case 27:this.$=ae[ye].trim(),Se.setAccDescription(this.$);break;case 32:Se.setDirection("TB");break;case 33:Se.setDirection("BT");break;case 34:Se.setDirection("RL");break;case 35:Se.setDirection("LR");break;case 36:this.$=ae[ye-3],Se.addClass(ae[ye-2],ae[ye-1]);break;case 37:case 38:case 56:case 64:this.$=[ae[ye]];break;case 39:case 40:this.$=ae[ye-2].concat([ae[ye]]);break;case 41:this.$=ae[ye-2],Se.setClass(ae[ye-1],ae[ye]);break;case 42:this.$=ae[ye-3],Se.addCssStyles(ae[ye-2],ae[ye-1]);break;case 43:this.$=[ae[ye]];break;case 44:ae[ye-2].push(ae[ye]),this.$=ae[ye-2];break;case 46:this.$=ae[ye-1]+ae[ye];break;case 54:case 76:case 77:this.$=ae[ye].replace(/"/g,"");break;case 55:case 78:this.$=ae[ye];break;case 57:ae[ye].push(ae[ye-1]),this.$=ae[ye];break;case 58:this.$={type:ae[ye-1],name:ae[ye]};break;case 59:this.$={type:ae[ye-2],name:ae[ye-1],keys:ae[ye]};break;case 60:this.$={type:ae[ye-2],name:ae[ye-1],comment:ae[ye]};break;case 61:this.$={type:ae[ye-3],name:ae[ye-2],keys:ae[ye-1],comment:ae[ye]};break;case 62:case 63:case 66:this.$=ae[ye];break;case 65:ae[ye-2].push(ae[ye]),this.$=ae[ye-2];break;case 67:this.$=ae[ye].replace(/"/g,"");break;case 68:this.$={cardA:ae[ye],relType:ae[ye-1],cardB:ae[ye-2]};break;case 69:this.$=Se.Cardinality.ZERO_OR_ONE;break;case 70:this.$=Se.Cardinality.ZERO_OR_MORE;break;case 71:this.$=Se.Cardinality.ONE_OR_MORE;break;case 72:this.$=Se.Cardinality.ONLY_ONE;break;case 73:this.$=Se.Cardinality.MD_PARENT;break;case 74:this.$=Se.Identification.NON_IDENTIFYING;break;case 75:this.$=Se.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,50:g},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:27,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:l,35:u,36:h,37:f,40:d,43:p,44:m,50:g},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:28,61:32,15:[1,29],17:[1,30],20:[1,31],63:y,64:v,65:x,66:b,67:T}),{23:[1,38]},{25:[1,39]},{27:[1,40]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(C,[2,54]),t(C,[2,55]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:41,40:w,41:E},{16:44,40:w,41:E},{16:45,40:w,41:E},t(e,[2,4]),{11:46,40:d,50:g},{16:47,40:w,41:E},{18:48,19:[1,49],51:50,52:51,56:_},{11:53,40:d,50:g},{62:54,68:[1,55],69:[1,56]},t(A,[2,69]),t(A,[2,70]),t(A,[2,71]),t(A,[2,72]),t(A,[2,73]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:D,38:57,41:O,42:R,45:59,46:60,48:k,49:L},t(S,[2,37]),t(S,[2,38]),{16:65,40:w,41:E,42:R},{13:D,38:66,41:O,42:R,45:59,46:60,48:k,49:L},{13:[1,67],15:[1,68]},t(e,[2,17],{61:32,12:69,17:[1,70],42:R,63:y,64:v,65:x,66:b,67:T}),{19:[1,71]},t(e,[2,14]),{18:72,19:[2,56],51:50,52:51,56:_},{53:73,56:[1,74]},{56:[2,62]},{21:[1,75]},{61:76,63:y,64:v,65:x,66:b,67:T},t(I,[2,74]),t(I,[2,75]),{6:M,10:P,39:77,42:B,47:F},{40:[1,82],41:[1,83]},t(z,[2,43],{46:84,13:D,41:O,48:k,49:L}),t($,[2,45]),t($,[2,50]),t($,[2,51]),t($,[2,52]),t($,[2,53]),t(e,[2,41],{42:R}),{6:M,10:P,39:85,42:B,47:F},{14:86,40:U,50:K,70:ee},{16:90,40:w,41:E},{11:91,40:d,50:g},{18:92,19:[1,93],51:50,52:51,56:_},t(e,[2,12]),{19:[2,57]},t(Y,[2,58],{54:94,55:95,57:96,59:ce,60:Z}),t([19,56,59,60],[2,63]),t(e,[2,22],{15:[1,100],17:[1,99]}),t([40,50],[2,68]),t(e,[2,36]),{13:D,41:O,45:101,46:60,48:k,49:L},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(S,[2,39]),t(S,[2,40]),t($,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,76]),t(e,[2,77]),t(e,[2,78]),{13:[1,102],42:R},{13:[1,104],15:[1,103]},{19:[1,105]},t(e,[2,15]),t(Y,[2,59],{55:106,58:[1,107],60:Z}),t(Y,[2,60]),t(ue,[2,64]),t(Y,[2,67]),t(ue,[2,66]),{18:108,19:[1,109],51:50,52:51,56:_},{16:110,40:w,41:E},t(z,[2,44],{46:84,13:D,41:O,48:k,49:L}),{14:111,40:U,50:K,70:ee},{16:112,40:w,41:E},{14:113,40:U,50:K,70:ee},t(e,[2,13]),t(Y,[2,61]),{57:114,59:ce},{19:[1,115]},t(e,[2,20]),t(e,[2,23],{17:[1,116],42:R}),t(e,[2,11]),{13:[1,117],42:R},t(e,[2,10]),t(ue,[2,65]),t(e,[2,18]),{18:118,19:[1,119],51:50,52:51,56:_},{14:120,40:U,50:K,70:ee},{19:[1,121]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{52:[2,62],72:[2,57]},parseError:o(function(he,le){if(le.recoverable)this.trace(he);else{var J=new Error(he);throw J.hash=le,J}},"parseError"),parse:o(function(he){var le=this,J=[0],Se=[],se=[null],ae=[],Oe=this.table,ye="",Be=0,He=0,ze=0,Le=2,Ie=1,xe=ae.slice.call(arguments,1),q=Object.create(this.lexer),de={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(de.yy[ie]=this.yy[ie]);q.setInput(he,de.yy),de.yy.lexer=q,de.yy.parser=this,typeof q.yylloc>"u"&&(q.yylloc={});var oe=q.yylloc;ae.push(oe);var V=q.options&&q.options.ranges;typeof de.yy.parseError=="function"?this.parseError=de.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Te(ut){J.length=J.length-2*ut,se.length=se.length-ut,ae.length=ae.length-ut}o(Te,"popStack");function W(){var ut;return ut=Se.pop()||q.lex()||Ie,typeof ut!="number"&&(ut instanceof Array&&(Se=ut,ut=Se.pop()),ut=le.symbols_[ut]||ut),ut}o(W,"lex");for(var pe,ve,Pe,_e,be,Ve,De={},Ye,at,Rt,st;;){if(Pe=J[J.length-1],this.defaultActions[Pe]?_e=this.defaultActions[Pe]:((pe===null||typeof pe>"u")&&(pe=W()),_e=Oe[Pe]&&Oe[Pe][pe]),typeof _e>"u"||!_e.length||!_e[0]){var Ue="";st=[];for(Ye in Oe[Pe])this.terminals_[Ye]&&Ye>Le&&st.push("'"+this.terminals_[Ye]+"'");q.showPosition?Ue="Parse error on line "+(Be+1)+`: +`+q.showPosition()+` +Expecting `+st.join(", ")+", got '"+(this.terminals_[pe]||pe)+"'":Ue="Parse error on line "+(Be+1)+": Unexpected "+(pe==Ie?"end of input":"'"+(this.terminals_[pe]||pe)+"'"),this.parseError(Ue,{text:q.match,token:this.terminals_[pe]||pe,line:q.yylineno,loc:oe,expected:st})}if(_e[0]instanceof Array&&_e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Pe+", token: "+pe);switch(_e[0]){case 1:J.push(pe),se.push(q.yytext),ae.push(q.yylloc),J.push(_e[1]),pe=null,ve?(pe=ve,ve=null):(He=q.yyleng,ye=q.yytext,Be=q.yylineno,oe=q.yylloc,ze>0&&ze--);break;case 2:if(at=this.productions_[_e[1]][1],De.$=se[se.length-at],De._$={first_line:ae[ae.length-(at||1)].first_line,last_line:ae[ae.length-1].last_line,first_column:ae[ae.length-(at||1)].first_column,last_column:ae[ae.length-1].last_column},V&&(De._$.range=[ae[ae.length-(at||1)].range[0],ae[ae.length-1].range[1]]),Ve=this.performAction.apply(De,[ye,He,Be,de.yy,_e[1],se,ae].concat(xe)),typeof Ve<"u")return Ve;at&&(J=J.slice(0,-1*at*2),se=se.slice(0,-1*at),ae=ae.slice(0,-1*at)),J.push(this.productions_[_e[1]][0]),se.push(De.$),ae.push(De._$),Rt=Oe[J[J.length-2]][J[J.length-1]],J.push(Rt);break;case 3:return!0}}return!0},"parse")},j=function(){var te={EOF:1,parseError:o(function(le,J){if(this.yy.parser)this.yy.parser.parseError(le,J);else throw new Error(le)},"parseError"),setInput:o(function(he,le){return this.yy=le||this.yy||{},this._input=he,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var he=this._input[0];this.yytext+=he,this.yyleng++,this.offset++,this.match+=he,this.matched+=he;var le=he.match(/(?:\r\n?|\n).*/g);return le?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),he},"input"),unput:o(function(he){var le=he.length,J=he.split(/(?:\r\n?|\n)/g);this._input=he+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-le),this.offset-=le;var Se=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),J.length-1&&(this.yylineno-=J.length-1);var se=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:J?(J.length===Se.length?this.yylloc.first_column:0)+Se[Se.length-J.length].length-J[0].length:this.yylloc.first_column-le},this.options.ranges&&(this.yylloc.range=[se[0],se[0]+this.yyleng-le]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(he){this.unput(this.match.slice(he))},"less"),pastInput:o(function(){var he=this.matched.substr(0,this.matched.length-this.match.length);return(he.length>20?"...":"")+he.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var he=this.match;return he.length<20&&(he+=this._input.substr(0,20-he.length)),(he.substr(0,20)+(he.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var he=this.pastInput(),le=new Array(he.length+1).join("-");return he+this.upcomingInput()+` +`+le+"^"},"showPosition"),test_match:o(function(he,le){var J,Se,se;if(this.options.backtrack_lexer&&(se={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(se.yylloc.range=this.yylloc.range.slice(0))),Se=he[0].match(/(?:\r\n?|\n).*/g),Se&&(this.yylineno+=Se.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Se?Se[Se.length-1].length-Se[Se.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+he[0].length},this.yytext+=he[0],this.match+=he[0],this.matches=he,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(he[0].length),this.matched+=he[0],J=this.performAction.call(this,this.yy,this,le,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),J)return J;if(this._backtrack){for(var ae in se)this[ae]=se[ae];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var he,le,J,Se;this._more||(this.yytext="",this.match="");for(var se=this._currentRules(),ae=0;aele[0].length)){if(le=J,Se=ae,this.options.backtrack_lexer){if(he=this.test_match(J,se[ae]),he!==!1)return he;if(this._backtrack){le=!1;continue}else return!1}else if(!this.options.flex)break}return le?(he=this.test_match(le,se[Se]),he!==!1?he:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var le=this.next();return le||this.lex()},"lex"),begin:o(function(le){this.conditionStack.push(le)},"begin"),popState:o(function(){var le=this.conditionStack.length-1;return le>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(le){return le=this.conditionStack.length-1-Math.abs(le||0),le>=0?this.conditionStack[le]:"INITIAL"},"topState"),pushState:o(function(le){this.begin(le)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(le,J,Se,se){var ae=se;switch(Se){case 0:return this.begin("acc_title"),24;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),26;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 70;case 16:return 4;case 17:return this.begin("block"),17;break;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 59;case 25:return 56;case 26:return 56;case 27:return 60;case 28:break;case 29:return this.popState(),19;break;case 30:return J.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;break;case 34:return this.popState(),10;break;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;break;case 40:return 43;case 41:return 63;case 42:return 65;case 43:return 65;case 44:return 65;case 45:return 63;case 46:return 63;case 47:return 64;case 48:return 64;case 49:return 64;case 50:return 64;case 51:return 64;case 52:return 65;case 53:return 64;case 54:return 65;case 55:return 66;case 56:return 66;case 57:return 66;case 58:return 66;case 59:return 63;case 60:return 64;case 61:return 65;case 62:return 67;case 63:return 68;case 64:return 69;case 65:return 69;case 66:return 68;case 67:return 68;case 68:return 68;case 69:return 41;case 70:return 47;case 71:return 40;case 72:return 48;case 73:return J.yytext[0];case 74:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:1\b)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:\s*u\b)/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:[0-9])/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,69,70],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,71,72,73,74],inclusive:!0}}};return te}();Q.lexer=j;function ne(){this.yy={}}return o(ne,"Parser"),ne.prototype=Q,Q.Parser=ne,new ne}();tN.parser=tN;dse=tN});var xk,mse=N(()=>{"use strict";yt();qt();ci();nr();xk=class{constructor(){this.entities=new Map;this.relationships=[];this.classes=new Map;this.direction="TB";this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"};this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"};this.setAccTitle=Cr;this.getAccTitle=_r;this.setAccDescription=Dr;this.getAccDescription=Lr;this.setDiagramTitle=Ir;this.getDiagramTitle=Rr;this.getConfig=o(()=>ge().er,"getConfig");this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"ErDB")}addEntity(e,r=""){return this.entities.has(e)?!this.entities.get(e)?.alias&&r&&(this.entities.get(e).alias=r,X.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:ge().look??"default",cssClasses:"default",cssStyles:[]}),X.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){let n=this.addEntity(e),i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),X.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){let a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;let l={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(l),X.debug("Added new relationship :",l)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(let n of e){let i=this.classes.get(n);i?.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i?.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(let n of e){let i=this.entities.get(n);if(!r||!i)return;for(let a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(let n of e){let i=this.entities.get(n);if(i)for(let a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],wr()}getData(){let e=[],r=[],n=ge();for(let a of this.entities.keys()){let s=this.entities.get(a);s&&(s.cssCompiledStyles=this.getCompiledStyles(s.cssClasses.split(" ")),e.push(s))}let i=0;for(let a of this.relationships){let s={id:Gh(a.entityA,a.entityB,{prefix:"id",counter:i++}),type:"normal",curve:"basis",start:a.entityA,end:a.entityB,label:a.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:a.relSpec.cardB.toLowerCase(),arrowTypeEnd:a.relSpec.cardA.toLowerCase(),pattern:a.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}}});var rN={};hr(rN,{draw:()=>XPe});var XPe,gse=N(()=>{"use strict";qt();yt();xm();Zd();Jd();nr();pr();XPe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing er diagram (unified)",e);let{securityLevel:i,er:a,layout:s}=ge(),l=n.db.getData(),u=bc(e,i);l.type=n.type,l.layoutAlgorithm=sf(s),l.config.flowchart.nodeSpacing=a?.nodeSpacing||140,l.config.flowchart.rankSpacing=a?.rankSpacing||80,l.direction=n.db.getDirection(),l.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],l.diagramId=e,await Dc(l,u),l.layoutAlgorithm==="elk"&&u.select(".edges").lower();let h=u.selectAll('[id*="-background"]');Array.from(h).length>0&&h.each(function(){let d=Ge(this),m=d.attr("id").replace("-background",""),g=u.select(`#${CSS.escape(m)}`);if(!g.empty()){let y=g.attr("transform");d.attr("transform",y)}});let f=8;Vt.insertTitle(u,"erDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),Wo(u,f,"erDiagram",a?.useMaxWidth??!0)},"draw")});var jPe,KPe,yse,vse=N(()=>{"use strict";Xs();jPe=o((t,e)=>{let r=Kf,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ya(n,i,a,e)},"fade"),KPe=o(t=>` + .entityBox { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + } + + .relationshipLabelBox { + fill: ${t.tertiaryColor}; + opacity: 0.7; + background-color: ${t.tertiaryColor}; + rect { + opacity: 0.5; + } + } + + .labelBkg { + background-color: ${jPe(t.tertiaryColor,.5)}; + } + + .edgeLabel .label { + fill: ${t.nodeBorder}; + font-size: 14px; + } + + .label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + + .edge-pattern-dashed { + stroke-dasharray: 8,8; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon + { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .relationshipLine { + stroke: ${t.lineColor}; + stroke-width: 1; + fill: none; + } + + .marker { + fill: none !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; + } +`,"getStyles"),yse=KPe});var xse={};hr(xse,{diagram:()=>QPe});var QPe,bse=N(()=>{"use strict";pse();mse();gse();vse();QPe={parser:dse,get db(){return new xk},renderer:rN,styles:yse}});function si(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function ma(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"}function nN(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function tp(t){return typeof t=="object"&&t!==null&&si(t.container)&&ma(t.reference)&&typeof t.message=="string"}function Rl(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function of(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function V2(t){return Rl(t)&&typeof t.fullText=="string"}var ep,Nl=N(()=>{"use strict";o(si,"isAstNode");o(ma,"isReference");o(nN,"isAstNodeDescription");o(tp,"isLinkingError");ep=class{static{o(this,"AbstractAstReflection")}constructor(){this.subtypes={},this.allSubtypes={}}isInstance(e,r){return si(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let a=this.computeIsSubtype(e,r);return n[r]=a,a}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}};o(Rl,"isCompositeCstNode");o(of,"isLeafCstNode");o(V2,"isRootCstNode")});function tBe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function bk(t){return!!t&&typeof t[Symbol.iterator]=="function"}function Jr(...t){if(t.length===1){let e=t[0];if(e instanceof oo)return e;if(bk(e))return new oo(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new oo(()=>({index:0}),r=>r.index1?new oo(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex{"use strict";oo=class t{static{o(this,"StreamImpl")}constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Ma})}join(e=","){let r=this.iterator(),n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=tBe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Ma:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Ma})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}let{done:n,value:i}=this.nextFn(r.this);if(!n){let a=e(i);if(bk(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Ma})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:a}=r.nextFn(n.this);if(!i)if(bk(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Ma})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Ma:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Ma})}exclude(e,r){let n=new Set;for(let i of e){let a=r?r(i):i;n.add(a)}return this.filter(i=>{let a=r?r(i):i;return!n.has(a)})}};o(tBe,"toString");o(bk,"isIterable");U2=new oo(()=>{},()=>Ma),Ma=Object.freeze({done:!0,value:void 0});o(Jr,"stream");Rc=class extends oo{static{o(this,"TreeStreamImpl")}constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Ma})}iterator(){let e={state:this.startFn(),next:o(()=>this.nextFn(e.state),"next"),prune:o(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}};(function(t){function e(a){return a.reduce((s,l)=>s+l,0)}o(e,"sum"),t.sum=e;function r(a){return a.reduce((s,l)=>s*l,0)}o(r,"product"),t.product=r;function n(a){return a.reduce((s,l)=>Math.min(s,l))}o(n,"min"),t.min=n;function i(a){return a.reduce((s,l)=>Math.max(s,l))}o(i,"max"),t.max=i})(Um||(Um={}))});var wk={};hr(wk,{DefaultNameRegexp:()=>Tk,RangeComparison:()=>Nc,compareRange:()=>Ese,findCommentNode:()=>oN,findDeclarationNodeAtOffset:()=>nBe,findLeafNodeAtOffset:()=>lN,findLeafNodeBeforeOffset:()=>Sse,flattenCst:()=>rBe,getInteriorNodes:()=>sBe,getNextNode:()=>iBe,getPreviousNode:()=>Ase,getStartlineNode:()=>aBe,inRange:()=>sN,isChildNode:()=>aN,isCommentNode:()=>iN,streamCst:()=>rp,toDocumentSegment:()=>np,tokenToRange:()=>Hm});function rp(t){return new Rc(t,e=>Rl(e)?e.content:[],{includeRoot:!0})}function rBe(t){return rp(t).filter(of)}function aN(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Hm(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function np(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}function Ese(t,e){if(t.end.linee.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Nc.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.lineNc.After}function nBe(t,e,r=Tk){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return lN(t,e)}}function oN(t,e){if(t){let r=Ase(t,!0);if(r&&iN(r,e))return r;if(V2(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let a=t.content[i];if(iN(a,e))return a}}}}function iN(t,e){return of(t)&&e.includes(t.tokenType.name)}function lN(t,e){if(of(t))return t;if(Rl(t)){let r=Cse(t,e,!1);if(r)return lN(r,e)}}function Sse(t,e){if(of(t))return t;if(Rl(t)){let r=Cse(t,e,!0);if(r)return Sse(r,e)}}function Cse(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){let s=Math.floor((n+i)/2),l=t.content[s];if(l.offset<=e&&l.end>e)return l;l.end<=e?(a=r?l:void 0,n=s+1):i=s-1}return a}function Ase(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function iBe(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n{"use strict";Nl();$s();o(rp,"streamCst");o(rBe,"flattenCst");o(aN,"isChildNode");o(Hm,"tokenToRange");o(np,"toDocumentSegment");(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Nc||(Nc={}));o(Ese,"compareRange");o(sN,"inRange");Tk=/^[\w\p{L}]$/u;o(nBe,"findDeclarationNodeAtOffset");o(oN,"findCommentNode");o(iN,"isCommentNode");o(lN,"findLeafNodeAtOffset");o(Sse,"findLeafNodeBeforeOffset");o(Cse,"binarySearch");o(Ase,"getPreviousNode");o(iBe,"getNextNode");o(aBe,"getStartlineNode");o(sBe,"getInteriorNodes");o(oBe,"getCommonParent");o(kse,"getParentChain")});function Mc(t){throw new Error("Error! The input value was not handled.")}var ip,kk=N(()=>{"use strict";ip=class extends Error{static{o(this,"ErrorWithLocation")}constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};o(Mc,"assertUnreachable")});var Z2={};hr(Z2,{AbstractElement:()=>Ym,AbstractRule:()=>Wm,AbstractType:()=>qm,Action:()=>fg,Alternatives:()=>dg,ArrayLiteral:()=>Xm,ArrayType:()=>jm,Assignment:()=>pg,BooleanLiteral:()=>Km,CharacterRange:()=>mg,Condition:()=>H2,Conjunction:()=>Qm,CrossReference:()=>gg,Disjunction:()=>Zm,EndOfFile:()=>yg,Grammar:()=>Jm,GrammarImport:()=>q2,Group:()=>vg,InferredType:()=>eg,Interface:()=>tg,Keyword:()=>xg,LangiumGrammarAstReflection:()=>Dg,LangiumGrammarTerminals:()=>lBe,NamedArgument:()=>Y2,NegatedToken:()=>bg,Negation:()=>rg,NumberLiteral:()=>ng,Parameter:()=>ig,ParameterReference:()=>ag,ParserRule:()=>sg,ReferenceType:()=>og,RegexToken:()=>Tg,ReturnType:()=>X2,RuleCall:()=>wg,SimpleType:()=>lg,StringLiteral:()=>cg,TerminalAlternatives:()=>kg,TerminalGroup:()=>Eg,TerminalRule:()=>ap,TerminalRuleCall:()=>Sg,Type:()=>ug,TypeAttribute:()=>j2,TypeDefinition:()=>Ek,UnionType:()=>hg,UnorderedGroup:()=>Cg,UntilToken:()=>Ag,ValueLiteral:()=>W2,Wildcard:()=>_g,isAbstractElement:()=>K2,isAbstractRule:()=>cBe,isAbstractType:()=>uBe,isAction:()=>Ou,isAlternatives:()=>_k,isArrayLiteral:()=>mBe,isArrayType:()=>cN,isAssignment:()=>Il,isBooleanLiteral:()=>uN,isCharacterRange:()=>vN,isCondition:()=>hBe,isConjunction:()=>hN,isCrossReference:()=>sp,isDisjunction:()=>fN,isEndOfFile:()=>xN,isFeatureName:()=>fBe,isGrammar:()=>gBe,isGrammarImport:()=>yBe,isGroup:()=>lf,isInferredType:()=>Sk,isInterface:()=>Ck,isKeyword:()=>qo,isNamedArgument:()=>vBe,isNegatedToken:()=>bN,isNegation:()=>dN,isNumberLiteral:()=>xBe,isParameter:()=>bBe,isParameterReference:()=>pN,isParserRule:()=>Ia,isPrimitiveType:()=>_se,isReferenceType:()=>mN,isRegexToken:()=>TN,isReturnType:()=>gN,isRuleCall:()=>Ol,isSimpleType:()=>Ak,isStringLiteral:()=>TBe,isTerminalAlternatives:()=>wN,isTerminalGroup:()=>kN,isTerminalRule:()=>lo,isTerminalRuleCall:()=>Dk,isType:()=>Q2,isTypeAttribute:()=>wBe,isTypeDefinition:()=>dBe,isUnionType:()=>yN,isUnorderedGroup:()=>Lk,isUntilToken:()=>EN,isValueLiteral:()=>pBe,isWildcard:()=>SN,reflection:()=>ur});function cBe(t){return ur.isInstance(t,Wm)}function uBe(t){return ur.isInstance(t,qm)}function hBe(t){return ur.isInstance(t,H2)}function fBe(t){return _se(t)||t==="current"||t==="entry"||t==="extends"||t==="false"||t==="fragment"||t==="grammar"||t==="hidden"||t==="import"||t==="interface"||t==="returns"||t==="terminal"||t==="true"||t==="type"||t==="infer"||t==="infers"||t==="with"||typeof t=="string"&&/\^?[_a-zA-Z][\w_]*/.test(t)}function _se(t){return t==="string"||t==="number"||t==="boolean"||t==="Date"||t==="bigint"}function dBe(t){return ur.isInstance(t,Ek)}function pBe(t){return ur.isInstance(t,W2)}function K2(t){return ur.isInstance(t,Ym)}function mBe(t){return ur.isInstance(t,Xm)}function cN(t){return ur.isInstance(t,jm)}function uN(t){return ur.isInstance(t,Km)}function hN(t){return ur.isInstance(t,Qm)}function fN(t){return ur.isInstance(t,Zm)}function gBe(t){return ur.isInstance(t,Jm)}function yBe(t){return ur.isInstance(t,q2)}function Sk(t){return ur.isInstance(t,eg)}function Ck(t){return ur.isInstance(t,tg)}function vBe(t){return ur.isInstance(t,Y2)}function dN(t){return ur.isInstance(t,rg)}function xBe(t){return ur.isInstance(t,ng)}function bBe(t){return ur.isInstance(t,ig)}function pN(t){return ur.isInstance(t,ag)}function Ia(t){return ur.isInstance(t,sg)}function mN(t){return ur.isInstance(t,og)}function gN(t){return ur.isInstance(t,X2)}function Ak(t){return ur.isInstance(t,lg)}function TBe(t){return ur.isInstance(t,cg)}function lo(t){return ur.isInstance(t,ap)}function Q2(t){return ur.isInstance(t,ug)}function wBe(t){return ur.isInstance(t,j2)}function yN(t){return ur.isInstance(t,hg)}function Ou(t){return ur.isInstance(t,fg)}function _k(t){return ur.isInstance(t,dg)}function Il(t){return ur.isInstance(t,pg)}function vN(t){return ur.isInstance(t,mg)}function sp(t){return ur.isInstance(t,gg)}function xN(t){return ur.isInstance(t,yg)}function lf(t){return ur.isInstance(t,vg)}function qo(t){return ur.isInstance(t,xg)}function bN(t){return ur.isInstance(t,bg)}function TN(t){return ur.isInstance(t,Tg)}function Ol(t){return ur.isInstance(t,wg)}function wN(t){return ur.isInstance(t,kg)}function kN(t){return ur.isInstance(t,Eg)}function Dk(t){return ur.isInstance(t,Sg)}function Lk(t){return ur.isInstance(t,Cg)}function EN(t){return ur.isInstance(t,Ag)}function SN(t){return ur.isInstance(t,_g)}var lBe,Wm,qm,H2,Ek,W2,Ym,Xm,jm,Km,Qm,Zm,Jm,q2,eg,tg,Y2,rg,ng,ig,ag,sg,og,X2,lg,cg,ap,ug,j2,hg,fg,dg,pg,mg,gg,yg,vg,xg,bg,Tg,wg,kg,Eg,Sg,Cg,Ag,_g,Dg,ur,Ic=N(()=>{"use strict";Nl();lBe={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},Wm="AbstractRule";o(cBe,"isAbstractRule");qm="AbstractType";o(uBe,"isAbstractType");H2="Condition";o(hBe,"isCondition");o(fBe,"isFeatureName");o(_se,"isPrimitiveType");Ek="TypeDefinition";o(dBe,"isTypeDefinition");W2="ValueLiteral";o(pBe,"isValueLiteral");Ym="AbstractElement";o(K2,"isAbstractElement");Xm="ArrayLiteral";o(mBe,"isArrayLiteral");jm="ArrayType";o(cN,"isArrayType");Km="BooleanLiteral";o(uN,"isBooleanLiteral");Qm="Conjunction";o(hN,"isConjunction");Zm="Disjunction";o(fN,"isDisjunction");Jm="Grammar";o(gBe,"isGrammar");q2="GrammarImport";o(yBe,"isGrammarImport");eg="InferredType";o(Sk,"isInferredType");tg="Interface";o(Ck,"isInterface");Y2="NamedArgument";o(vBe,"isNamedArgument");rg="Negation";o(dN,"isNegation");ng="NumberLiteral";o(xBe,"isNumberLiteral");ig="Parameter";o(bBe,"isParameter");ag="ParameterReference";o(pN,"isParameterReference");sg="ParserRule";o(Ia,"isParserRule");og="ReferenceType";o(mN,"isReferenceType");X2="ReturnType";o(gN,"isReturnType");lg="SimpleType";o(Ak,"isSimpleType");cg="StringLiteral";o(TBe,"isStringLiteral");ap="TerminalRule";o(lo,"isTerminalRule");ug="Type";o(Q2,"isType");j2="TypeAttribute";o(wBe,"isTypeAttribute");hg="UnionType";o(yN,"isUnionType");fg="Action";o(Ou,"isAction");dg="Alternatives";o(_k,"isAlternatives");pg="Assignment";o(Il,"isAssignment");mg="CharacterRange";o(vN,"isCharacterRange");gg="CrossReference";o(sp,"isCrossReference");yg="EndOfFile";o(xN,"isEndOfFile");vg="Group";o(lf,"isGroup");xg="Keyword";o(qo,"isKeyword");bg="NegatedToken";o(bN,"isNegatedToken");Tg="RegexToken";o(TN,"isRegexToken");wg="RuleCall";o(Ol,"isRuleCall");kg="TerminalAlternatives";o(wN,"isTerminalAlternatives");Eg="TerminalGroup";o(kN,"isTerminalGroup");Sg="TerminalRuleCall";o(Dk,"isTerminalRuleCall");Cg="UnorderedGroup";o(Lk,"isUnorderedGroup");Ag="UntilToken";o(EN,"isUntilToken");_g="Wildcard";o(SN,"isWildcard");Dg=class extends ep{static{o(this,"LangiumGrammarAstReflection")}getAllTypes(){return[Ym,Wm,qm,fg,dg,Xm,jm,pg,Km,mg,H2,Qm,gg,Zm,yg,Jm,q2,vg,eg,tg,xg,Y2,bg,rg,ng,ig,ag,sg,og,Tg,X2,wg,lg,cg,kg,Eg,ap,Sg,ug,j2,Ek,hg,Cg,Ag,W2,_g]}computeIsSubtype(e,r){switch(e){case fg:case dg:case pg:case mg:case gg:case yg:case vg:case xg:case bg:case Tg:case wg:case kg:case Eg:case Sg:case Cg:case Ag:case _g:return this.isSubtype(Ym,r);case Xm:case ng:case cg:return this.isSubtype(W2,r);case jm:case og:case lg:case hg:return this.isSubtype(Ek,r);case Km:return this.isSubtype(H2,r)||this.isSubtype(W2,r);case Qm:case Zm:case rg:case ag:return this.isSubtype(H2,r);case eg:case tg:case ug:return this.isSubtype(qm,r);case sg:return this.isSubtype(Wm,r)||this.isSubtype(qm,r);case ap:return this.isSubtype(Wm,r);default:return!1}}getReferenceType(e){let r=`${e.container.$type}:${e.property}`;switch(r){case"Action:type":case"CrossReference:type":case"Interface:superTypes":case"ParserRule:returnType":case"SimpleType:typeRef":return qm;case"Grammar:hiddenTokens":case"ParserRule:hiddenTokens":case"RuleCall:rule":return Wm;case"Grammar:usedGrammars":return Jm;case"NamedArgument:parameter":case"ParameterReference:parameter":return ig;case"TerminalRuleCall:rule":return ap;default:throw new Error(`${r} is not a valid reference id.`)}}getTypeMetaData(e){switch(e){case Ym:return{name:Ym,properties:[{name:"cardinality"},{name:"lookahead"}]};case Xm:return{name:Xm,properties:[{name:"elements",defaultValue:[]}]};case jm:return{name:jm,properties:[{name:"elementType"}]};case Km:return{name:Km,properties:[{name:"true",defaultValue:!1}]};case Qm:return{name:Qm,properties:[{name:"left"},{name:"right"}]};case Zm:return{name:Zm,properties:[{name:"left"},{name:"right"}]};case Jm:return{name:Jm,properties:[{name:"definesHiddenTokens",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"imports",defaultValue:[]},{name:"interfaces",defaultValue:[]},{name:"isDeclared",defaultValue:!1},{name:"name"},{name:"rules",defaultValue:[]},{name:"types",defaultValue:[]},{name:"usedGrammars",defaultValue:[]}]};case q2:return{name:q2,properties:[{name:"path"}]};case eg:return{name:eg,properties:[{name:"name"}]};case tg:return{name:tg,properties:[{name:"attributes",defaultValue:[]},{name:"name"},{name:"superTypes",defaultValue:[]}]};case Y2:return{name:Y2,properties:[{name:"calledByName",defaultValue:!1},{name:"parameter"},{name:"value"}]};case rg:return{name:rg,properties:[{name:"value"}]};case ng:return{name:ng,properties:[{name:"value"}]};case ig:return{name:ig,properties:[{name:"name"}]};case ag:return{name:ag,properties:[{name:"parameter"}]};case sg:return{name:sg,properties:[{name:"dataType"},{name:"definesHiddenTokens",defaultValue:!1},{name:"definition"},{name:"entry",defaultValue:!1},{name:"fragment",defaultValue:!1},{name:"hiddenTokens",defaultValue:[]},{name:"inferredType"},{name:"name"},{name:"parameters",defaultValue:[]},{name:"returnType"},{name:"wildcard",defaultValue:!1}]};case og:return{name:og,properties:[{name:"referenceType"}]};case X2:return{name:X2,properties:[{name:"name"}]};case lg:return{name:lg,properties:[{name:"primitiveType"},{name:"stringType"},{name:"typeRef"}]};case cg:return{name:cg,properties:[{name:"value"}]};case ap:return{name:ap,properties:[{name:"definition"},{name:"fragment",defaultValue:!1},{name:"hidden",defaultValue:!1},{name:"name"},{name:"type"}]};case ug:return{name:ug,properties:[{name:"name"},{name:"type"}]};case j2:return{name:j2,properties:[{name:"defaultValue"},{name:"isOptional",defaultValue:!1},{name:"name"},{name:"type"}]};case hg:return{name:hg,properties:[{name:"types",defaultValue:[]}]};case fg:return{name:fg,properties:[{name:"cardinality"},{name:"feature"},{name:"inferredType"},{name:"lookahead"},{name:"operator"},{name:"type"}]};case dg:return{name:dg,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case pg:return{name:pg,properties:[{name:"cardinality"},{name:"feature"},{name:"lookahead"},{name:"operator"},{name:"terminal"}]};case mg:return{name:mg,properties:[{name:"cardinality"},{name:"left"},{name:"lookahead"},{name:"right"}]};case gg:return{name:gg,properties:[{name:"cardinality"},{name:"deprecatedSyntax",defaultValue:!1},{name:"lookahead"},{name:"terminal"},{name:"type"}]};case yg:return{name:yg,properties:[{name:"cardinality"},{name:"lookahead"}]};case vg:return{name:vg,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"guardCondition"},{name:"lookahead"}]};case xg:return{name:xg,properties:[{name:"cardinality"},{name:"lookahead"},{name:"value"}]};case bg:return{name:bg,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case Tg:return{name:Tg,properties:[{name:"cardinality"},{name:"lookahead"},{name:"regex"}]};case wg:return{name:wg,properties:[{name:"arguments",defaultValue:[]},{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case kg:return{name:kg,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Eg:return{name:Eg,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Sg:return{name:Sg,properties:[{name:"cardinality"},{name:"lookahead"},{name:"rule"}]};case Cg:return{name:Cg,properties:[{name:"cardinality"},{name:"elements",defaultValue:[]},{name:"lookahead"}]};case Ag:return{name:Ag,properties:[{name:"cardinality"},{name:"lookahead"},{name:"terminal"}]};case _g:return{name:_g,properties:[{name:"cardinality"},{name:"lookahead"}]};default:return{name:e,properties:[]}}}},ur=new Dg});var Nk={};hr(Nk,{assignMandatoryProperties:()=>_N,copyAstNode:()=>AN,findLocalReferences:()=>EBe,findRootNode:()=>J2,getContainerOfType:()=>op,getDocument:()=>Oa,hasContainerOfType:()=>kBe,linkContentToContainer:()=>Rk,streamAllContents:()=>Oc,streamAst:()=>Yo,streamContents:()=>ex,streamReferences:()=>Lg});function Rk(t){for(let[e,r]of Object.entries(t))e.startsWith("$")||(Array.isArray(r)?r.forEach((n,i)=>{si(n)&&(n.$container=t,n.$containerProperty=e,n.$containerIndex=i)}):si(r)&&(r.$container=t,r.$containerProperty=e))}function op(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function kBe(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Oa(t){let r=J2(t).$document;if(!r)throw new Error("AST node has no document.");return r}function J2(t){for(;t.$container;)t=t.$container;return t}function ex(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new oo(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndexex(r,e))}function Yo(t,e){if(t){if(e?.range&&!CN(t,e.range))return new Rc(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new Rc(t,r=>ex(r,e),{includeRoot:!0})}function CN(t,e){var r;if(!e)return!0;let n=(r=t.$cstNode)===null||r===void 0?void 0:r.range;return n?sN(n,e):!1}function Lg(t){return new oo(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex{Lg(n).forEach(i=>{i.reference.ref===t&&r.push(i.reference)})}),Jr(r)}function _N(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of r.properties)i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=Dse(i.defaultValue))}function Dse(t){return Array.isArray(t)?[...t.map(Dse)]:t}function AN(t,e){let r={$type:t.$type};for(let[n,i]of Object.entries(t))if(!n.startsWith("$"))if(si(i))r[n]=AN(i,e);else if(ma(i))r[n]=e(r,n,i.$refNode,i.$refText);else if(Array.isArray(i)){let a=[];for(let s of i)si(s)?a.push(AN(s,e)):ma(s)?a.push(e(r,n,s.$refNode,s.$refText)):a.push(s);r[n]=a}else r[n]=i;return Rk(r),r}var as=N(()=>{"use strict";Nl();$s();Ml();o(Rk,"linkContentToContainer");o(op,"getContainerOfType");o(kBe,"hasContainerOfType");o(Oa,"getDocument");o(J2,"findRootNode");o(ex,"streamContents");o(Oc,"streamAllContents");o(Yo,"streamAst");o(CN,"isAstNodeInRange");o(Lg,"streamReferences");o(EBe,"findLocalReferences");o(_N,"assignMandatoryProperties");o(Dse,"copyDefaultValue");o(AN,"copyAstNode")});function or(t){return t.charCodeAt(0)}function Mk(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function Rg(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function lp(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function tx(){throw Error("Internal Error - Should never get here!")}function DN(t){return t.type==="Character"}var LN=N(()=>{"use strict";o(or,"cc");o(Mk,"insertToSet");o(Rg,"addFlag");o(lp,"ASSERT_EXISTS");o(tx,"ASSERT_NEVER_REACH_HERE");o(DN,"isCharacter")});var rx,nx,RN,Lse=N(()=>{"use strict";LN();rx=[];for(let t=or("0");t<=or("9");t++)rx.push(t);nx=[or("_")].concat(rx);for(let t=or("a");t<=or("z");t++)nx.push(t);for(let t=or("A");t<=or("Z");t++)nx.push(t);RN=[or(" "),or("\f"),or(` +`),or("\r"),or(" "),or("\v"),or(" "),or("\xA0"),or("\u1680"),or("\u2000"),or("\u2001"),or("\u2002"),or("\u2003"),or("\u2004"),or("\u2005"),or("\u2006"),or("\u2007"),or("\u2008"),or("\u2009"),or("\u200A"),or("\u2028"),or("\u2029"),or("\u202F"),or("\u205F"),or("\u3000"),or("\uFEFF")]});var SBe,Ik,CBe,cp,Rse=N(()=>{"use strict";LN();Lse();SBe=/[0-9a-fA-F]/,Ik=/[0-9]/,CBe=/[1-9]/,cp=class{static{o(this,"RegExpParser")}constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":Rg(n,"global");break;case"i":Rg(n,"ignoreCase");break;case"m":Rg(n,"multiLine");break;case"u":Rg(n,"unicode");break;case"y":Rg(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break}lp(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return tx()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;lp(r);break}if(!(e===!0&&r===void 0)&&lp(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),lp(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):tx()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[or(` +`),or("\r"),or("\u2028"),or("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=rx;break;case"D":e=rx,r=!0;break;case"s":e=RN;break;case"S":e=RN,r=!0;break;case"w":e=nx;break;case"W":e=nx,r=!0;break}return lp(e)?{type:"Set",value:e,complement:r}:tx()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=or("\f");break;case"n":e=or(` +`);break;case"r":e=or("\r");break;case"t":e=or(" ");break;case"v":e=or("\v");break}return lp(e)?{type:"Character",value:e}:tx()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:or("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:or(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case` +`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:or(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(DN(n)&&this.isRangeDash()){this.consumeChar("-");let a=this.classAtom(),s=a.type==="Character";if(DN(a)){if(a.value=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}}});var Pc,Nse=N(()=>{"use strict";Pc=class{static{o(this,"BaseRegExpVisitor")}visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}}});var ix=N(()=>{"use strict";Rse();Nse()});var Ok={};hr(Ok,{NEWLINE_REGEXP:()=>MN,escapeRegExp:()=>hp,getCaseInsensitivePattern:()=>ON,getTerminalParts:()=>ABe,isMultilineComment:()=>IN,isWhitespace:()=>Ng,partialMatches:()=>PN,partialRegExp:()=>Ose,whitespaceCharacters:()=>Ise});function ABe(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=Mse.pattern(t),r=[];for(let n of e.value.value)up.reset(t),up.visit(n),r.push({start:up.startRegexp,end:up.endRegex});return r}catch{return[]}}function IN(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),up.reset(t),up.visit(Mse.pattern(t)),up.multiline}catch{return!1}}function Ng(t){let e=typeof t=="string"?new RegExp(t):t;return Ise.some(r=>e.test(r))}function hp(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ON(t){return Array.prototype.map.call(t,e=>/\w/.test(e)?`[${e.toLowerCase()}${e.toUpperCase()}]`:hp(e)).join("")}function PN(t,e){let r=Ose(t),n=e.match(r);return!!n&&n[0].length>0}function Ose(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let a="",s;function l(h){a+=r.substr(n,h),n+=h}o(l,"appendRaw");function u(h){a+="(?:"+r.substr(n,h)+"|$)",n+=h}for(o(u,"appendOptional");n",n)-n+1);break;default:u(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],u(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":l(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?l(s[0].length):u(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:l(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else l(1),a+=i()+"|$)";break;case")":return++n,a;default:u(1);break}return a}return o(i,"process"),new RegExp(i(),t.flags)}var MN,Mse,NN,up,Ise,Mg=N(()=>{"use strict";ix();MN=/\r?\n/gm,Mse=new cp,NN=class extends Pc{static{o(this,"TerminalRegExpVisitor")}constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===` +`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=hp(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!` +`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},up=new NN;o(ABe,"getTerminalParts");o(IN,"isMultilineComment");Ise=`\f +\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");o(Ng,"isWhitespace");o(hp,"escapeRegExp");o(ON,"getCaseInsensitivePattern");o(PN,"partialMatches");o(Ose,"partialRegExp")});var Bk={};hr(Bk,{findAssignment:()=>WN,findNameAssignment:()=>Pk,findNodeForKeyword:()=>UN,findNodeForProperty:()=>sx,findNodesForKeyword:()=>_Be,findNodesForKeywordInternal:()=>HN,findNodesForProperty:()=>GN,getActionAtElement:()=>zse,getActionType:()=>Vse,getAllReachableRules:()=>ax,getCrossReferenceTerminal:()=>$N,getEntryRule:()=>Pse,getExplicitRuleType:()=>Ig,getHiddenRules:()=>Bse,getRuleType:()=>qN,getRuleTypeName:()=>MBe,getTypeName:()=>lx,isArrayCardinality:()=>LBe,isArrayOperator:()=>RBe,isCommentTerminal:()=>zN,isDataType:()=>NBe,isDataTypeRule:()=>ox,isOptionalCardinality:()=>DBe,terminalRegex:()=>Og});function Pse(t){return t.rules.find(e=>Ia(e)&&e.entry)}function Bse(t){return t.rules.filter(e=>lo(e)&&e.hidden)}function ax(t,e){let r=new Set,n=Pse(t);if(!n)return new Set(t.rules);let i=[n].concat(Bse(t));for(let s of i)Fse(s,r,e);let a=new Set;for(let s of t.rules)(r.has(s.name)||lo(s)&&s.hidden)&&a.add(s);return a}function Fse(t,e,r){e.add(t.name),Oc(t).forEach(n=>{if(Ol(n)||r&&Dk(n)){let i=n.rule.ref;i&&!e.has(i.name)&&Fse(i,e,r)}})}function $N(t){if(t.terminal)return t.terminal;if(t.type.ref){let e=Pk(t.type.ref);return e?.terminal}}function zN(t){return t.hidden&&!Ng(Og(t))}function GN(t,e){return!t||!e?[]:VN(t,e,t.astNode,!0)}function sx(t,e,r){if(!t||!e)return;let n=VN(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function VN(t,e,r,n){if(!n){let i=op(t.grammarSource,Il);if(i&&i.feature===e)return[t]}return Rl(t)&&t.astNode===r?t.content.flatMap(i=>VN(i,e,r,!1)):[]}function _Be(t,e){return t?HN(t,e,t?.astNode):[]}function UN(t,e,r){if(!t)return;let n=HN(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function HN(t,e,r){if(t.astNode!==r)return[];if(qo(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=rp(t).iterator(),i,a=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?qo(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}function WN(t){var e;let r=t.astNode;for(;r===((e=t.container)===null||e===void 0?void 0:e.astNode);){let n=op(t.grammarSource,Il);if(n)return n;t=t.container}}function Pk(t){let e=t;return Sk(e)&&(Ou(e.$container)?e=e.$container.$container:Ia(e.$container)?e=e.$container:Mc(e.$container)),$se(t,e,new Map)}function $se(t,e,r){var n;function i(a,s){let l;return op(a,Il)||(l=$se(s,s,r)),r.set(t,l),l}if(o(i,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(let a of Oc(e)){if(Il(a)&&a.feature.toLowerCase()==="name")return r.set(t,a),a;if(Ol(a)&&Ia(a.rule.ref))return i(a,a.rule.ref);if(Ak(a)&&(!((n=a.typeRef)===null||n===void 0)&&n.ref))return i(a,a.typeRef.ref)}}function zse(t){let e=t.$container;if(lf(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let a=r[i];if(Ou(a))return a;{let s=Oc(r[i]).find(Ou);if(s)return s}}}if(K2(e))return zse(e)}function DBe(t,e){return t==="?"||t==="*"||lf(e)&&!!e.guardCondition}function LBe(t){return t==="*"||t==="+"}function RBe(t){return t==="+="}function ox(t){return Gse(t,new Set)}function Gse(t,e){if(e.has(t))return!0;e.add(t);for(let r of Oc(t))if(Ol(r)){if(!r.rule.ref||Ia(r.rule.ref)&&!Gse(r.rule.ref,e))return!1}else{if(Il(r))return!1;if(Ou(r))return!1}return!!t.definition}function NBe(t){return FN(t.type,new Set)}function FN(t,e){if(e.has(t))return!0;if(e.add(t),cN(t))return!1;if(mN(t))return!1;if(yN(t))return t.types.every(r=>FN(r,e));if(Ak(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Q2(r)?FN(r.type,e):!1}else return!1}else return!1}function Ig(t){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e){if(Ia(e))return e.name;if(Ck(e)||Q2(e))return e.name}}}function lx(t){var e;if(Ia(t))return ox(t)?t.name:(e=Ig(t))!==null&&e!==void 0?e:t.name;if(Ck(t)||Q2(t)||gN(t))return t.name;if(Ou(t)){let r=Vse(t);if(r)return r}else if(Sk(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function Vse(t){var e;if(t.inferredType)return t.inferredType.name;if(!((e=t.type)===null||e===void 0)&&e.ref)return lx(t.type.ref)}function MBe(t){var e,r,n;return lo(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":ox(t)?t.name:(n=Ig(t))!==null&&n!==void 0?n:t.name}function qN(t){var e,r,n;return lo(t)?(r=(e=t.type)===null||e===void 0?void 0:e.name)!==null&&r!==void 0?r:"string":(n=Ig(t))!==null&&n!==void 0?n:t.name}function Og(t){let e={s:!1,i:!1,u:!1},r=Pg(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}function Pg(t,e){if(wN(t))return IBe(t);if(kN(t))return OBe(t);if(vN(t))return FBe(t);if(Dk(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Pu(Pg(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead})}else{if(bN(t))return BBe(t);if(EN(t))return PBe(t);if(TN(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Pu(n,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}else{if(SN(t))return Pu(YN,{cardinality:t.cardinality,lookahead:t.lookahead});throw new Error(`Invalid terminal element: ${t?.$type}`)}}}function IBe(t){return Pu(t.elements.map(e=>Pg(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead})}function OBe(t){return Pu(t.elements.map(e=>Pg(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead})}function PBe(t){return Pu(`${YN}*?${Pg(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead})}function BBe(t){return Pu(`(?!${Pg(t.terminal)})${YN}*?`,{cardinality:t.cardinality,lookahead:t.lookahead})}function FBe(t){return t.right?Pu(`[${BN(t.left)}-${BN(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1}):Pu(BN(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,wrap:!1})}function BN(t){return hp(t.value)}function Pu(t,e){var r;return(e.wrap!==!1||e.lookahead)&&(t=`(${(r=e.lookahead)!==null&&r!==void 0?r:""}${t})`),e.cardinality?`${t}${e.cardinality}`:t}var YN,Pl=N(()=>{"use strict";kk();Ic();Nl();as();Ml();Mg();o(Pse,"getEntryRule");o(Bse,"getHiddenRules");o(ax,"getAllReachableRules");o(Fse,"ruleDfs");o($N,"getCrossReferenceTerminal");o(zN,"isCommentTerminal");o(GN,"findNodesForProperty");o(sx,"findNodeForProperty");o(VN,"findNodesForPropertyInternal");o(_Be,"findNodesForKeyword");o(UN,"findNodeForKeyword");o(HN,"findNodesForKeywordInternal");o(WN,"findAssignment");o(Pk,"findNameAssignment");o($se,"findNameAssignmentInternal");o(zse,"getActionAtElement");o(DBe,"isOptionalCardinality");o(LBe,"isArrayCardinality");o(RBe,"isArrayOperator");o(ox,"isDataTypeRule");o(Gse,"isDataTypeRuleInternal");o(NBe,"isDataType");o(FN,"isDataTypeInternal");o(Ig,"getExplicitRuleType");o(lx,"getTypeName");o(Vse,"getActionType");o(MBe,"getRuleTypeName");o(qN,"getRuleType");o(Og,"terminalRegex");YN=/[\s\S]/.source;o(Pg,"abstractElementToRegex");o(IBe,"terminalAlternativesToRegex");o(OBe,"terminalGroupToRegex");o(PBe,"untilTokenToRegex");o(BBe,"negateTokenToRegex");o(FBe,"characterRangeToRegex");o(BN,"keywordToRegex");o(Pu,"withCardinality")});function XN(t){let e=[],r=t.Grammar;for(let n of r.rules)lo(n)&&zN(n)&&IN(Og(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:Tk}}var jN=N(()=>{"use strict";Ml();Pl();Mg();Ic();o(XN,"createGrammarConfig")});var KN=N(()=>{"use strict"});function Bg(t){console&&console.error&&console.error(`Error: ${t}`)}function cx(t){console&&console.warn&&console.warn(`Warning: ${t}`)}var Use=N(()=>{"use strict";o(Bg,"PRINT_ERROR");o(cx,"PRINT_WARNING")});function ux(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}var Hse=N(()=>{"use strict";o(ux,"timer")});function hx(t){function e(){}o(e,"FakeConstructor"),e.prototype=t;let r=new e;function n(){return typeof r.bar}return o(n,"fakeAccess"),n(),n(),t;(0,eval)(t)}var Wse=N(()=>{"use strict";o(hx,"toFastProperties")});var Fg=N(()=>{"use strict";Use();Hse();Wse()});function $Be(t){return zBe(t)?t.LABEL:t.name}function zBe(t){return bi(t.LABEL)&&t.LABEL!==""}function Fk(t){return Je(t,$g)}function $g(t){function e(r){return Je(r,$g)}if(o(e,"convertDefinition"),t instanceof sn){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return bi(t.label)&&(r.label=t.label),r}else{if(t instanceof _n)return{type:"Alternative",definition:e(t.definition)};if(t instanceof on)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Dn)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Ln)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:$g(new kr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof bn)return{type:"RepetitionWithSeparator",idx:t.idx,separator:$g(new kr({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Or)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Tn)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof kr){let r={type:"Terminal",name:t.terminalType.name,label:$Be(t.terminalType),idx:t.idx};bi(t.label)&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=Go(n)?n.source:n),r}else{if(t instanceof ss)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}var co,sn,ss,_n,on,Dn,Ln,Or,bn,Tn,kr,$k=N(()=>{"use strict";Yt();o($Be,"tokenLabel");o(zBe,"hasTokenLabel");co=class{static{o(this,"AbstractProduction")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),Ae(this.definition,r=>{r.accept(e)})}},sn=class extends co{static{o(this,"NonTerminal")}constructor(e){super([]),this.idx=1,fa(this,Fs(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},ss=class extends co{static{o(this,"Rule")}constructor(e){super(e.definition),this.orgText="",fa(this,Fs(e,r=>r!==void 0))}},_n=class extends co{static{o(this,"Alternative")}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,fa(this,Fs(e,r=>r!==void 0))}},on=class extends co{static{o(this,"Option")}constructor(e){super(e.definition),this.idx=1,fa(this,Fs(e,r=>r!==void 0))}},Dn=class extends co{static{o(this,"RepetitionMandatory")}constructor(e){super(e.definition),this.idx=1,fa(this,Fs(e,r=>r!==void 0))}},Ln=class extends co{static{o(this,"RepetitionMandatoryWithSeparator")}constructor(e){super(e.definition),this.idx=1,fa(this,Fs(e,r=>r!==void 0))}},Or=class extends co{static{o(this,"Repetition")}constructor(e){super(e.definition),this.idx=1,fa(this,Fs(e,r=>r!==void 0))}},bn=class extends co{static{o(this,"RepetitionWithSeparator")}constructor(e){super(e.definition),this.idx=1,fa(this,Fs(e,r=>r!==void 0))}},Tn=class extends co{static{o(this,"Alternation")}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,fa(this,Fs(e,r=>r!==void 0))}},kr=class{static{o(this,"Terminal")}constructor(e){this.idx=1,fa(this,Fs(e,r=>r!==void 0))}accept(e){e.visit(this)}};o(Fk,"serializeGrammar");o($g,"serializeProduction")});var os,qse=N(()=>{"use strict";$k();os=class{static{o(this,"GAstVisitor")}visit(e){let r=e;switch(r.constructor){case sn:return this.visitNonTerminal(r);case _n:return this.visitAlternative(r);case on:return this.visitOption(r);case Dn:return this.visitRepetitionMandatory(r);case Ln:return this.visitRepetitionMandatoryWithSeparator(r);case bn:return this.visitRepetitionWithSeparator(r);case Or:return this.visitRepetition(r);case Tn:return this.visitAlternation(r);case kr:return this.visitTerminal(r);case ss:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}}});function QN(t){return t instanceof _n||t instanceof on||t instanceof Or||t instanceof Dn||t instanceof Ln||t instanceof bn||t instanceof kr||t instanceof ss}function fp(t,e=[]){return t instanceof on||t instanceof Or||t instanceof bn?!0:t instanceof Tn?P2(t.definition,n=>fp(n,e)):t instanceof sn&&qn(e,t)?!1:t instanceof co?(t instanceof sn&&e.push(t),Na(t.definition,n=>fp(n,e))):!1}function ZN(t){return t instanceof Tn}function zs(t){if(t instanceof sn)return"SUBRULE";if(t instanceof on)return"OPTION";if(t instanceof Tn)return"OR";if(t instanceof Dn)return"AT_LEAST_ONE";if(t instanceof Ln)return"AT_LEAST_ONE_SEP";if(t instanceof bn)return"MANY_SEP";if(t instanceof Or)return"MANY";if(t instanceof kr)return"CONSUME";throw Error("non exhaustive match")}var Yse=N(()=>{"use strict";Yt();$k();o(QN,"isSequenceProd");o(fp,"isOptionalProd");o(ZN,"isBranchingProd");o(zs,"getProductionDslName")});var ls=N(()=>{"use strict";$k();qse();Yse()});function Xse(t,e,r){return[new on({definition:[new kr({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}var Bu,zk=N(()=>{"use strict";Yt();ls();Bu=class{static{o(this,"RestWalker")}walk(e,r=[]){Ae(e.definition,(n,i)=>{let a=xi(e.definition,i+1);if(n instanceof sn)this.walkProdRef(n,a,r);else if(n instanceof kr)this.walkTerminal(n,a,r);else if(n instanceof _n)this.walkFlat(n,a,r);else if(n instanceof on)this.walkOption(n,a,r);else if(n instanceof Dn)this.walkAtLeastOne(n,a,r);else if(n instanceof Ln)this.walkAtLeastOneSep(n,a,r);else if(n instanceof bn)this.walkManySep(n,a,r);else if(n instanceof Or)this.walkMany(n,a,r);else if(n instanceof Tn)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new on({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=Xse(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new on({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=Xse(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);Ae(e.definition,a=>{let s=new _n({definition:[a]});this.walk(s,i)})}};o(Xse,"restForRepetitionWithSeparator")});function dp(t){if(t instanceof sn)return dp(t.referencedRule);if(t instanceof kr)return UBe(t);if(QN(t))return GBe(t);if(ZN(t))return VBe(t);throw Error("non exhaustive match")}function GBe(t){let e=[],r=t.definition,n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=fp(a),e=e.concat(dp(a)),n=n+1,i=r.length>n;return zm(e)}function VBe(t){let e=Je(t.definition,r=>dp(r));return zm(Wr(e))}function UBe(t){return[t.terminalType]}var JN=N(()=>{"use strict";Yt();ls();o(dp,"first");o(GBe,"firstForSequence");o(VBe,"firstForBranching");o(UBe,"firstForTerminal")});var Gk,eM=N(()=>{"use strict";Gk="_~IN~_"});function jse(t){let e={};return Ae(t,r=>{let n=new tM(r).startWalking();fa(e,n)}),e}function HBe(t,e){return t.name+e+Gk}var tM,Kse=N(()=>{"use strict";zk();JN();Yt();eM();ls();tM=class extends Bu{static{o(this,"ResyncFollowsWalker")}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=HBe(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new _n({definition:a}),l=dp(s);this.follows[i]=l}};o(jse,"computeAllProdsFollows");o(HBe,"buildBetweenProdsFollowPrefix")});function zg(t){let e=t.toString();if(Vk.hasOwnProperty(e))return Vk[e];{let r=WBe.pattern(e);return Vk[e]=r,r}}function Qse(){Vk={}}var Vk,WBe,Uk=N(()=>{"use strict";ix();Vk={},WBe=new cp;o(zg,"getRegExpAst");o(Qse,"clearRegExpParserCache")});function eoe(t,e=!1){try{let r=zg(t);return rM(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Jse)e&&cx(`${fx} Unable to optimize: < ${t.toString()} > + Complement Sets cannot be automatically optimized. + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=` + This will disable the lexer's first char optimizations. + See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Bg(`${fx} + Failed parsing: < ${t.toString()} > + Using the @chevrotain/regexp-to-ast library + Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function rM(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i{if(typeof u=="number")Hk(u,e,r);else{let h=u;if(r===!0)for(let f=h.from;f<=h.to;f++)Hk(f,e,r);else{for(let f=h.from;f<=h.to&&f=Gg){let f=h.from>=Gg?h.from:Gg,d=h.to,p=Bc(f),m=Bc(d);for(let g=p;g<=m;g++)e[g]=g}}}});break;case"Group":rM(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let l=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&nM(s)===!1||s.type!=="Group"&&l===!1)break}break;default:throw Error("non exhaustive match!")}return br(e)}function Hk(t,e,r){let n=Bc(t);e[n]=n,r===!0&&qBe(t,e)}function qBe(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=Bc(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let a=Bc(i.charCodeAt(0));e[a]=a}}}function Zse(t,e){return is(t.value,r=>{if(typeof r=="number")return qn(e,r);{let n=r;return is(e,i=>n.from<=i&&i<=n.to)!==void 0}})}function nM(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Pt(t.value)?Na(t.value,nM):nM(t.value):!1}function Wk(t,e){if(e instanceof RegExp){let r=zg(e),n=new iM(t);return n.visit(r),n.found}else return is(e,r=>qn(t,r.charCodeAt(0)))!==void 0}var Jse,fx,iM,toe=N(()=>{"use strict";ix();Yt();Fg();Uk();aM();Jse="Complement Sets are not supported for first char optimization",fx=`Unable to use "first char" lexer optimizations: +`;o(eoe,"getOptimizedStartCodesIndices");o(rM,"firstCharOptimizedIndices");o(Hk,"addOptimizedIdxToResult");o(qBe,"handleIgnoreCase");o(Zse,"findCode");o(nM,"isWholeOptional");iM=class extends Pc{static{o(this,"CharCodeFinder")}constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return}super.visitChildren(e)}}visitCharacter(e){qn(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?Zse(e,this.targetCharCodes)===void 0&&(this.found=!0):Zse(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};o(Wk,"canMatchCharCode")});function ioe(t,e){e=Jh(e,{useSticky:oM,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` +`],tracer:o((b,T)=>T(),"tracer")});let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{uFe()});let n;r("Reject Lexer.NA",()=>{n=tf(t,b=>b[pp]===Xn.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=Je(n,b=>{let T=b[pp];if(Go(T)){let C=T.source;return C.length===1&&C!=="^"&&C!=="$"&&C!=="."&&!T.ignoreCase?C:C.length===2&&C[0]==="\\"&&!qn(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],C[1])?C[1]:e.useSticky?noe(T):roe(T)}else{if(Ci(T))return i=!0,{exec:T};if(typeof T=="object")return i=!0,T;if(typeof T=="string"){if(T.length===1)return T;{let C=T.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),w=new RegExp(C);return e.useSticky?noe(w):roe(w)}}else throw Error("non exhaustive match")}})});let s,l,u,h,f;r("misc mapping",()=>{s=Je(n,b=>b.tokenTypeIdx),l=Je(n,b=>{let T=b.GROUP;if(T!==Xn.SKIPPED){if(bi(T))return T;if(gr(T))return!1;throw Error("non exhaustive match")}}),u=Je(n,b=>{let T=b.LONGER_ALT;if(T)return Pt(T)?Je(T,w=>rk(n,w)):[rk(n,T)]}),h=Je(n,b=>b.PUSH_MODE),f=Je(n,b=>Bt(b,"POP_MODE"))});let d;r("Line Terminator Handling",()=>{let b=foe(e.lineTerminatorCharacters);d=Je(n,T=>!1),e.positionTracking!=="onlyOffset"&&(d=Je(n,T=>Bt(T,"LINE_BREAKS")?!!T.LINE_BREAKS:hoe(T,b)===!1&&Wk(b,T.PATTERN)))});let p,m,g,y;r("Misc Mapping #2",()=>{p=Je(n,coe),m=Je(a,lFe),g=Yr(n,(b,T)=>{let C=T.GROUP;return bi(C)&&C!==Xn.SKIPPED&&(b[C]=[]),b},{}),y=Je(a,(b,T)=>({pattern:a[T],longerAlt:u[T],canLineTerminator:d[T],isCustom:p[T],short:m[T],group:l[T],push:h[T],pop:f[T],tokenTypeIdx:s[T],tokenType:n[T]}))});let v=!0,x=[];return e.safeMode||r("First Char Optimization",()=>{x=Yr(n,(b,T,C)=>{if(typeof T.PATTERN=="string"){let w=T.PATTERN.charCodeAt(0),E=Bc(w);sM(b,E,y[C])}else if(Pt(T.START_CHARS_HINT)){let w;Ae(T.START_CHARS_HINT,E=>{let _=typeof E=="string"?E.charCodeAt(0):E,A=Bc(_);w!==A&&(w=A,sM(b,A,y[C]))})}else if(Go(T.PATTERN))if(T.PATTERN.unicode)v=!1,e.ensureOptimizations&&Bg(`${fx} Unable to analyze < ${T.PATTERN.toString()} > pattern. + The regexp unicode flag is not currently supported by the regexp-to-ast library. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let w=eoe(T.PATTERN,e.ensureOptimizations);fr(w)&&(v=!1),Ae(w,E=>{sM(b,E,y[C])})}else e.ensureOptimizations&&Bg(`${fx} TokenType: <${T.name}> is using a custom token pattern without providing parameter. + This will disable the lexer's first char optimizations. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:y,charCodeToPatternIdxToConfig:x,hasCustom:i,canBeOptimized:v}}function aoe(t,e){let r=[],n=XBe(t);r=r.concat(n.errors);let i=jBe(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(YBe(a)),r=r.concat(nFe(a)),r=r.concat(iFe(a,e)),r=r.concat(aFe(a)),r}function YBe(t){let e=[],r=qr(t,n=>Go(n[pp]));return e=e.concat(QBe(r)),e=e.concat(eFe(r)),e=e.concat(tFe(r)),e=e.concat(rFe(r)),e=e.concat(ZBe(r)),e}function XBe(t){let e=qr(t,i=>!Bt(i,pp)),r=Je(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Yn.MISSING_PATTERN,tokenTypes:[i]})),n=ef(t,e);return{errors:r,valid:n}}function jBe(t){let e=qr(t,i=>{let a=i[pp];return!Go(a)&&!Ci(a)&&!Bt(a,"exec")&&!bi(a)}),r=Je(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Yn.INVALID_PATTERN,tokenTypes:[i]})),n=ef(t,e);return{errors:r,valid:n}}function QBe(t){class e extends Pc{static{o(this,"EndAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitEndAnchor(a){this.found=!0}}let r=qr(t,i=>{let a=i.PATTERN;try{let s=zg(a),l=new e;return l.visit(s),l.found}catch{return KBe.test(a.source)}});return Je(r,i=>({message:`Unexpected RegExp Anchor Error: + Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$' + See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Yn.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function ZBe(t){let e=qr(t,n=>n.PATTERN.test(""));return Je(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Yn.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}function eFe(t){class e extends Pc{static{o(this,"StartAnchorFinder")}constructor(){super(...arguments),this.found=!1}visitStartAnchor(a){this.found=!0}}let r=qr(t,i=>{let a=i.PATTERN;try{let s=zg(a),l=new e;return l.visit(s),l.found}catch{return JBe.test(a.source)}});return Je(r,i=>({message:`Unexpected RegExp Anchor Error: + Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^' + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Yn.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function tFe(t){let e=qr(t,n=>{let i=n[pp];return i instanceof RegExp&&(i.multiline||i.global)});return Je(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Yn.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function rFe(t){let e=[],r=Je(t,a=>Yr(t,(s,l)=>(a.PATTERN.source===l.PATTERN.source&&!qn(e,l)&&l.PATTERN!==Xn.NA&&(e.push(l),s.push(l)),s),[]));r=Sc(r);let n=qr(r,a=>a.length>1);return Je(n,a=>{let s=Je(a,u=>u.name);return{message:`The same RegExp pattern ->${ra(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:Yn.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}function nFe(t){let e=qr(t,n=>{if(!Bt(n,"GROUP"))return!1;let i=n.GROUP;return i!==Xn.SKIPPED&&i!==Xn.NA&&!bi(i)});return Je(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Yn.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function iFe(t,e){let r=qr(t,i=>i.PUSH_MODE!==void 0&&!qn(e,i.PUSH_MODE));return Je(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Yn.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function aFe(t){let e=[],r=Yr(t,(n,i,a)=>{let s=i.PATTERN;return s===Xn.NA||(bi(s)?n.push({str:s,idx:a,tokenType:i}):Go(s)&&oFe(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return Ae(t,(n,i)=>{Ae(r,({str:a,idx:s,tokenType:l})=>{if(i${l.name}<- can never be matched. +Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition. +See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:u,type:Yn.UNREACHABLE_PATTERN,tokenTypes:[n,l]})}})}),e}function sFe(t,e){if(Go(e)){let r=e.exec(t);return r!==null&&r.index===0}else{if(Ci(e))return e(t,0,[],{});if(Bt(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function oFe(t){return is([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}function roe(t){let e=t.ignoreCase?"i":"";return new RegExp(`^(?:${t.source})`,e)}function noe(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function soe(t,e,r){let n=[];return Bt(t,Vg)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Vg+`> property in its definition +`,type:Yn.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Bt(t,qk)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+qk+`> property in its definition +`,type:Yn.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Bt(t,qk)&&Bt(t,Vg)&&!Bt(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Vg}: <${t.defaultMode}>which does not exist +`,type:Yn.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Bt(t,qk)&&Ae(t.modes,(i,a)=>{Ae(i,(s,l)=>{if(gr(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${l}> +`,type:Yn.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Bt(s,"LONGER_ALT")){let u=Pt(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];Ae(u,h=>{!gr(h)&&!qn(i,h)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${h.name}> on token <${s.name}> outside of mode <${a}> +`,type:Yn.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}function ooe(t,e,r){let n=[],i=!1,a=Sc(Wr(br(t.modes))),s=tf(a,u=>u[pp]===Xn.NA),l=foe(r);return e&&Ae(s,u=>{let h=hoe(u,l);if(h!==!1){let d={message:cFe(u,h),type:h.issue,tokenType:u};n.push(d)}else Bt(u,"LINE_BREAKS")?u.LINE_BREAKS===!0&&(i=!0):Wk(l,u.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found. + This Lexer has been defined to track line and column information, + But none of the Token Types can be identified as matching a line terminator. + See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS + for details.`,type:Yn.NO_LINE_BREAKS_FLAGS}),n}function loe(t){let e={},r=$r(t);return Ae(r,n=>{let i=t[n];if(Pt(i))e[n]=[];else throw Error("non exhaustive match")}),e}function coe(t){let e=t.PATTERN;if(Go(e))return!1;if(Ci(e))return!0;if(Bt(e,"exec"))return!0;if(bi(e))return!1;throw Error("non exhaustive match")}function lFe(t){return bi(t)&&t.length===1?t.charCodeAt(0):!1}function hoe(t,e){if(Bt(t,"LINE_BREAKS"))return!1;if(Go(t.PATTERN)){try{Wk(e,t.PATTERN)}catch(r){return{issue:Yn.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(bi(t.PATTERN))return!1;if(coe(t))return{issue:Yn.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function cFe(t,e){if(e.issue===Yn.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern. + The problem is in the <${t.name}> Token Type + Root cause: ${e.errMsg}. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Yn.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. + The problem is in the <${t.name}> Token Type + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function foe(t){return Je(t,r=>bi(r)?r.charCodeAt(0):r)}function sM(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}function Bc(t){return t255?255+~~(t/255):t}}var pp,Vg,qk,oM,KBe,JBe,uoe,Gg,Yk,aM=N(()=>{"use strict";ix();dx();Yt();Fg();toe();Uk();pp="PATTERN",Vg="defaultMode",qk="modes",oM=typeof new RegExp("(?:)").sticky=="boolean";o(ioe,"analyzeTokenTypes");o(aoe,"validatePatterns");o(YBe,"validateRegExpPattern");o(XBe,"findMissingPatterns");o(jBe,"findInvalidPatterns");KBe=/[^\\][$]/;o(QBe,"findEndOfInputAnchor");o(ZBe,"findEmptyMatchRegExps");JBe=/[^\\[][\^]|^\^/;o(eFe,"findStartOfInputAnchor");o(tFe,"findUnsupportedFlags");o(rFe,"findDuplicatePatterns");o(nFe,"findInvalidGroupType");o(iFe,"findModesThatDoNotExist");o(aFe,"findUnreachablePatterns");o(sFe,"testTokenType");o(oFe,"noMetaChar");o(roe,"addStartOfInput");o(noe,"addStickyFlag");o(soe,"performRuntimeChecks");o(ooe,"performWarningRuntimeChecks");o(loe,"cloneEmptyGroups");o(coe,"isCustomPattern");o(lFe,"isShortPattern");uoe={test:o(function(t){let e=t.length;for(let r=this.lastIndex;r{r.isParent=r.categoryMatches.length>0})}function hFe(t){let e=nn(t),r=t,n=!0;for(;n;){r=Sc(Wr(Je(r,a=>a.CATEGORIES)));let i=ef(r,e);e=e.concat(i),fr(i)?n=!1:r=i}return e}function fFe(t){Ae(t,e=>{lM(e)||(moe[doe]=e,e.tokenTypeIdx=doe++),poe(e)&&!Pt(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),poe(e)||(e.CATEGORIES=[]),mFe(e)||(e.categoryMatches=[]),gFe(e)||(e.categoryMatchesMap={})})}function dFe(t){Ae(t,e=>{e.categoryMatches=[],Ae(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(moe[n].tokenTypeIdx)})})}function pFe(t){Ae(t,e=>{goe([],e)})}function goe(t,e){Ae(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),Ae(e.CATEGORIES,r=>{let n=t.concat(e);qn(n,r)||goe(n,r)})}function lM(t){return Bt(t,"tokenTypeIdx")}function poe(t){return Bt(t,"CATEGORIES")}function mFe(t){return Bt(t,"categoryMatches")}function gFe(t){return Bt(t,"categoryMatchesMap")}function yoe(t){return Bt(t,"tokenTypeIdx")}var doe,moe,mp=N(()=>{"use strict";Yt();o(Fu,"tokenStructuredMatcher");o(Ug,"tokenStructuredMatcherNoCategories");doe=1,moe={};o($u,"augmentTokenTypes");o(hFe,"expandCategories");o(fFe,"assignTokenDefaultProps");o(dFe,"assignCategoriesTokensProp");o(pFe,"assignCategoriesMapProp");o(goe,"singleAssignCategoriesToksMap");o(lM,"hasShortKeyProperty");o(poe,"hasCategoriesProperty");o(mFe,"hasExtendingTokensTypesProperty");o(gFe,"hasExtendingTokensTypesMapProperty");o(yoe,"isTokenType")});var Hg,cM=N(()=>{"use strict";Hg={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}}});var Yn,px,Xn,dx=N(()=>{"use strict";aM();Yt();Fg();mp();cM();Uk();(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Yn||(Yn={}));px={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` +`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Hg,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(px);Xn=class{static{o(this,"Lexer")}constructor(e,r=px){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${i}>`);let{time:l,value:u}=ux(a),h=l>10?console.warn:console.log;return this.traceInitIndent time: ${l}ms`),this.traceInitIndent--,u}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. +a boolean 2nd argument is no longer supported`);this.config=fa({},px,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===px.lineTerminatorsPattern)this.config.lineTerminatorsPattern=uoe;else if(this.config.lineTerminatorCharacters===px.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. + For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Pt(e)?i={modes:{defaultMode:nn(e)},defaultMode:Vg}:(a=!1,i=nn(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(soe(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(ooe(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Ae(i.modes,(l,u)=>{i.modes[u]=tf(l,h=>gr(h))});let s=$r(i.modes);if(Ae(i.modes,(l,u)=>{this.TRACE_INIT(`Mode: <${u}> processing`,()=>{if(this.modes.push(u),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(aoe(l,s))}),fr(this.lexerDefinitionErrors)){$u(l);let h;this.TRACE_INIT("analyzeTokenTypes",()=>{h=ioe(l,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[u]=h.patternIdxToConfig,this.charCodeToPatternIdxToConfig[u]=h.charCodeToPatternIdxToConfig,this.emptyGroups=fa({},this.emptyGroups,h.emptyGroups),this.hasCustom=h.hasCustom||this.hasCustom,this.canModeBeOptimized[u]=h.canBeOptimized}})}),this.defaultMode=i.defaultMode,!fr(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){let u=Je(this.lexerDefinitionErrors,h=>h.message).join(`----------------------- +`);throw new Error(`Errors detected in definition of Lexer: +`+u)}Ae(this.lexerDefinitionWarning,l=>{cx(l.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(oM?(this.chopInput=Ji,this.match=this.matchWithTest):(this.updateLastIndex=ai,this.match=this.matchWithExec),a&&(this.handleModes=ai),this.trackStartLines===!1&&(this.computeNewColumn=Ji),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=ai),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let l=Yr(this.canModeBeOptimized,(u,h,f)=>(h===!1&&u.push(f),u),[]);if(r.ensureOptimizations&&!fr(l))throw Error(`Lexer Modes: < ${l.join(", ")} > cannot be optimized. + Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. + Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Qse()}),this.TRACE_INIT("toFastProperties",()=>{hx(this)})})}tokenize(e,r=this.defaultMode){if(!fr(this.lexerDefinitionErrors)){let i=Je(this.lexerDefinitionErrors,a=>a.message).join(`----------------------- +`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: +`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,l,u,h,f,d,p,m,g,y,v,x,b,T=e,C=T.length,w=0,E=0,_=this.hasCustom?0:Math.floor(e.length/10),A=new Array(_),D=[],O=this.trackStartLines?1:void 0,R=this.trackStartLines?1:void 0,k=loe(this.emptyGroups),L=this.trackStartLines,S=this.config.lineTerminatorsPattern,I=0,M=[],P=[],B=[],F=[];Object.freeze(F);let z;function $(){return M}o($,"getPossiblePatternsSlow");function U(Z){let ue=Bc(Z),Q=P[ue];return Q===void 0?F:Q}o(U,"getPossiblePatternsOptimized");let K=o(Z=>{if(B.length===1&&Z.tokenType.PUSH_MODE===void 0){let ue=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(Z);D.push({offset:Z.startOffset,line:Z.startLine,column:Z.startColumn,length:Z.image.length,message:ue})}else{B.pop();let ue=da(B);M=this.patternIdxToConfig[ue],P=this.charCodeToPatternIdxToConfig[ue],I=M.length;let Q=this.canModeBeOptimized[ue]&&this.config.safeMode===!1;P&&Q?z=U:z=$}},"pop_mode");function ee(Z){B.push(Z),P=this.charCodeToPatternIdxToConfig[Z],M=this.patternIdxToConfig[Z],I=M.length,I=M.length;let ue=this.canModeBeOptimized[Z]&&this.config.safeMode===!1;P&&ue?z=U:z=$}o(ee,"push_mode"),ee.call(this,r);let Y,ce=this.config.recoveryEnabled;for(;wu.length){u=s,h=f,Y=he;break}}}break}}if(u!==null){if(d=u.length,p=Y.group,p!==void 0&&(m=Y.tokenTypeIdx,g=this.createTokenInstance(u,w,m,Y.tokenType,O,R,d),this.handlePayload(g,h),p===!1?E=this.addToken(A,E,g):k[p].push(g)),e=this.chopInput(e,d),w=w+d,R=this.computeNewColumn(R,d),L===!0&&Y.canLineTerminator===!0){let j=0,ne,te;S.lastIndex=0;do ne=S.test(u),ne===!0&&(te=S.lastIndex-1,j++);while(ne===!0);j!==0&&(O=O+j,R=d-te,this.updateTokenEndLineColumnLocation(g,p,te,j,O,R,d))}this.handleModes(Y,K,ee,g)}else{let j=w,ne=O,te=R,he=ce===!1;for(;he===!1&&w{"use strict";Yt();dx();mp();o(zu,"tokenLabel");o(uM,"hasTokenLabel");yFe="parent",voe="categories",xoe="label",boe="group",Toe="push_mode",woe="pop_mode",koe="longer_alt",Eoe="line_breaks",Soe="start_chars_hint";o(cf,"createToken");o(vFe,"createTokenInternal");uo=cf({name:"EOF",pattern:Xn.NA});$u([uo]);o(Gu,"createTokenInstance");o(mx,"tokenMatcher")});var Vu,Coe,Bl,Wg=N(()=>{"use strict";gp();Yt();ls();Vu={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${uM(t)?`--> ${zu(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let a="Expecting: ",l=` +but found: '`+ra(e).image+"'";if(n)return a+n+l;{let u=Yr(t,(p,m)=>p.concat(m),[]),h=Je(u,p=>`[${Je(p,m=>zu(m)).join(", ")}]`),d=`one of these possible Token sequences: +${Je(h,(p,m)=>` ${m+1}. ${p}`).join(` +`)}`;return a+d+l}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=` +but found: '`+ra(e).image+"'";if(r)return i+r+s;{let u=`expecting at least one iteration which starts with one of these possible Token sequences:: + <${Je(t,h=>`[${Je(h,f=>zu(f)).join(",")}]`).join(" ,")}>`;return i+u+s}}};Object.freeze(Vu);Coe={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- +inside top level rule: ->`+t.name+"<-"}},Bl={buildDuplicateFoundError(t,e){function r(f){return f instanceof kr?f.terminalType.name:f instanceof sn?f.nonTerminalName:""}o(r,"getExtraProductionArgument");let n=t.name,i=ra(e),a=i.idx,s=zs(i),l=r(i),u=a>0,h=`->${s}${u?a:""}<- ${l?`with argument: ->${l}<-`:""} + appears more than once (${e.length} times) in the top level rule: ->${n}<-. + For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES + `;return h=h.replace(/[ \t]+/g," "),h=h.replace(/\s\s+/g,` +`),h},buildNamespaceConflictError(t){return`Namespace conflict found in grammar. +The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>. +To resolve this make sure each Terminal and Non-Terminal names are unique +This is easy to accomplish by using the convention that Terminal names start with an uppercase letter +and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=Je(t.prefixPath,i=>zu(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix +in inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX +For Further details.`},buildAlternationAmbiguityError(t){let e=Je(t.prefixPath,i=>zu(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,n},buildEmptyRepetitionError(t){let e=zs(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens. +This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in inside <${t.topLevelRule.name}> Rule. +Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives: + inside <${t.topLevelRule.name}> Rule. + has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){let e=t.topLevelRule.name,r=Je(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar. +rule: <${e}> can be invoked from itself (directly or indirectly) +without consuming any Tokens. The grammar path that causes this is: + ${n} + To fix this refactor your grammar to remove the left recursion. +see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof ss?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}}});function Aoe(t,e){let r=new hM(t,e);return r.resolveRefs(),r.errors}var hM,_oe=N(()=>{"use strict";Gs();Yt();ls();o(Aoe,"resolveGrammar");hM=class extends os{static{o(this,"GastRefResolverVisitor")}constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Ae(br(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:zi.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}}});function Qk(t,e,r=[]){r=nn(r);let n=[],i=0;function a(l){return l.concat(xi(t,i+1))}o(a,"remainingPathWith");function s(l){let u=Qk(a(l),e,r);return n.concat(u)}for(o(s,"getAlternativesForProd");r.length{fr(u.definition)===!1&&(n=s(u.definition))}),n;if(l instanceof kr)r.push(l.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:xi(t,i)}),n}function Zk(t,e,r,n){let i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE",l=!1,u=e.length,h=u-n-1,f=[],d=[];for(d.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!fr(d);){let p=d.pop();if(p===s){l&&da(d).idx<=h&&d.pop();continue}let m=p.def,g=p.idx,y=p.ruleStack,v=p.occurrenceStack;if(fr(m))continue;let x=m[0];if(x===i){let b={idx:g,def:xi(m),ruleStack:Iu(y),occurrenceStack:Iu(v)};d.push(b)}else if(x instanceof kr)if(g=0;b--){let T=x.definition[b],C={idx:g,def:T.definition.concat(xi(m)),ruleStack:y,occurrenceStack:v};d.push(C),d.push(s)}else if(x instanceof _n)d.push({idx:g,def:x.definition.concat(xi(m)),ruleStack:y,occurrenceStack:v});else if(x instanceof ss)d.push(xFe(x,g,y,v));else throw Error("non exhaustive match")}return f}function xFe(t,e,r,n){let i=nn(r);i.push(t.name);let a=nn(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}var fM,Xk,qg,jk,gx,Kk,yx,vx=N(()=>{"use strict";Yt();JN();zk();ls();fM=class extends Bu{static{o(this,"AbstractNextPossibleTokensWalker")}constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=nn(this.path.ruleStack).reverse(),this.occurrenceStack=nn(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){fr(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Xk=class extends fM{static{o(this,"NextAfterTokenWalker")}constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),a=new _n({definition:i});this.possibleTokTypes=dp(a),this.found=!0}}},qg=class extends Bu{static{o(this,"AbstractNextTerminalAfterProductionWalker")}constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},jk=class extends qg{static{o(this,"NextTerminalAfterManyWalker")}walkMany(e,r,n){if(e.idx===this.occurrence){let i=ra(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof kr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},gx=class extends qg{static{o(this,"NextTerminalAfterManySepWalker")}walkManySep(e,r,n){if(e.idx===this.occurrence){let i=ra(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof kr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},Kk=class extends qg{static{o(this,"NextTerminalAfterAtLeastOneWalker")}walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=ra(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof kr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},yx=class extends qg{static{o(this,"NextTerminalAfterAtLeastOneSepWalker")}walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=ra(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof kr&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};o(Qk,"possiblePathsFrom");o(Zk,"nextPossibleTokensAfter");o(xFe,"expandTopLevelRule")});function xx(t){if(t instanceof on||t==="Option")return jn.OPTION;if(t instanceof Or||t==="Repetition")return jn.REPETITION;if(t instanceof Dn||t==="RepetitionMandatory")return jn.REPETITION_MANDATORY;if(t instanceof Ln||t==="RepetitionMandatoryWithSeparator")return jn.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof bn||t==="RepetitionWithSeparator")return jn.REPETITION_WITH_SEPARATOR;if(t instanceof Tn||t==="Alternation")return jn.ALTERNATION;throw Error("non exhaustive match")}function eE(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=xx(n);return a===jn.ALTERNATION?Yg(e,r,i):Xg(e,r,a,i)}function Loe(t,e,r,n,i,a){let s=Yg(t,e,r),l=Poe(s)?Ug:Fu;return a(s,n,l,i)}function Roe(t,e,r,n,i,a){let s=Xg(t,e,i,r),l=Poe(s)?Ug:Fu;return a(s[0],l,n)}function Noe(t,e,r,n){let i=t.length,a=Na(t,s=>Na(s,l=>l.length===1));if(e)return function(s){let l=Je(s,u=>u.GATE);for(let u=0;uWr(u)),l=Yr(s,(u,h,f)=>(Ae(h,d=>{Bt(u,d.tokenTypeIdx)||(u[d.tokenTypeIdx]=f),Ae(d.categoryMatches,p=>{Bt(u,p)||(u[p]=f)})}),u),{});return function(){let u=this.LA(1);return l[u.tokenTypeIdx]}}else return function(){for(let s=0;sa.length===1),i=t.length;if(n&&!r){let a=Wr(t);if(a.length===1&&fr(a[0].categoryMatches)){let l=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===l}}else{let s=Yr(a,(l,u,h)=>(l[u.tokenTypeIdx]=!0,Ae(u.categoryMatches,f=>{l[f]=!0}),l),[]);return function(){let l=this.LA(1);return s[l.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;aQk([s],1)),n=Doe(r.length),i=Je(r,s=>{let l={};return Ae(s,u=>{let h=dM(u.partialPath);Ae(h,f=>{l[f]=!0})}),l}),a=r;for(let s=1;s<=e;s++){let l=a;a=Doe(l.length);for(let u=0;u{let x=dM(v.partialPath);Ae(x,b=>{i[u][b]=!0})})}}}}return n}function Yg(t,e,r,n){let i=new Jk(t,jn.ALTERNATION,n);return e.accept(i),Ioe(i.result,r)}function Xg(t,e,r,n){let i=new Jk(t,r);e.accept(i);let a=i.result,l=new pM(e,t,r).startWalking(),u=new _n({definition:a}),h=new _n({definition:l});return Ioe([u,h],n)}function tE(t,e){e:for(let r=0;r{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function Poe(t){return Na(t,e=>Na(e,r=>Na(r,n=>fr(n.categoryMatches))))}var jn,pM,Jk,jg=N(()=>{"use strict";Yt();vx();zk();mp();ls();(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(jn||(jn={}));o(xx,"getProdType");o(eE,"getLookaheadPaths");o(Loe,"buildLookaheadFuncForOr");o(Roe,"buildLookaheadFuncForOptionalProd");o(Noe,"buildAlternativesLookAheadFunc");o(Moe,"buildSingleAlternativeLookaheadFunction");pM=class extends Bu{static{o(this,"RestDefinitionFinderWalker")}constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,jn.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,jn.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,jn.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,jn.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,jn.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},Jk=class extends os{static{o(this,"InsideDefinitionFinderVisitor")}constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,jn.OPTION)}visitRepetition(e){this.checkIsTarget(e,jn.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,jn.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,jn.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,jn.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,jn.ALTERNATION)}};o(Doe,"initializeArrayOfArrays");o(dM,"pathToHashKeys");o(bFe,"isUniquePrefixHash");o(Ioe,"lookAheadSequenceFromAlternatives");o(Yg,"getLookaheadPathsForOr");o(Xg,"getLookaheadPathsForOptionalProd");o(tE,"containsPath");o(Ooe,"isStrictPrefixOfPath");o(Poe,"areTokenCategoriesNotUsed")});function Boe(t){let e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return Je(e,r=>Object.assign({type:zi.CUSTOM_LOOKAHEAD_VALIDATION},r))}function Foe(t,e,r,n){let i=pa(t,u=>TFe(u,r)),a=AFe(t,e,r),s=pa(t,u=>EFe(u,r)),l=pa(t,u=>kFe(u,t,n,r));return i.concat(a,s,l)}function TFe(t,e){let r=new mM;t.accept(r);let n=r.allProductions,i=pR(n,wFe),a=Fs(i,l=>l.length>1);return Je(br(a),l=>{let u=ra(l),h=e.buildDuplicateFoundError(t,l),f=zs(u),d={message:h,type:zi.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:f,occurrence:u.idx},p=$oe(u);return p&&(d.parameter=p),d})}function wFe(t){return`${zs(t)}_#_${t.idx}_#_${$oe(t)}`}function $oe(t){return t instanceof kr?t.terminalType.name:t instanceof sn?t.nonTerminalName:""}function kFe(t,e,r,n){let i=[];if(Yr(e,(s,l)=>l.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:zi.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function zoe(t,e,r){let n=[],i;return qn(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:zi.INVALID_RULE_OVERRIDE,ruleName:t})),n}function yM(t,e,r,n=[]){let i=[],a=rE(e.definition);if(fr(a))return[];{let s=t.name;qn(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:zi.LEFT_RECURSION,ruleName:s});let u=ef(a,n.concat([t])),h=pa(u,f=>{let d=nn(n);return d.push(f),yM(t,f,r,d)});return i.concat(h)}}function rE(t){let e=[];if(fr(t))return e;let r=ra(t);if(r instanceof sn)e.push(r.referencedRule);else if(r instanceof _n||r instanceof on||r instanceof Dn||r instanceof Ln||r instanceof bn||r instanceof Or)e=e.concat(rE(r.definition));else if(r instanceof Tn)e=Wr(Je(r.definition,a=>rE(a.definition)));else if(!(r instanceof kr))throw Error("non exhaustive match");let n=fp(r),i=t.length>1;if(n&&i){let a=xi(t);return e.concat(rE(a))}else return e}function Goe(t,e){let r=new bx;t.accept(r);let n=r.alternations;return pa(n,a=>{let s=Iu(a.definition);return pa(s,(l,u)=>{let h=Zk([l],[],Fu,1);return fr(h)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:u}),type:zi.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:u+1}]:[]})})}function Voe(t,e,r){let n=new bx;t.accept(n);let i=n.alternations;return i=tf(i,s=>s.ignoreAmbiguities===!0),pa(i,s=>{let l=s.idx,u=s.maxLookahead||e,h=Yg(l,t,u,s),f=SFe(h,s,t,r),d=CFe(h,s,t,r);return f.concat(d)})}function EFe(t,e){let r=new bx;t.accept(r);let n=r.alternations;return pa(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:zi.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}function Uoe(t,e,r){let n=[];return Ae(t,i=>{let a=new gM;i.accept(a);let s=a.allProductions;Ae(s,l=>{let u=xx(l),h=l.maxLookahead||e,f=l.idx,p=Xg(f,i,u,h)[0];if(fr(Wr(p))){let m=r.buildEmptyRepetitionError({topLevelRule:i,repetition:l});n.push({message:m,type:zi.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function SFe(t,e,r,n){let i=[],a=Yr(t,(l,u,h)=>(e.definition[h].ignoreAmbiguities===!0||Ae(u,f=>{let d=[h];Ae(t,(p,m)=>{h!==m&&tE(p,f)&&e.definition[m].ignoreAmbiguities!==!0&&d.push(m)}),d.length>1&&!tE(i,f)&&(i.push(f),l.push({alts:d,path:f}))}),l),[]);return Je(a,l=>{let u=Je(l.alts,f=>f+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:u,prefixPath:l.path}),type:zi.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:l.alts}})}function CFe(t,e,r,n){let i=Yr(t,(s,l,u)=>{let h=Je(l,f=>({idx:u,path:f}));return s.concat(h)},[]);return Sc(pa(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let u=s.idx,h=s.path,f=qr(i,p=>e.definition[p.idx].ignoreAmbiguities!==!0&&p.idx{let m=[p.idx+1,u+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:m,prefixPath:p.path}),type:zi.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:m}})}))}function AFe(t,e,r){let n=[],i=Je(e,a=>a.name);return Ae(t,a=>{let s=a.name;if(qn(i,s)){let l=r.buildNamespaceConflictError(a);n.push({message:l,type:zi.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}var mM,bx,gM,Tx=N(()=>{"use strict";Yt();Gs();ls();jg();vx();mp();o(Boe,"validateLookahead");o(Foe,"validateGrammar");o(TFe,"validateDuplicateProductions");o(wFe,"identifyProductionForDuplicates");o($oe,"getExtraProductionArgument");mM=class extends os{static{o(this,"OccurrenceValidationCollector")}constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};o(kFe,"validateRuleDoesNotAlreadyExist");o(zoe,"validateRuleIsOverridden");o(yM,"validateNoLeftRecursion");o(rE,"getFirstNoneTerminal");bx=class extends os{static{o(this,"OrCollector")}constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};o(Goe,"validateEmptyOrAlternative");o(Voe,"validateAmbiguousAlternationAlternatives");gM=class extends os{static{o(this,"RepetitionCollector")}constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};o(EFe,"validateTooManyAlts");o(Uoe,"validateSomeNonEmptyLookaheadPath");o(SFe,"checkAlternativesAmbiguities");o(CFe,"checkPrefixAlternativesAmbiguities");o(AFe,"checkTerminalAndNoneTerminalsNameSpace")});function Hoe(t){let e=Jh(t,{errMsgProvider:Coe}),r={};return Ae(t.rules,n=>{r[n.name]=n}),Aoe(r,e.errMsgProvider)}function Woe(t){return t=Jh(t,{errMsgProvider:Bl}),Foe(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}var qoe=N(()=>{"use strict";Yt();_oe();Tx();Wg();o(Hoe,"resolveGrammar");o(Woe,"validateGrammar")});function uf(t){return qn(Qoe,t.name)}var Yoe,Xoe,joe,Koe,Qoe,Kg,yp,wx,kx,Ex,Qg=N(()=>{"use strict";Yt();Yoe="MismatchedTokenException",Xoe="NoViableAltException",joe="EarlyExitException",Koe="NotAllInputParsedException",Qoe=[Yoe,Xoe,joe,Koe];Object.freeze(Qoe);o(uf,"isRecognitionException");Kg=class extends Error{static{o(this,"RecognitionException")}constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},yp=class extends Kg{static{o(this,"MismatchedTokenException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Yoe}},wx=class extends Kg{static{o(this,"NoViableAltException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=Xoe}},kx=class extends Kg{static{o(this,"NotAllInputParsedException")}constructor(e,r){super(e,r),this.name=Koe}},Ex=class extends Kg{static{o(this,"EarlyExitException")}constructor(e,r,n){super(e,r),this.previousToken=n,this.name=joe}}});function _Fe(t,e,r,n,i,a,s){let l=this.getKeyForAutomaticLookahead(n,i),u=this.firstAfterRepMap[l];if(u===void 0){let p=this.getCurrRuleFullName(),m=this.getGAstProductions()[p];u=new a(m,i).startWalking(),this.firstAfterRepMap[l]=u}let h=u.token,f=u.occurrence,d=u.isEndOfRule;this.RULE_STACK.length===1&&d&&h===void 0&&(h=uo,f=1),!(h===void 0||f===void 0)&&this.shouldInRepetitionRecoveryBeTried(h,f,s)&&this.tryInRepetitionRecovery(t,e,r,h)}var vM,bM,xM,nE,TM=N(()=>{"use strict";gp();Yt();Qg();eM();Gs();vM={},bM="InRuleRecoveryException",xM=class extends Error{static{o(this,"InRuleRecoveryException")}constructor(e){super(e),this.name=bM}},nE=class{static{o(this,"Recoverable")}initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Bt(e,"recoveryEnabled")?e.recoveryEnabled:cs.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=_Fe)}getTokenToInsert(e){let r=Gu(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let a=this.findReSyncTokenType(),s=this.exportLexerState(),l=[],u=!1,h=this.LA(1),f=this.LA(1),d=o(()=>{let p=this.LA(0),m=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:h,previous:p,ruleName:this.getCurrRuleFullName()}),g=new yp(m,h,this.LA(0));g.resyncedTokens=Iu(l),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!u;)if(this.tokenMatcher(f,i)){d();return}else if(n.call(this)){d(),e.apply(this,r);return}else this.tokenMatcher(f,a)?u=!0:(f=this.SKIP_TOKEN(),this.addToResyncTokens(f,l));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new xM("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||fr(r))return!1;let n=this.LA(1);return is(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return qn(n,e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA(1),n=2;for(;;){let i=is(e,a=>mx(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return vM;let e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return Je(e,(n,i)=>i===0?vM:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){let e=Je(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Wr(e)}getFollowSetFromFollowKey(e){if(e===vM)return[uo];let r=e.ruleName+e.idxInCallingRule+Gk+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,uo)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return Iu(r)}attemptInRepetitionRecovery(e,r,n,i,a,s,l){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=nn(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return Je(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}};o(_Fe,"attemptInRepetitionRecovery")});function iE(t,e,r){return r|e|t}var aE=N(()=>{"use strict";o(iE,"getKeyForAutomaticLookahead")});var Uu,wM=N(()=>{"use strict";Yt();Wg();Gs();Tx();jg();Uu=class{static{o(this,"LLkLookaheadStrategy")}constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:cs.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(fr(r)){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return pa(e,r=>yM(r,r,Bl))}validateEmptyOrAlternatives(e){return pa(e,r=>Goe(r,Bl))}validateAmbiguousAlternationAlternatives(e,r){return pa(e,n=>Voe(n,r,Bl))}validateSomeNonEmptyLookaheadPath(e,r){return Uoe(e,r,Bl)}buildLookaheadForAlternation(e){return Loe(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,Noe)}buildLookaheadForOptional(e){return Roe(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,xx(e.prodType),Moe)}}});function DFe(t){sE.reset(),t.accept(sE);let e=sE.dslMethods;return sE.reset(),e}var oE,kM,sE,Zoe=N(()=>{"use strict";Yt();Gs();aE();ls();wM();oE=class{static{o(this,"LooksAhead")}initLooksAhead(e){this.dynamicTokensEnabled=Bt(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:cs.dynamicTokensEnabled,this.maxLookahead=Bt(e,"maxLookahead")?e.maxLookahead:cs.maxLookahead,this.lookaheadStrategy=Bt(e,"lookaheadStrategy")?e.lookaheadStrategy:new Uu({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){Ae(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:l,repetitionWithSeparator:u}=DFe(r);Ae(n,h=>{let f=h.idx===0?"":h.idx;this.TRACE_INIT(`${zs(h)}${f}`,()=>{let d=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:h.idx,rule:r,maxLookahead:h.maxLookahead||this.maxLookahead,hasPredicates:h.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),p=iE(this.fullRuleNameToShort[r.name],256,h.idx);this.setLaFuncCache(p,d)})}),Ae(i,h=>{this.computeLookaheadFunc(r,h.idx,768,"Repetition",h.maxLookahead,zs(h))}),Ae(a,h=>{this.computeLookaheadFunc(r,h.idx,512,"Option",h.maxLookahead,zs(h))}),Ae(s,h=>{this.computeLookaheadFunc(r,h.idx,1024,"RepetitionMandatory",h.maxLookahead,zs(h))}),Ae(l,h=>{this.computeLookaheadFunc(r,h.idx,1536,"RepetitionMandatoryWithSeparator",h.maxLookahead,zs(h))}),Ae(u,h=>{this.computeLookaheadFunc(r,h.idx,1280,"RepetitionWithSeparator",h.maxLookahead,zs(h))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let l=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),u=iE(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(u,l)})}getKeyForAutomaticLookahead(e,r){let n=this.getLastExplicitRuleShortName();return iE(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},kM=class extends os{static{o(this,"DslMethodsCollectorVisitor")}constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},sE=new kM;o(DFe,"collectMethods")});function CM(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset{"use strict";o(CM,"setNodeLocationOnlyOffset");o(AM,"setNodeLocationFull");o(Joe,"addTerminalToCst");o(ele,"addNoneTerminalToCst")});function _M(t,e){Object.defineProperty(t,LFe,{enumerable:!1,configurable:!0,writable:!1,value:e})}var LFe,rle=N(()=>{"use strict";LFe="name";o(_M,"defineNameProp")});function RFe(t,e){let r=$r(t),n=r.length;for(let i=0;is.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>: + ${a.join(` + +`).replace(/\n/g,` + `)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function ile(t,e,r){let n=o(function(){},"derivedConstructor");_M(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return Ae(e,a=>{i[a]=RFe}),n.prototype=i,n.prototype.constructor=n,n}function NFe(t,e){return MFe(t,e)}function MFe(t,e){let r=qr(e,i=>Ci(t[i])===!1),n=Je(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:DM.MISSING_METHOD,methodName:i}));return Sc(n)}var DM,ale=N(()=>{"use strict";Yt();rle();o(RFe,"defaultVisit");o(nle,"createBaseSemanticVisitorConstructor");o(ile,"createBaseVisitorConstructorWithDefaults");(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(DM||(DM={}));o(NFe,"validateVisitor");o(MFe,"validateMissingCstMethods")});var hE,sle=N(()=>{"use strict";tle();Yt();ale();Gs();hE=class{static{o(this,"TreeBuilder")}initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Bt(e,"nodeLocationTracking")?e.nodeLocationTracking:cs.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ai,this.cstFinallyStateUpdate=ai,this.cstPostTerminal=ai,this.cstPostNonTerminal=ai,this.cstPostRule=ai;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=AM,this.setNodeLocationFromNode=AM,this.cstPostRule=ai,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ai,this.setNodeLocationFromNode=ai,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=CM,this.setNodeLocationFromNode=CM,this.cstPostRule=ai,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ai,this.setNodeLocationFromNode=ai,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ai,this.setNodeLocationFromNode=ai,this.cstPostRule=ai,this.setInitialNodeLocation=ai;else throw Error(`Invalid config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Joe(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];ele(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(gr(this.baseCstVisitorConstructor)){let e=nle(this.className,$r(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(gr(this.baseCstVisitorWithDefaultsConstructor)){let e=ile(this.className,$r(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){let e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){let e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}}});var fE,ole=N(()=>{"use strict";Gs();fE=class{static{o(this,"LexerAdapter")}initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):Zg}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Zg:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}}});var dE,lle=N(()=>{"use strict";Yt();Qg();Gs();Wg();Tx();ls();dE=class{static{o(this,"RecognizerApi")}ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Jg){if(qn(this.definedRulesNames,e)){let s={message:Bl.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:zi.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Jg){let i=zoe(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);let n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(uf(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Fk(br(this.gastProductionsCache))}}});var pE,cle=N(()=>{"use strict";Yt();aE();Qg();jg();vx();Gs();TM();gp();mp();pE=class{static{o(this,"RecognizerEngine")}initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ug,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Bt(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 + For Further details.`);if(Pt(e)){if(fr(e))throw Error(`A Token Vocabulary cannot be empty. + Note that the first argument for the parser constructor + is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. + See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 + For Further details.`)}if(Pt(e))this.tokensMap=Yr(e,(a,s)=>(a[s.name]=s,a),{});else if(Bt(e,"modes")&&Na(Wr(br(e.modes)),yoe)){let a=Wr(br(e.modes)),s=zm(a);this.tokensMap=Yr(s,(l,u)=>(l[u.name]=u,l),{})}else if(xn(e))this.tokensMap=nn(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=uo;let n=Bt(e,"modes")?Wr(br(e.modes)):br(e),i=Na(n,a=>fr(a.categoryMatches));this.tokenMatcher=i?Ug:Fu,$u(br(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called' +Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Bt(n,"resyncEnabled")?n.resyncEnabled:Jg.resyncEnabled,a=Bt(n,"recoveryValueFunc")?n.recoveryValueFunc:Jg.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let l;return this.outputCst===!0?l=o(function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):l=o(function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(l,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(uf(e)){let s=e;if(a){let l=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(l))if(s.resyncedTokens=this.reSyncTo(l),this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];return u.recoveredNode=!0,u}else return n(e);else{if(this.outputCst){let u=this.CST_STACK[this.CST_STACK.length-1];u.recoveredNode=!0,s.partialCstResult=u}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;let s=e.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let s=r.GATE;if(s!==void 0){let l=i;i=o(()=>s.call(this)&&l.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,jn.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,Kk)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,yx],l,1536,e,yx)}else throw this.raiseEarlyExitException(e,jn.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;let l=r.GATE;if(l!==void 0){let u=i;i=o(()=>l.call(this)&&u.call(this),"lookaheadFunction")}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,jk,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let l=o(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,l,i,gx],l,1280,e,gx)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,1536,e,a)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Pt(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){let e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new kx(r,e))}}subruleInternal(e,r,n){let i;try{let a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw uf(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new yp(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===bM?n:a}}else throw n}saveRecogState(){let e=this.errors,r=nn(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),uo)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}}});var mE,ule=N(()=>{"use strict";Qg();Yt();jg();Gs();mE=class{static{o(this,"ErrorHandler")}initErrorHandler(e){this._errors=[],this.errorMessageProvider=Bt(e,"errorMessageProvider")?e.errorMessageProvider:cs.errorMessageProvider}SAVE_ERROR(e){if(uf(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:nn(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return nn(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],l=Xg(e,a,r,this.maxLookahead)[0],u=[];for(let f=1;f<=this.maxLookahead;f++)u.push(this.LA(f));let h=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:l,actual:u,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new Ex(h,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=Yg(e,i,this.maxLookahead),s=[];for(let h=1;h<=this.maxLookahead;h++)s.push(this.LA(h));let l=this.LA(0),u=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:l,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new wx(u,this.LA(1),l))}}});var gE,hle=N(()=>{"use strict";vx();Yt();gE=class{static{o(this,"ContentAssist")}initContentAssist(){}computeContentAssist(e,r){let n=this.gastProductionsCache[e];if(gr(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Zk([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){let r=ra(e.ruleStack),i=this.getGAstProductions()[r];return new Xk(i,e).startWalking()}}});function Cx(t,e,r,n=!1){vE(r);let i=da(this.recordingProdStack),a=Ci(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Bt(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),xE}function PFe(t,e){vE(e);let r=da(this.recordingProdStack),n=Pt(t)===!1,i=n===!1?t:t.DEF,a=new Tn({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Bt(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);let s=P2(i,l=>Ci(l.GATE));return a.hasPredicates=s,r.definition.push(a),Ae(i,l=>{let u=new _n({definition:[]});a.definition.push(u),Bt(l,"IGNORE_AMBIGUITIES")?u.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:Bt(l,"GATE")&&(u.ignoreAmbiguities=!0),this.recordingProdStack.push(u),l.ALT.call(this),this.recordingProdStack.pop()}),xE}function ple(t){return t===0?"":`${t}`}function vE(t){if(t<0||t>dle){let e=new Error(`Invalid DSL Method idx value: <${t}> + Idx value must be a none negative value smaller than ${dle+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var xE,fle,dle,mle,gle,OFe,yE,yle=N(()=>{"use strict";Yt();ls();dx();mp();gp();Gs();aE();xE={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(xE);fle=!0,dle=Math.pow(2,8)-1,mle=cf({name:"RECORDING_PHASE_TOKEN",pattern:Xn.NA});$u([mle]);gle=Gu(mle,`This IToken indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(gle);OFe={name:`This CSTNode indicates the Parser is in Recording Phase + See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},yE=class{static{o(this,"GastRecorder")}initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Zg}topLevelRuleRecord(e,r){try{let n=new ss({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` + This error was thrown during the "grammar recording phase" For more info see: + https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return Cx.call(this,on,e,r)}atLeastOneInternalRecord(e,r){Cx.call(this,Dn,r,e)}atLeastOneSepFirstInternalRecord(e,r){Cx.call(this,Ln,r,e,fle)}manyInternalRecord(e,r){Cx.call(this,Or,r,e)}manySepFirstInternalRecord(e,r){Cx.call(this,bn,r,e,fle)}orInternalRecord(e,r){return PFe.call(this,e,r)}subruleInternalRecord(e,r,n){if(vE(r),!e||Bt(e,"ruleName")===!1){let l=new Error(` argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw l.KNOWN_RECORDER_ERROR=!0,l}let i=da(this.recordingProdStack),a=e.ruleName,s=new sn({idx:r,nonTerminalName:a,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?OFe:xE}consumeInternalRecord(e,r,n){if(vE(r),!lM(e)){let s=new Error(` argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}> + inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=da(this.recordingProdStack),a=new kr({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(a),gle}};o(Cx,"recordProd");o(PFe,"recordOrProd");o(ple,"getIdxSuffix");o(vE,"assertMethodIdxIsValid")});var bE,vle=N(()=>{"use strict";Yt();Fg();Gs();bE=class{static{o(this,"PerformanceTracer")}initPerformanceTracer(e){if(Bt(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=cs.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <${e}>`);let{time:i,value:a}=ux(r),s=i>10?console.warn:console.log;return this.traceInitIndent time: ${i}ms`),this.traceInitIndent--,a}else return r()}}});function xle(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}var ble=N(()=>{"use strict";o(xle,"applyMixins")});function TE(t=void 0){return function(){return t}}var Zg,cs,Jg,zi,Ax,_x,Gs=N(()=>{"use strict";Yt();Fg();Kse();gp();Wg();qoe();TM();Zoe();sle();ole();lle();cle();ule();hle();yle();vle();ble();Tx();Zg=Gu(uo,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Zg);cs=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Vu,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Jg=Object.freeze({recoveryValueFunc:o(()=>{},"recoveryValueFunc"),resyncEnabled:!0});(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(zi||(zi={}));o(TE,"EMPTY_ALT");Ax=class t{static{o(this,"Parser")}static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{hx(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),Ae(this.definedRulesNames,i=>{let s=this[i].originalGrammarAction,l;this.TRACE_INIT(`${i} Rule`,()=>{l=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=l})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=Hoe({rules:br(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(fr(n)&&this.skipValidations===!1){let i=Woe({rules:br(this.gastProductionsCache),tokenTypes:br(this.tokensMap),errMsgProvider:Bl,grammarName:r}),a=Boe({lookaheadStrategy:this.lookaheadStrategy,rules:br(this.gastProductionsCache),tokenTypes:br(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),fr(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=jse(br(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:br(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(br(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&!fr(this.definitionErrors))throw e=Je(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected: + ${e.join(` +------------------------------- +`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),Bt(r,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. + Please use the flag on the relevant DSL method instead. + See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES + For further details.`);this.skipValidations=Bt(r,"skipValidations")?r.skipValidations:cs.skipValidations}};Ax.DEFER_DEFINITION_ERRORS_HANDLING=!1;xle(Ax,[nE,oE,hE,fE,pE,dE,mE,gE,yE,bE]);_x=class extends Ax{static{o(this,"EmbeddedActionsParser")}constructor(e,r=cs){let n=nn(r);n.outputCst=!1,super(e,n)}}});var Tle=N(()=>{"use strict";ls()});var wle=N(()=>{"use strict"});var kle=N(()=>{"use strict";Tle();wle()});var Ele=N(()=>{"use strict";KN()});var hf=N(()=>{"use strict";KN();Gs();dx();gp();jg();wM();Wg();Qg();cM();ls();ls();kle();Ele()});function vp(t,e,r){return`${t.name}_${e}_${r}`}function _le(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};UFe(e,t);let r=t.length;for(let n=0;nDle(t,e,s));return n1(t,e,n,r,...i)}function jFe(t,e,r){let n=na(t,e,r,{type:ff});df(t,n);let i=n1(t,e,n,r,xp(t,e,r));return KFe(t,e,r,i)}function xp(t,e,r){let n=qr(Je(r.definition,i=>Dle(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:ZFe(t,n)}function Lle(t,e,r,n,i){let a=n.left,s=n.right,l=na(t,e,r,{type:VFe});df(t,l);let u=na(t,e,r,{type:Ale});return a.loopback=l,u.loopback=l,t.decisionMap[vp(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=l,_i(s,l),i===void 0?(_i(l,a),_i(l,u)):(_i(l,u),_i(l,i.left),_i(i.right,a)),{left:a,right:u}}function Rle(t,e,r,n,i){let a=n.left,s=n.right,l=na(t,e,r,{type:GFe});df(t,l);let u=na(t,e,r,{type:Ale}),h=na(t,e,r,{type:zFe});return l.loopback=h,u.loopback=h,_i(l,a),_i(l,u),_i(s,h),i!==void 0?(_i(h,u),_i(h,i.left),_i(i.right,a)):_i(h,l),t.decisionMap[vp(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=l,{left:l,right:u}}function KFe(t,e,r,n){let i=n.left,a=n.right;return _i(i,a),t.decisionMap[vp(e,"Option",r.idx)]=i,n}function df(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function n1(t,e,r,n,...i){let a=na(t,e,n,{type:$Fe,start:r});r.end=a;for(let l of i)l!==void 0?(_i(r,l.left),_i(l.right,a)):_i(r,a);let s={left:r,right:a};return t.decisionMap[vp(e,QFe(n),n.idx)]=r,s}function QFe(t){if(t instanceof Tn)return"Alternation";if(t instanceof on)return"Option";if(t instanceof Or)return"Repetition";if(t instanceof bn)return"RepetitionWithSeparator";if(t instanceof Dn)return"RepetitionMandatory";if(t instanceof Ln)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function ZFe(t,e){let r=e.length;for(let a=0;a{"use strict";Bm();cR();hf();o(vp,"buildATNKey");ff=1,FFe=2,Sle=4,Cle=5,r1=7,$Fe=8,zFe=9,GFe=10,VFe=11,Ale=12,Dx=class{static{o(this,"AbstractTransition")}constructor(e){this.target=e}isEpsilon(){return!1}},e1=class extends Dx{static{o(this,"AtomTransition")}constructor(e,r){super(e),this.tokenType=r}},Lx=class extends Dx{static{o(this,"EpsilonTransition")}constructor(e){super(e)}isEpsilon(){return!0}},t1=class extends Dx{static{o(this,"RuleTransition")}constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};o(_le,"createATN");o(UFe,"createRuleStartAndStopATNStates");o(Dle,"atom");o(HFe,"repetition");o(WFe,"repetitionSep");o(qFe,"repetitionMandatory");o(YFe,"repetitionMandatorySep");o(XFe,"alternation");o(jFe,"option");o(xp,"block");o(Lle,"plus");o(Rle,"star");o(KFe,"optional");o(df,"defineDecisionState");o(n1,"makeAlts");o(QFe,"getProdType");o(ZFe,"makeBlock");o(RM,"tokenRef");o(JFe,"ruleRef");o(e$e,"buildRuleHandle");o(_i,"epsilon");o(na,"newState");o(NM,"addTransition");o(t$e,"removeState")});function MM(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}var Rx,i1,Mle=N(()=>{"use strict";Bm();Rx={},i1=class{static{o(this,"ATNConfigSet")}constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=MM(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return Je(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};o(MM,"getATNConfigKey")});function r$e(t,e){let r={};return n=>{let i=n.toString(),a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}function Ole(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let a of n){if(a===void 0){if(e)break;return!1}let s=[a.tokenTypeIdx].concat(a.categoryMatches);for(let l of s)if(r.has(l)){if(!i.has(l))return!1}else r.add(l),i.add(l)}}return!0}function n$e(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;nzu(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${l$e(t.production)}${r}> inside <${t.topLevelRule.name}> Rule, +<${e}> may appears as a prefix path in all these alternatives. +`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES +For Further details.`,n}function l$e(t){if(t instanceof sn)return"SUBRULE";if(t instanceof on)return"OPTION";if(t instanceof Tn)return"OR";if(t instanceof Dn)return"AT_LEAST_ONE";if(t instanceof Ln)return"AT_LEAST_ONE_SEP";if(t instanceof bn)return"MANY_SEP";if(t instanceof Or)return"MANY";if(t instanceof kr)return"CONSUME";throw Error("non exhaustive match")}function c$e(t,e,r){let n=pa(e.configs.elements,a=>a.state.transitions),i=fie(n.filter(a=>a instanceof e1).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function u$e(t,e){return t.edges[e.tokenTypeIdx]}function h$e(t,e,r){let n=new i1,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===r1){i.push(s);continue}let l=s.state.transitions.length;for(let u=0;u0&&!g$e(a))for(let s of i)a.add(s);return a}function f$e(t,e){if(t instanceof e1&&mx(e,t.tokenType))return t.target}function d$e(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function Ble(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Ple(t,e,r,n){return n=Fle(t,n),e.edges[r.tokenTypeIdx]=n,n}function Fle(t,e){if(e===Rx)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function p$e(t){let e=new i1,r=t.transitions.length;for(let n=0;n0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};kE(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i1)return!0;return!1}function T$e(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}var wE,Ile,Nx,$le=N(()=>{"use strict";hf();Nle();Mle();yR();hR();die();Bm();kw();Zw();nk();TR();o(r$e,"createDFACache");wE=class{static{o(this,"PredicateSet")}constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;nconsole.log(n)}initialize(e){this.atn=_le(e.rules),this.dfas=n$e(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,l=this.logging,u=vp(n,"Alternation",r),f=this.atn.decisionMap[u].decision,d=Je(eE({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>Je(p,m=>m[0]));if(Ole(d,!1)&&!a){let p=Yr(d,(m,g,y)=>(Ae(g,v=>{v&&(m[v.tokenTypeIdx]=y,Ae(v.categoryMatches,x=>{m[x]=y}))}),m),{});return i?function(m){var g;let y=this.LA(1),v=p[y.tokenTypeIdx];if(m!==void 0&&v!==void 0){let x=(g=m[v])===null||g===void 0?void 0:g.GATE;if(x!==void 0&&x.call(this)===!1)return}return v}:function(){let m=this.LA(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new wE,g=p===void 0?0:p.length;for(let v=0;vJe(p,m=>m[0]));if(Ole(d)&&d[0][0]&&!a){let p=d[0],m=Wr(p);if(m.length===1&&fr(m[0].categoryMatches)){let y=m[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===y}}else{let g=Yr(m,(y,v)=>(v!==void 0&&(y[v.tokenTypeIdx]=!0,Ae(v.categoryMatches,x=>{y[x]=!0})),y),{});return function(){let y=this.LA(1);return g[y.tokenTypeIdx]===!0}}}return function(){let p=IM.call(this,s,f,Ile,l);return typeof p=="object"?!1:p===0}}};o(Ole,"isLL1Sequence");o(n$e,"initATNSimulator");o(IM,"adaptivePredict");o(i$e,"performLookahead");o(a$e,"computeLookaheadTarget");o(s$e,"reportLookaheadAmbiguity");o(o$e,"buildAmbiguityError");o(l$e,"getProductionDslName");o(c$e,"buildAdaptivePredictError");o(u$e,"getExistingTargetState");o(h$e,"computeReachSet");o(f$e,"getReachableTarget");o(d$e,"getUniqueAlt");o(Ble,"newDFAState");o(Ple,"addDFAEdge");o(Fle,"addDFAState");o(p$e,"computeStartState");o(kE,"closure");o(m$e,"getEpsilonTarget");o(g$e,"hasConfigInRuleStopState");o(y$e,"allConfigsInRuleStopStates");o(v$e,"hasConflictTerminatingPrediction");o(x$e,"getConflictingAltSets");o(b$e,"hasConflictingAltSet");o(T$e,"hasStateAssociatedWithOneAlt")});var zle=N(()=>{"use strict";$le()});var Gle,OM,Vle,EE,Xr,Pr,SE,Ule,PM,Hle,Wle,qle,Yle,BM,Xle,jle,Kle,CE,a1,s1,FM,o1,Qle,$M,zM,GM,VM,UM,Zle,Jle,HM,ece,WM,Mx,tce,rce,nce,ice,ace,sce,oce,lce,AE,cce,uce,hce,fce,dce,pce,mce,gce,yce,vce,xce,_E,bce,Tce,wce,kce,Ece,Sce,Cce,Ace,_ce,Dce,Lce,Rce,Nce,qM,YM,Mce,Ice,Oce,Pce,Bce,Fce,$ce,zce,Gce,XM,$e,jM=N(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(Gle||(Gle={}));(function(t){function e(r){return typeof r=="string"}o(e,"is"),t.is=e})(OM||(OM={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(Vle||(Vle={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}o(e,"is"),t.is=e})(EE||(EE={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=EE.MAX_VALUE),i===Number.MAX_VALUE&&(i=EE.MAX_VALUE),{line:n,character:i}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&$e.uinteger(i.line)&&$e.uinteger(i.character)}o(r,"is"),t.is=r})(Xr||(Xr={}));(function(t){function e(n,i,a,s){if($e.uinteger(n)&&$e.uinteger(i)&&$e.uinteger(a)&&$e.uinteger(s))return{start:Xr.create(n,i),end:Xr.create(a,s)};if(Xr.is(n)&&Xr.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${a}, ${s}]`)}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&Xr.is(i.start)&&Xr.is(i.end)}o(r,"is"),t.is=r})(Pr||(Pr={}));(function(t){function e(n,i){return{uri:n,range:i}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&Pr.is(i.range)&&($e.string(i.uri)||$e.undefined(i.uri))}o(r,"is"),t.is=r})(SE||(SE={}));(function(t){function e(n,i,a,s){return{targetUri:n,targetRange:i,targetSelectionRange:a,originSelectionRange:s}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&Pr.is(i.targetRange)&&$e.string(i.targetUri)&&Pr.is(i.targetSelectionRange)&&(Pr.is(i.originSelectionRange)||$e.undefined(i.originSelectionRange))}o(r,"is"),t.is=r})(Ule||(Ule={}));(function(t){function e(n,i,a,s){return{red:n,green:i,blue:a,alpha:s}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&$e.numberRange(i.red,0,1)&&$e.numberRange(i.green,0,1)&&$e.numberRange(i.blue,0,1)&&$e.numberRange(i.alpha,0,1)}o(r,"is"),t.is=r})(PM||(PM={}));(function(t){function e(n,i){return{range:n,color:i}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&Pr.is(i.range)&&PM.is(i.color)}o(r,"is"),t.is=r})(Hle||(Hle={}));(function(t){function e(n,i,a){return{label:n,textEdit:i,additionalTextEdits:a}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&$e.string(i.label)&&($e.undefined(i.textEdit)||s1.is(i))&&($e.undefined(i.additionalTextEdits)||$e.typedArray(i.additionalTextEdits,s1.is))}o(r,"is"),t.is=r})(Wle||(Wle={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(qle||(qle={}));(function(t){function e(n,i,a,s,l,u){let h={startLine:n,endLine:i};return $e.defined(a)&&(h.startCharacter=a),$e.defined(s)&&(h.endCharacter=s),$e.defined(l)&&(h.kind=l),$e.defined(u)&&(h.collapsedText=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&$e.uinteger(i.startLine)&&$e.uinteger(i.startLine)&&($e.undefined(i.startCharacter)||$e.uinteger(i.startCharacter))&&($e.undefined(i.endCharacter)||$e.uinteger(i.endCharacter))&&($e.undefined(i.kind)||$e.string(i.kind))}o(r,"is"),t.is=r})(Yle||(Yle={}));(function(t){function e(n,i){return{location:n,message:i}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&SE.is(i.location)&&$e.string(i.message)}o(r,"is"),t.is=r})(BM||(BM={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Xle||(Xle={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(jle||(jle={}));(function(t){function e(r){let n=r;return $e.objectLiteral(n)&&$e.string(n.href)}o(e,"is"),t.is=e})(Kle||(Kle={}));(function(t){function e(n,i,a,s,l,u){let h={range:n,message:i};return $e.defined(a)&&(h.severity=a),$e.defined(s)&&(h.code=s),$e.defined(l)&&(h.source=l),$e.defined(u)&&(h.relatedInformation=u),h}o(e,"create"),t.create=e;function r(n){var i;let a=n;return $e.defined(a)&&Pr.is(a.range)&&$e.string(a.message)&&($e.number(a.severity)||$e.undefined(a.severity))&&($e.integer(a.code)||$e.string(a.code)||$e.undefined(a.code))&&($e.undefined(a.codeDescription)||$e.string((i=a.codeDescription)===null||i===void 0?void 0:i.href))&&($e.string(a.source)||$e.undefined(a.source))&&($e.undefined(a.relatedInformation)||$e.typedArray(a.relatedInformation,BM.is))}o(r,"is"),t.is=r})(CE||(CE={}));(function(t){function e(n,i,...a){let s={title:n,command:i};return $e.defined(a)&&a.length>0&&(s.arguments=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&$e.string(i.title)&&$e.string(i.command)}o(r,"is"),t.is=r})(a1||(a1={}));(function(t){function e(a,s){return{range:a,newText:s}}o(e,"replace"),t.replace=e;function r(a,s){return{range:{start:a,end:a},newText:s}}o(r,"insert"),t.insert=r;function n(a){return{range:a,newText:""}}o(n,"del"),t.del=n;function i(a){let s=a;return $e.objectLiteral(s)&&$e.string(s.newText)&&Pr.is(s.range)}o(i,"is"),t.is=i})(s1||(s1={}));(function(t){function e(n,i,a){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),a!==void 0&&(s.description=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&$e.string(i.label)&&($e.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&($e.string(i.description)||i.description===void 0)}o(r,"is"),t.is=r})(FM||(FM={}));(function(t){function e(r){let n=r;return $e.string(n)}o(e,"is"),t.is=e})(o1||(o1={}));(function(t){function e(a,s,l){return{range:a,newText:s,annotationId:l}}o(e,"replace"),t.replace=e;function r(a,s,l){return{range:{start:a,end:a},newText:s,annotationId:l}}o(r,"insert"),t.insert=r;function n(a,s){return{range:a,newText:"",annotationId:s}}o(n,"del"),t.del=n;function i(a){let s=a;return s1.is(s)&&(FM.is(s.annotationId)||o1.is(s.annotationId))}o(i,"is"),t.is=i})(Qle||(Qle={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&HM.is(i.textDocument)&&Array.isArray(i.edits)}o(r,"is"),t.is=r})($M||($M={}));(function(t){function e(n,i,a){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&$e.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||$e.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||$e.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||o1.is(i.annotationId))}o(r,"is"),t.is=r})(zM||(zM={}));(function(t){function e(n,i,a,s){let l={kind:"rename",oldUri:n,newUri:i};return a!==void 0&&(a.overwrite!==void 0||a.ignoreIfExists!==void 0)&&(l.options=a),s!==void 0&&(l.annotationId=s),l}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&$e.string(i.oldUri)&&$e.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||$e.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||$e.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||o1.is(i.annotationId))}o(r,"is"),t.is=r})(GM||(GM={}));(function(t){function e(n,i,a){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),a!==void 0&&(s.annotationId=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&$e.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||$e.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||$e.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||o1.is(i.annotationId))}o(r,"is"),t.is=r})(VM||(VM={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>$e.string(i.kind)?zM.is(i)||GM.is(i)||VM.is(i):$M.is(i)))}o(e,"is"),t.is=e})(UM||(UM={}));(function(t){function e(n){return{uri:n}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&$e.string(i.uri)}o(r,"is"),t.is=r})(Zle||(Zle={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&$e.string(i.uri)&&$e.integer(i.version)}o(r,"is"),t.is=r})(Jle||(Jle={}));(function(t){function e(n,i){return{uri:n,version:i}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&$e.string(i.uri)&&(i.version===null||$e.integer(i.version))}o(r,"is"),t.is=r})(HM||(HM={}));(function(t){function e(n,i,a,s){return{uri:n,languageId:i,version:a,text:s}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&$e.string(i.uri)&&$e.string(i.languageId)&&$e.integer(i.version)&&$e.string(i.text)}o(r,"is"),t.is=r})(ece||(ece={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}o(e,"is"),t.is=e})(WM||(WM={}));(function(t){function e(r){let n=r;return $e.objectLiteral(r)&&WM.is(n.kind)&&$e.string(n.value)}o(e,"is"),t.is=e})(Mx||(Mx={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(tce||(tce={}));(function(t){t.PlainText=1,t.Snippet=2})(rce||(rce={}));(function(t){t.Deprecated=1})(nce||(nce={}));(function(t){function e(n,i,a){return{newText:n,insert:i,replace:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i&&$e.string(i.newText)&&Pr.is(i.insert)&&Pr.is(i.replace)}o(r,"is"),t.is=r})(ice||(ice={}));(function(t){t.asIs=1,t.adjustIndentation=2})(ace||(ace={}));(function(t){function e(r){let n=r;return n&&($e.string(n.detail)||n.detail===void 0)&&($e.string(n.description)||n.description===void 0)}o(e,"is"),t.is=e})(sce||(sce={}));(function(t){function e(r){return{label:r}}o(e,"create"),t.create=e})(oce||(oce={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}o(e,"create"),t.create=e})(lce||(lce={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}o(e,"fromPlainText"),t.fromPlainText=e;function r(n){let i=n;return $e.string(i)||$e.objectLiteral(i)&&$e.string(i.language)&&$e.string(i.value)}o(r,"is"),t.is=r})(AE||(AE={}));(function(t){function e(r){let n=r;return!!n&&$e.objectLiteral(n)&&(Mx.is(n.contents)||AE.is(n.contents)||$e.typedArray(n.contents,AE.is))&&(r.range===void 0||Pr.is(r.range))}o(e,"is"),t.is=e})(cce||(cce={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}o(e,"create"),t.create=e})(uce||(uce={}));(function(t){function e(r,n,...i){let a={label:r};return $e.defined(n)&&(a.documentation=n),$e.defined(i)?a.parameters=i:a.parameters=[],a}o(e,"create"),t.create=e})(hce||(hce={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(fce||(fce={}));(function(t){function e(r,n){let i={range:r};return $e.number(n)&&(i.kind=n),i}o(e,"create"),t.create=e})(dce||(dce={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(pce||(pce={}));(function(t){t.Deprecated=1})(mce||(mce={}));(function(t){function e(r,n,i,a,s){let l={name:r,kind:n,location:{uri:a,range:i}};return s&&(l.containerName=s),l}o(e,"create"),t.create=e})(gce||(gce={}));(function(t){function e(r,n,i,a){return a!==void 0?{name:r,kind:n,location:{uri:i,range:a}}:{name:r,kind:n,location:{uri:i}}}o(e,"create"),t.create=e})(yce||(yce={}));(function(t){function e(n,i,a,s,l,u){let h={name:n,detail:i,kind:a,range:s,selectionRange:l};return u!==void 0&&(h.children=u),h}o(e,"create"),t.create=e;function r(n){let i=n;return i&&$e.string(i.name)&&$e.number(i.kind)&&Pr.is(i.range)&&Pr.is(i.selectionRange)&&(i.detail===void 0||$e.string(i.detail))&&(i.deprecated===void 0||$e.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}o(r,"is"),t.is=r})(vce||(vce={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(xce||(xce={}));(function(t){t.Invoked=1,t.Automatic=2})(_E||(_E={}));(function(t){function e(n,i,a){let s={diagnostics:n};return i!=null&&(s.only=i),a!=null&&(s.triggerKind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&$e.typedArray(i.diagnostics,CE.is)&&(i.only===void 0||$e.typedArray(i.only,$e.string))&&(i.triggerKind===void 0||i.triggerKind===_E.Invoked||i.triggerKind===_E.Automatic)}o(r,"is"),t.is=r})(bce||(bce={}));(function(t){function e(n,i,a){let s={title:n},l=!0;return typeof i=="string"?(l=!1,s.kind=i):a1.is(i)?s.command=i:s.edit=i,l&&a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return i&&$e.string(i.title)&&(i.diagnostics===void 0||$e.typedArray(i.diagnostics,CE.is))&&(i.kind===void 0||$e.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||a1.is(i.command))&&(i.isPreferred===void 0||$e.boolean(i.isPreferred))&&(i.edit===void 0||UM.is(i.edit))}o(r,"is"),t.is=r})(Tce||(Tce={}));(function(t){function e(n,i){let a={range:n};return $e.defined(i)&&(a.data=i),a}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&Pr.is(i.range)&&($e.undefined(i.command)||a1.is(i.command))}o(r,"is"),t.is=r})(wce||(wce={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&$e.uinteger(i.tabSize)&&$e.boolean(i.insertSpaces)}o(r,"is"),t.is=r})(kce||(kce={}));(function(t){function e(n,i,a){return{range:n,target:i,data:a}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&Pr.is(i.range)&&($e.undefined(i.target)||$e.string(i.target))}o(r,"is"),t.is=r})(Ece||(Ece={}));(function(t){function e(n,i){return{range:n,parent:i}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&Pr.is(i.range)&&(i.parent===void 0||t.is(i.parent))}o(r,"is"),t.is=r})(Sce||(Sce={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Cce||(Cce={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(Ace||(Ace={}));(function(t){function e(r){let n=r;return $e.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}o(e,"is"),t.is=e})(_ce||(_ce={}));(function(t){function e(n,i){return{range:n,text:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Pr.is(i.range)&&$e.string(i.text)}o(r,"is"),t.is=r})(Dce||(Dce={}));(function(t){function e(n,i,a){return{range:n,variableName:i,caseSensitiveLookup:a}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Pr.is(i.range)&&$e.boolean(i.caseSensitiveLookup)&&($e.string(i.variableName)||i.variableName===void 0)}o(r,"is"),t.is=r})(Lce||(Lce={}));(function(t){function e(n,i){return{range:n,expression:i}}o(e,"create"),t.create=e;function r(n){let i=n;return i!=null&&Pr.is(i.range)&&($e.string(i.expression)||i.expression===void 0)}o(r,"is"),t.is=r})(Rce||(Rce={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.defined(i)&&Pr.is(n.stoppedLocation)}o(r,"is"),t.is=r})(Nce||(Nce={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}o(e,"is"),t.is=e})(qM||(qM={}));(function(t){function e(n){return{value:n}}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&(i.tooltip===void 0||$e.string(i.tooltip)||Mx.is(i.tooltip))&&(i.location===void 0||SE.is(i.location))&&(i.command===void 0||a1.is(i.command))}o(r,"is"),t.is=r})(YM||(YM={}));(function(t){function e(n,i,a){let s={position:n,label:i};return a!==void 0&&(s.kind=a),s}o(e,"create"),t.create=e;function r(n){let i=n;return $e.objectLiteral(i)&&Xr.is(i.position)&&($e.string(i.label)||$e.typedArray(i.label,YM.is))&&(i.kind===void 0||qM.is(i.kind))&&i.textEdits===void 0||$e.typedArray(i.textEdits,s1.is)&&(i.tooltip===void 0||$e.string(i.tooltip)||Mx.is(i.tooltip))&&(i.paddingLeft===void 0||$e.boolean(i.paddingLeft))&&(i.paddingRight===void 0||$e.boolean(i.paddingRight))}o(r,"is"),t.is=r})(Mce||(Mce={}));(function(t){function e(r){return{kind:"snippet",value:r}}o(e,"createSnippet"),t.createSnippet=e})(Ice||(Ice={}));(function(t){function e(r,n,i,a){return{insertText:r,filterText:n,range:i,command:a}}o(e,"create"),t.create=e})(Oce||(Oce={}));(function(t){function e(r){return{items:r}}o(e,"create"),t.create=e})(Pce||(Pce={}));(function(t){t.Invoked=0,t.Automatic=1})(Bce||(Bce={}));(function(t){function e(r,n){return{range:r,text:n}}o(e,"create"),t.create=e})(Fce||(Fce={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}o(e,"create"),t.create=e})($ce||($ce={}));(function(t){function e(r){let n=r;return $e.objectLiteral(n)&&OM.is(n.uri)&&$e.string(n.name)}o(e,"is"),t.is=e})(zce||(zce={}));(function(t){function e(a,s,l,u){return new XM(a,s,l,u)}o(e,"create"),t.create=e;function r(a){let s=a;return!!($e.defined(s)&&$e.string(s.uri)&&($e.undefined(s.languageId)||$e.string(s.languageId))&&$e.uinteger(s.lineCount)&&$e.func(s.getText)&&$e.func(s.positionAt)&&$e.func(s.offsetAt))}o(r,"is"),t.is=r;function n(a,s){let l=a.getText(),u=i(s,(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),h=l.length;for(let f=u.length-1;f>=0;f--){let d=u[f],p=a.offsetAt(d.range.start),m=a.offsetAt(d.range.end);if(m<=h)l=l.substring(0,p)+d.newText+l.substring(m,l.length);else throw new Error("Overlapping edit");h=p}return l}o(n,"applyEdits"),t.applyEdits=n;function i(a,s){if(a.length<=1)return a;let l=a.length/2|0,u=a.slice(0,l),h=a.slice(l);i(u,s),i(h,s);let f=0,d=0,p=0;for(;f0&&e.push(r.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return Xr.create(0,e);for(;ne?i=s:n=s+1}let a=n-1;return Xr.create(a,e-r[a])}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1"u"}o(n,"undefined"),t.undefined=n;function i(m){return m===!0||m===!1}o(i,"boolean"),t.boolean=i;function a(m){return e.call(m)==="[object String]"}o(a,"string"),t.string=a;function s(m){return e.call(m)==="[object Number]"}o(s,"number"),t.number=s;function l(m,g,y){return e.call(m)==="[object Number]"&&g<=m&&m<=y}o(l,"numberRange"),t.numberRange=l;function u(m){return e.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}o(u,"integer"),t.integer=u;function h(m){return e.call(m)==="[object Number]"&&0<=m&&m<=2147483647}o(h,"uinteger"),t.uinteger=h;function f(m){return e.call(m)==="[object Function]"}o(f,"func"),t.func=f;function d(m){return m!==null&&typeof m=="object"}o(d,"objectLiteral"),t.objectLiteral=d;function p(m,g){return Array.isArray(m)&&m.every(g)}o(p,"typedArray"),t.typedArray=p})($e||($e={}))});var Ix,Ox,bp,Tp,KM,l1,DE=N(()=>{"use strict";jM();Ml();Ix=class{static{o(this,"CstNodeBuilder")}constructor(){this.nodeStack=[]}get current(){var e;return(e=this.nodeStack[this.nodeStack.length-1])!==null&&e!==void 0?e:this.rootNode}buildRootNode(e){return this.rootNode=new l1(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Tp;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new bp(e.startOffset,e.image.length,Hm(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let a of e){let s=new bp(a.startOffset,a.image.length,Hm(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},Ox=class{static{o(this,"AbstractCstNode")}get parent(){return this.container}get feature(){return this.grammarSource}get hidden(){return!1}get astNode(){var e,r;let n=typeof((e=this._astNode)===null||e===void 0?void 0:e.$type)=="string"?this._astNode:(r=this.container)===null||r===void 0?void 0:r.astNode;if(!n)throw new Error("This node has no associated AST element");return n}set astNode(e){this._astNode=e}get element(){return this.astNode}get text(){return this.root.fullText.substring(this.offset,this.end)}},bp=class extends Ox{static{o(this,"LeafCstNodeImpl")}get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},Tp=class extends Ox{static{o(this,"CompositeCstNodeImpl")}constructor(){super(...arguments),this.content=new KM(this)}get children(){return this.content}get offset(){var e,r;return(r=(e=this.firstNonHiddenNode)===null||e===void 0?void 0:e.offset)!==null&&r!==void 0?r:0}get length(){return this.end-this.offset}get end(){var e,r;return(r=(e=this.lastNonHiddenNode)===null||e===void 0?void 0:e.end)!==null&&r!==void 0?r:0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},KM=class t extends Array{static{o(this,"CstNodeContainer")}constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},l1=class extends Tp{static{o(this,"RootCstNodeImpl")}get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}}});function QM(t){return t.$type===LE}var LE,Vce,Uce,Px,Bx,RE,c1,Fx,w$e,ZM,$x=N(()=>{"use strict";hf();zle();Ic();Pl();as();DE();LE=Symbol("Datatype");o(QM,"isDataTypeNode");Vce="\u200B",Uce=o(t=>t.endsWith(Vce)?t:t+Vce,"withRuleSuffix"),Px=class{static{o(this,"AbstractLangiumParser")}constructor(e){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";this.wrapper=new ZM(r,Object.assign(Object.assign({},e.parser.ParserConfig),{skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider}))}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},Bx=class extends Px{static{o(this,"LangiumParser")}get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new Ix,this.stack=[],this.assignmentMap=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i=this.wrapper.DEFINE_RULE(Uce(e.name),this.startImplementation(n,r).bind(this));return this.allRules.set(e.name,i),e.entry&&(this.mainRule=i),i}computeRuleType(e){if(!e.fragment){if(ox(e))return LE;{let r=Ig(e);return r??e.name}}}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let a=i.call(this.wrapper,{});return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,{value:a,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}startImplementation(e,r){return n=>{let i=!this.isRecording()&&e!==void 0;if(i){let s={$type:e};this.stack.push(s),e===LE&&(s.value="")}let a;try{a=r(n)}catch{a=void 0}return a===void 0&&i&&(a=this.construct()),a}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;in)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:l,isCrossRef:u}=this.getAssignment(n),h=this.current;if(l){let f=qo(n)?i.image:this.converter.convert(i.image,s);this.assign(l.operator,l.feature,f,s,u)}else if(QM(h)){let f=i.image;qo(n)||(f=this.converter.convert(f,s).toString()),h.value+=f}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let l=this.wrapper.wrapSubrule(e,r,a);!this.isRecording()&&s&&s.length>0&&this.performSubruleAssignment(l,i,s)}performSubruleAssignment(e,r,n){let{assignment:i,isCrossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){let s=this.current;if(QM(s))s.value+=e.toString();else if(typeof e=="object"&&e){let u=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(u)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode,!1)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.current;return Rk(e),this.nodeBuilder.construct(e),this.stack.pop(),QM(e)?this.converter.convert(e.value,e.$cstNode):(_N(this.astReflection,e),e)}getAssignment(e){if(!this.assignmentMap.has(e)){let r=op(e,Il);this.assignmentMap.set(e,{assignment:r,isCrossRef:r?sp(r.terminal):!1})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){let s=this.current,l;switch(a&&typeof n=="string"?l=this.linker.buildReference(s,r,i,n):l=n,e){case"=":{s[r]=l;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(l)}}assignWithoutOverride(e,r){for(let[i,a]of Object.entries(r)){let s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},RE=class{static{o(this,"AbstractParserErrorMessageProvider")}buildMismatchTokenMessage(e){return Vu.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Vu.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Vu.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Vu.buildEarlyExitMessage(e)}},c1=class extends RE{static{o(this,"LangiumParserErrorMessageProvider")}buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Fx=class extends Px{static{o(this,"LangiumCompletionParser")}constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Uce(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},w$e={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new c1},ZM=class extends _x{static{o(this,"ChevrotainWrapper")}constructor(e,r){let n=r&&"maxLookahead"in r;super(e,Object.assign(Object.assign(Object.assign({},w$e),{lookaheadStrategy:n?new Uu({maxLookahead:r.maxLookahead}):new Nx({logging:r.skipValidations?()=>{}:void 0})}),r))}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r){return this.RULE(e,r)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}}});function zx(t,e,r){return k$e({parser:e,tokens:r,ruleNames:new Map},t),e}function k$e(t,e){let r=ax(e,!1),n=Jr(e.rules).filter(Ia).filter(i=>r.has(i));for(let i of n){let a=Object.assign(Object.assign({},t),{consume:1,optional:1,subrule:1,many:1,or:1});t.parser.rule(i,wp(a,i.definition))}}function wp(t,e,r=!1){let n;if(qo(e))n=L$e(t,e);else if(Ou(e))n=E$e(t,e);else if(Il(e))n=wp(t,e.terminal);else if(sp(e))n=Hce(t,e);else if(Ol(e))n=S$e(t,e);else if(_k(e))n=A$e(t,e);else if(Lk(e))n=_$e(t,e);else if(lf(e))n=D$e(t,e);else if(xN(e)){let i=t.consume++;n=o(()=>t.parser.consume(i,uo,e),"method")}else throw new ip(e.$cstNode,`Unexpected element type: ${e.$type}`);return Wce(t,r?void 0:NE(e),n,e.cardinality)}function E$e(t,e){let r=lx(e);return()=>t.parser.action(r,e)}function S$e(t,e){let r=e.rule.ref;if(Ia(r)){let n=t.subrule++,i=r.fragment,a=e.arguments.length>0?C$e(r,e.arguments):()=>({});return s=>t.parser.subrule(n,qce(t,r),i,e,a(s))}else if(lo(r)){let n=t.consume++,i=JM(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)Mc(r);else throw new ip(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function C$e(t,e){let r=e.map(n=>Hu(n.value));return n=>{let i={};for(let a=0;ae(n)||r(n)}else if(hN(t)){let e=Hu(t.left),r=Hu(t.right);return n=>e(n)&&r(n)}else if(dN(t)){let e=Hu(t.value);return r=>!e(r)}else if(pN(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(uN(t)){let e=!!t.true;return()=>e}Mc(t)}function A$e(t,e){if(e.elements.length===1)return wp(t,e.elements[0]);{let r=[];for(let i of e.elements){let a={ALT:wp(t,i,!0)},s=NE(i);s&&(a.GATE=Hu(s)),r.push(a)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{let s={ALT:o(()=>a.ALT(i),"ALT")},l=a.GATE;return l&&(s.GATE=()=>l(i)),s}))}}function _$e(t,e){if(e.elements.length===1)return wp(t,e.elements[0]);let r=[];for(let l of e.elements){let u={ALT:wp(t,l,!0)},h=NE(l);h&&(u.GATE=Hu(h)),r.push(u)}let n=t.or++,i=o((l,u)=>{let h=u.getRuleStack().join("-");return`uGroup_${l}_${h}`},"idFunc"),a=o(l=>t.parser.alternatives(n,r.map((u,h)=>{let f={ALT:o(()=>!0,"ALT")},d=t.parser;f.ALT=()=>{if(u.ALT(l),!d.isRecording()){let m=i(n,d);d.unorderedGroups.get(m)||d.unorderedGroups.set(m,[]);let g=d.unorderedGroups.get(m);typeof g?.[h]>"u"&&(g[h]=!0)}};let p=u.GATE;return p?f.GATE=()=>p(l):f.GATE=()=>{let m=d.unorderedGroups.get(i(n,d));return!m?.[h]},f})),"alternatives"),s=Wce(t,NE(e),a,"*");return l=>{s(l),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function D$e(t,e){let r=e.elements.map(n=>wp(t,n));return n=>r.forEach(i=>i(n))}function NE(t){if(lf(t))return t.guardCondition}function Hce(t,e,r=e.terminal){if(r)if(Ol(r)&&Ia(r.rule.ref)){let n=r.rule.ref,i=t.subrule++;return a=>t.parser.subrule(i,qce(t,n),!1,e,a)}else if(Ol(r)&&lo(r.rule.ref)){let n=t.consume++,i=JM(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(qo(r)){let n=t.consume++,i=JM(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let n=Pk(e.type.ref),i=n?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+lx(e.type.ref));return Hce(t,e,i)}}function L$e(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Wce(t,e,r,n){let i=e&&Hu(e);if(!n)if(i){let a=t.or++;return s=>t.parser.alternatives(a,[{ALT:o(()=>r(s),"ALT"),GATE:o(()=>i(s),"GATE")},{ALT:TE(),GATE:o(()=>!i(s),"GATE")}])}else return r;if(n==="*"){let a=t.many++;return s=>t.parser.many(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else if(n==="+"){let a=t.many++;if(i){let s=t.or++;return l=>t.parser.alternatives(s,[{ALT:o(()=>t.parser.atLeastOne(a,{DEF:o(()=>r(l),"DEF")}),"ALT"),GATE:o(()=>i(l),"GATE")},{ALT:TE(),GATE:o(()=>!i(l),"GATE")}])}else return s=>t.parser.atLeastOne(a,{DEF:o(()=>r(s),"DEF")})}else if(n==="?"){let a=t.optional++;return s=>t.parser.optional(a,{DEF:o(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else Mc(n)}function qce(t,e){let r=R$e(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function R$e(t,e){if(Ia(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Ia(n);)(lf(n)||_k(n)||Lk(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function JM(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}var ME=N(()=>{"use strict";hf();Ic();kk();$s();Pl();o(zx,"createParser");o(k$e,"buildRules");o(wp,"buildElement");o(E$e,"buildAction");o(S$e,"buildRuleCall");o(C$e,"buildRuleCallPredicate");o(Hu,"buildPredicate");o(A$e,"buildAlternatives");o(_$e,"buildUnorderedGroup");o(D$e,"buildGroup");o(NE,"getGuardCondition");o(Hce,"buildCrossReference");o(L$e,"buildKeyword");o(Wce,"wrap");o(qce,"getRule");o(R$e,"getRuleName");o(JM,"getToken")});function eI(t){let e=t.Grammar,r=t.parser.Lexer,n=new Fx(t);return zx(e,n,r.definition),n.finalize(),n}var tI=N(()=>{"use strict";$x();ME();o(eI,"createCompletionParser")});function rI(t){let e=Yce(t);return e.finalize(),e}function Yce(t){let e=t.Grammar,r=t.parser.Lexer,n=new Bx(t);return zx(e,n,r.definition)}var nI=N(()=>{"use strict";$x();ME();o(rI,"createLangiumParser");o(Yce,"prepareLangiumParser")});var Wu,IE=N(()=>{"use strict";hf();Ic();as();Pl();Mg();$s();Wu=class{static{o(this,"DefaultTokenBuilder")}constructor(){this.diagnostics=[]}buildTokens(e,r){let n=Jr(ax(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return i.forEach(s=>{let l=s.PATTERN;typeof l=="object"&&l&&"test"in l&&Ng(l)?a.unshift(s):a.push(s)}),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(lo).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Og(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Ng(r)?Xn.SKIPPED:"hidden"),i}requiresCustomPattern(e){return e.flags.includes("u")||e.flags.includes("s")?!0:!!(e.source.includes("?<=")||e.source.includes("?(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(Ia).flatMap(i=>Oc(i).filter(qo)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(ON(e.value)):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let a=i?.PATTERN;return a?.source&&PN("^"+a.source+"$",e.value)&&n.push(i),n},[])}}});var kp,Fc,iI=N(()=>{"use strict";Ic();Pl();kp=class{static{o(this,"DefaultValueConverter")}convert(e,r){let n=r.grammarSource;if(sp(n)&&(n=$N(n)),Ol(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){var i;switch(e.name.toUpperCase()){case"INT":return Fc.convertInt(r);case"STRING":return Fc.convertString(r);case"ID":return Fc.convertID(r)}switch((i=qN(e))===null||i===void 0?void 0:i.toLowerCase()){case"number":return Fc.convertNumber(r);case"boolean":return Fc.convertBoolean(r);case"bigint":return Fc.convertBigint(r);case"date":return Fc.convertDate(r);default:return r}}};(function(t){function e(h){let f="";for(let d=1;d{"use strict";Object.defineProperty(oI,"__esModule",{value:!0});var aI;function sI(){if(aI===void 0)throw new Error("No runtime abstraction layer installed");return aI}o(sI,"RAL");(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");aI=r}o(e,"install"),t.install=e})(sI||(sI={}));oI.default=sI});var Kce=Ii(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.stringArray=Pa.array=Pa.func=Pa.error=Pa.number=Pa.string=Pa.boolean=void 0;function N$e(t){return t===!0||t===!1}o(N$e,"boolean");Pa.boolean=N$e;function Xce(t){return typeof t=="string"||t instanceof String}o(Xce,"string");Pa.string=Xce;function M$e(t){return typeof t=="number"||t instanceof Number}o(M$e,"number");Pa.number=M$e;function I$e(t){return t instanceof Error}o(I$e,"error");Pa.error=I$e;function O$e(t){return typeof t=="function"}o(O$e,"func");Pa.func=O$e;function jce(t){return Array.isArray(t)}o(jce,"array");Pa.array=jce;function P$e(t){return jce(t)&&t.every(e=>Xce(e))}o(P$e,"stringArray");Pa.stringArray=P$e});var uI=Ii(u1=>{"use strict";Object.defineProperty(u1,"__esModule",{value:!0});u1.Emitter=u1.Event=void 0;var B$e=lI(),Qce;(function(t){let e={dispose(){}};t.None=function(){return e}})(Qce||(u1.Event=Qce={}));var cI=class{static{o(this,"CallbackList")}add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:o(()=>this.remove(e,r),"dispose")})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,a=this._callbacks.length;i{this._callbacks||(this._callbacks=new cI),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:o(()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};u1.Emitter=OE;OE._noop=function(){}});var Zce=Ii(h1=>{"use strict";Object.defineProperty(h1,"__esModule",{value:!0});h1.CancellationTokenSource=h1.CancellationToken=void 0;var F$e=lI(),$$e=Kce(),hI=uI(),PE;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:hI.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:hI.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||$$e.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}o(e,"is"),t.is=e})(PE||(h1.CancellationToken=PE={}));var z$e=Object.freeze(function(t,e){let r=(0,F$e.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),BE=class{static{o(this,"MutableToken")}constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?z$e:(this._emitter||(this._emitter=new hI.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},fI=class{static{o(this,"CancellationTokenSource")}get token(){return this._token||(this._token=new BE),this._token}cancel(){this._token?this._token.cancel():this._token=PE.Cancelled}dispose(){this._token?this._token instanceof BE&&this._token.dispose():this._token=PE.None}};h1.CancellationTokenSource=fI});var vr={};var Xo=N(()=>{"use strict";Sr(vr,Sa(Zce(),1))});function dI(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}function $E(){return FE=performance.now(),new vr.CancellationTokenSource}function eue(t){Jce=t}function zc(t){return t===$c}async function Ti(t){if(t===vr.CancellationToken.None)return;let e=performance.now();if(e-FE>=Jce&&(FE=e,await dI(),FE=performance.now()),t.isCancellationRequested)throw $c}var FE,Jce,$c,us,jo=N(()=>{"use strict";Xo();o(dI,"delayNextTick");FE=0,Jce=10;o($E,"startCancelableOperation");o(eue,"setInterruptionPeriod");$c=Symbol("OperationCancelled");o(zc,"isOperationCancelled");o(Ti,"interruptAndCheck");us=class{static{o(this,"Deferred")}constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}}});function pI(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);pI(n,e),pI(i,e);let a=0,s=0,l=0;for(;ar.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function G$e(t){let e=nue(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var zE,f1,iue=N(()=>{"use strict";zE=class t{static{o(this,"FullTextDocument")}constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=nue(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);let l=Math.max(i.start.line,0),u=Math.max(i.end.line,0),h=this._lineOffsets,f=tue(n.text,!1,a);if(u-l===f.length)for(let p=0,m=f.length;pe?i=s:n=s+1}let a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line];if(e.character<=0)return n;let i=e.line+1r&&rue(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}};(function(t){function e(i,a,s,l){return new zE(i,a,s,l)}o(e,"create"),t.create=e;function r(i,a,s){if(i instanceof zE)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}o(r,"update"),t.update=r;function n(i,a){let s=i.getText(),l=pI(a.map(G$e),(f,d)=>{let p=f.range.start.line-d.range.start.line;return p===0?f.range.start.character-d.range.start.character:p}),u=0,h=[];for(let f of l){let d=i.offsetAt(f.range.start);if(du&&h.push(s.substring(u,d)),f.newText.length&&h.push(f.newText),u=i.offsetAt(f.range.end)}return h.push(s.substr(u)),h.join("")}o(n,"applyEdits"),t.applyEdits=n})(f1||(f1={}));o(pI,"mergeSort");o(tue,"computeLineOffsets");o(rue,"isEOL");o(nue,"getWellformedRange");o(G$e,"getWellformedEdit")});var aue,hs,d1,mI=N(()=>{"use strict";(()=>{"use strict";var t={470:i=>{function a(u){if(typeof u!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(u))}o(a,"e");function s(u,h){for(var f,d="",p=0,m=-1,g=0,y=0;y<=u.length;++y){if(y2){var v=d.lastIndexOf("/");if(v!==d.length-1){v===-1?(d="",p=0):p=(d=d.slice(0,v)).length-1-d.lastIndexOf("/"),m=y,g=0;continue}}else if(d.length===2||d.length===1){d="",p=0,m=y,g=0;continue}}h&&(d.length>0?d+="/..":d="..",p=2)}else d.length>0?d+="/"+u.slice(m+1,y):d=u.slice(m+1,y),p=y-m-1;m=y,g=0}else f===46&&g!==-1?++g:g=-1}return d}o(s,"r");var l={resolve:o(function(){for(var u,h="",f=!1,d=arguments.length-1;d>=-1&&!f;d--){var p;d>=0?p=arguments[d]:(u===void 0&&(u=process.cwd()),p=u),a(p),p.length!==0&&(h=p+"/"+h,f=p.charCodeAt(0)===47)}return h=s(h,!f),f?h.length>0?"/"+h:"/":h.length>0?h:"."},"resolve"),normalize:o(function(u){if(a(u),u.length===0)return".";var h=u.charCodeAt(0)===47,f=u.charCodeAt(u.length-1)===47;return(u=s(u,!h)).length!==0||h||(u="."),u.length>0&&f&&(u+="/"),h?"/"+u:u},"normalize"),isAbsolute:o(function(u){return a(u),u.length>0&&u.charCodeAt(0)===47},"isAbsolute"),join:o(function(){if(arguments.length===0)return".";for(var u,h=0;h0&&(u===void 0?u=f:u+="/"+f)}return u===void 0?".":l.normalize(u)},"join"),relative:o(function(u,h){if(a(u),a(h),u===h||(u=l.resolve(u))===(h=l.resolve(h)))return"";for(var f=1;fy){if(h.charCodeAt(m+x)===47)return h.slice(m+x+1);if(x===0)return h.slice(m+x)}else p>y&&(u.charCodeAt(f+x)===47?v=x:x===0&&(v=0));break}var b=u.charCodeAt(f+x);if(b!==h.charCodeAt(m+x))break;b===47&&(v=x)}var T="";for(x=f+v+1;x<=d;++x)x!==d&&u.charCodeAt(x)!==47||(T.length===0?T+="..":T+="/..");return T.length>0?T+h.slice(m+v):(m+=v,h.charCodeAt(m)===47&&++m,h.slice(m))},"relative"),_makeLong:o(function(u){return u},"_makeLong"),dirname:o(function(u){if(a(u),u.length===0)return".";for(var h=u.charCodeAt(0),f=h===47,d=-1,p=!0,m=u.length-1;m>=1;--m)if((h=u.charCodeAt(m))===47){if(!p){d=m;break}}else p=!1;return d===-1?f?"/":".":f&&d===1?"//":u.slice(0,d)},"dirname"),basename:o(function(u,h){if(h!==void 0&&typeof h!="string")throw new TypeError('"ext" argument must be a string');a(u);var f,d=0,p=-1,m=!0;if(h!==void 0&&h.length>0&&h.length<=u.length){if(h.length===u.length&&h===u)return"";var g=h.length-1,y=-1;for(f=u.length-1;f>=0;--f){var v=u.charCodeAt(f);if(v===47){if(!m){d=f+1;break}}else y===-1&&(m=!1,y=f+1),g>=0&&(v===h.charCodeAt(g)?--g==-1&&(p=f):(g=-1,p=y))}return d===p?p=y:p===-1&&(p=u.length),u.slice(d,p)}for(f=u.length-1;f>=0;--f)if(u.charCodeAt(f)===47){if(!m){d=f+1;break}}else p===-1&&(m=!1,p=f+1);return p===-1?"":u.slice(d,p)},"basename"),extname:o(function(u){a(u);for(var h=-1,f=0,d=-1,p=!0,m=0,g=u.length-1;g>=0;--g){var y=u.charCodeAt(g);if(y!==47)d===-1&&(p=!1,d=g+1),y===46?h===-1?h=g:m!==1&&(m=1):h!==-1&&(m=-1);else if(!p){f=g+1;break}}return h===-1||d===-1||m===0||m===1&&h===d-1&&h===f+1?"":u.slice(h,d)},"extname"),format:o(function(u){if(u===null||typeof u!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof u);return function(h,f){var d=f.dir||f.root,p=f.base||(f.name||"")+(f.ext||"");return d?d===f.root?d+p:d+"/"+p:p}(0,u)},"format"),parse:o(function(u){a(u);var h={root:"",dir:"",base:"",ext:"",name:""};if(u.length===0)return h;var f,d=u.charCodeAt(0),p=d===47;p?(h.root="/",f=1):f=0;for(var m=-1,g=0,y=-1,v=!0,x=u.length-1,b=0;x>=f;--x)if((d=u.charCodeAt(x))!==47)y===-1&&(v=!1,y=x+1),d===46?m===-1?m=x:b!==1&&(b=1):m!==-1&&(b=-1);else if(!v){g=x+1;break}return m===-1||y===-1||b===0||b===1&&m===y-1&&m===g+1?y!==-1&&(h.base=h.name=g===0&&p?u.slice(1,y):u.slice(g,y)):(g===0&&p?(h.name=u.slice(1,m),h.base=u.slice(1,y)):(h.name=u.slice(g,m),h.base=u.slice(g,y)),h.ext=u.slice(m,y)),g>0?h.dir=u.slice(0,g-1):p&&(h.dir="/"),h},"parse"),sep:"/",delimiter:":",win32:null,posix:null};l.posix=l,i.exports=l}},e={};function r(i){var a=e[i];if(a!==void 0)return a.exports;var s=e[i]={exports:{}};return t[i](s,s.exports,r),s.exports}o(r,"r"),r.d=(i,a)=>{for(var s in a)r.o(a,s)&&!r.o(i,s)&&Object.defineProperty(i,s,{enumerable:!0,get:a[s]})},r.o=(i,a)=>Object.prototype.hasOwnProperty.call(i,a),r.r=i=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})};var n={};(()=>{let i;r.r(n),r.d(n,{URI:o(()=>p,"URI"),Utils:o(()=>O,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let a=/^\w[\w\d+.-]*$/,s=/^\//,l=/^\/\//;function u(R,k){if(!R.scheme&&k)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${R.authority}", path: "${R.path}", query: "${R.query}", fragment: "${R.fragment}"}`);if(R.scheme&&!a.test(R.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(R.path){if(R.authority){if(!s.test(R.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(l.test(R.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}o(u,"s");let h="",f="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class p{static{o(this,"f")}static isUri(k){return k instanceof p||!!k&&typeof k.authority=="string"&&typeof k.fragment=="string"&&typeof k.path=="string"&&typeof k.query=="string"&&typeof k.scheme=="string"&&typeof k.fsPath=="string"&&typeof k.with=="function"&&typeof k.toString=="function"}scheme;authority;path;query;fragment;constructor(k,L,S,I,M,P=!1){typeof k=="object"?(this.scheme=k.scheme||h,this.authority=k.authority||h,this.path=k.path||h,this.query=k.query||h,this.fragment=k.fragment||h):(this.scheme=function(B,F){return B||F?B:"file"}(k,P),this.authority=L||h,this.path=function(B,F){switch(B){case"https":case"http":case"file":F?F[0]!==f&&(F=f+F):F=f}return F}(this.scheme,S||h),this.query=I||h,this.fragment=M||h,u(this,P))}get fsPath(){return b(this,!1)}with(k){if(!k)return this;let{scheme:L,authority:S,path:I,query:M,fragment:P}=k;return L===void 0?L=this.scheme:L===null&&(L=h),S===void 0?S=this.authority:S===null&&(S=h),I===void 0?I=this.path:I===null&&(I=h),M===void 0?M=this.query:M===null&&(M=h),P===void 0?P=this.fragment:P===null&&(P=h),L===this.scheme&&S===this.authority&&I===this.path&&M===this.query&&P===this.fragment?this:new g(L,S,I,M,P)}static parse(k,L=!1){let S=d.exec(k);return S?new g(S[2]||h,E(S[4]||h),E(S[5]||h),E(S[7]||h),E(S[9]||h),L):new g(h,h,h,h,h)}static file(k){let L=h;if(i&&(k=k.replace(/\\/g,f)),k[0]===f&&k[1]===f){let S=k.indexOf(f,2);S===-1?(L=k.substring(2),k=f):(L=k.substring(2,S),k=k.substring(S)||f)}return new g("file",L,k,h,h)}static from(k){let L=new g(k.scheme,k.authority,k.path,k.query,k.fragment);return u(L,!0),L}toString(k=!1){return T(this,k)}toJSON(){return this}static revive(k){if(k){if(k instanceof p)return k;{let L=new g(k);return L._formatted=k.external,L._fsPath=k._sep===m?k.fsPath:null,L}}return k}}let m=i?1:void 0;class g extends p{static{o(this,"l")}_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(k=!1){return k?T(this,!0):(this._formatted||(this._formatted=T(this,!1)),this._formatted)}toJSON(){let k={$mid:1};return this._fsPath&&(k.fsPath=this._fsPath,k._sep=m),this._formatted&&(k.external=this._formatted),this.path&&(k.path=this.path),this.scheme&&(k.scheme=this.scheme),this.authority&&(k.authority=this.authority),this.query&&(k.query=this.query),this.fragment&&(k.fragment=this.fragment),k}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(R,k,L){let S,I=-1;for(let M=0;M=97&&P<=122||P>=65&&P<=90||P>=48&&P<=57||P===45||P===46||P===95||P===126||k&&P===47||L&&P===91||L&&P===93||L&&P===58)I!==-1&&(S+=encodeURIComponent(R.substring(I,M)),I=-1),S!==void 0&&(S+=R.charAt(M));else{S===void 0&&(S=R.substr(0,M));let B=y[P];B!==void 0?(I!==-1&&(S+=encodeURIComponent(R.substring(I,M)),I=-1),S+=B):I===-1&&(I=M)}}return I!==-1&&(S+=encodeURIComponent(R.substring(I))),S!==void 0?S:R}o(v,"d");function x(R){let k;for(let L=0;L1&&R.scheme==="file"?`//${R.authority}${R.path}`:R.path.charCodeAt(0)===47&&(R.path.charCodeAt(1)>=65&&R.path.charCodeAt(1)<=90||R.path.charCodeAt(1)>=97&&R.path.charCodeAt(1)<=122)&&R.path.charCodeAt(2)===58?k?R.path.substr(1):R.path[1].toLowerCase()+R.path.substr(2):R.path,i&&(L=L.replace(/\//g,"\\")),L}o(b,"m");function T(R,k){let L=k?x:v,S="",{scheme:I,authority:M,path:P,query:B,fragment:F}=R;if(I&&(S+=I,S+=":"),(M||I==="file")&&(S+=f,S+=f),M){let z=M.indexOf("@");if(z!==-1){let $=M.substr(0,z);M=M.substr(z+1),z=$.lastIndexOf(":"),z===-1?S+=L($,!1,!1):(S+=L($.substr(0,z),!1,!1),S+=":",S+=L($.substr(z+1),!1,!0)),S+="@"}M=M.toLowerCase(),z=M.lastIndexOf(":"),z===-1?S+=L(M,!1,!0):(S+=L(M.substr(0,z),!1,!0),S+=M.substr(z))}if(P){if(P.length>=3&&P.charCodeAt(0)===47&&P.charCodeAt(2)===58){let z=P.charCodeAt(1);z>=65&&z<=90&&(P=`/${String.fromCharCode(z+32)}:${P.substr(3)}`)}else if(P.length>=2&&P.charCodeAt(1)===58){let z=P.charCodeAt(0);z>=65&&z<=90&&(P=`${String.fromCharCode(z+32)}:${P.substr(2)}`)}S+=L(P,!0,!1)}return B&&(S+="?",S+=L(B,!1,!1)),F&&(S+="#",S+=k?F:v(F,!1,!1)),S}o(T,"y");function C(R){try{return decodeURIComponent(R)}catch{return R.length>3?R.substr(0,3)+C(R.substr(3)):R}}o(C,"v");let w=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function E(R){return R.match(w)?R.replace(w,k=>C(k)):R}o(E,"C");var _=r(470);let A=_.posix||_,D="/";var O;(function(R){R.joinPath=function(k,...L){return k.with({path:A.join(k.path,...L)})},R.resolvePath=function(k,...L){let S=k.path,I=!1;S[0]!==D&&(S=D+S,I=!0);let M=A.resolve(S,...L);return I&&M[0]===D&&!k.authority&&(M=M.substring(1)),k.with({path:M})},R.dirname=function(k){if(k.path.length===0||k.path===D)return k;let L=A.dirname(k.path);return L.length===1&&L.charCodeAt(0)===46&&(L=""),k.with({path:L})},R.basename=function(k){return A.basename(k.path)},R.extname=function(k){return A.extname(k.path)}})(O||(O={}))})(),aue=n})();({URI:hs,Utils:d1}=aue)});var fs,Gc=N(()=>{"use strict";mI();(function(t){t.basename=d1.basename,t.dirname=d1.dirname,t.extname=d1.extname,t.joinPath=d1.joinPath,t.resolvePath=d1.resolvePath;function e(i,a){return i?.toString()===a?.toString()}o(e,"equals"),t.equals=e;function r(i,a){let s=typeof i=="string"?i:i.path,l=typeof a=="string"?a:a.path,u=s.split("/").filter(m=>m.length>0),h=l.split("/").filter(m=>m.length>0),f=0;for(;f{"use strict";iue();p1();Xo();$s();Gc();(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(wn||(wn={}));Gx=class{static{o(this,"DefaultLangiumDocumentFactory")}constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=vr.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??hs.parse(e.uri),vr.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return vr.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:wn.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:wn.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){var n,i;let a=(n=e.parseResult.value.$cstNode)===null||n===void 0?void 0:n.root.fullText,s=(i=this.textDocuments)===null||i===void 0?void 0:i.get(e.uri.toString()),l=s?s.getText():await this.fileSystemProvider.readFile(e.uri);if(s)Object.defineProperty(e,"textDocument",{value:s});else{let u=this.createTextDocumentGetter(e.uri,l);Object.defineProperty(e,"textDocument",{get:u})}return a!==l&&(e.parseResult=await this.parseAsync(e.uri,l,r),e.parseResult.value.$document=e),e.state=wn.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=f1.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Vx=class{static{o(this,"DefaultLangiumDocuments")}constructor(e){this.documentMap=new Map,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.serviceRegistry=e.ServiceRegistry}get all(){return Jr(this.documentMap.values())}addDocument(e){let r=e.uri.toString();if(this.documentMap.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentMap.set(r,e)}getDocument(e){let r=e.toString();return this.documentMap.get(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentMap.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(this.serviceRegistry.getServices(e).references.Linker.unlink(n),n.state=wn.Changed,n.precomputedScopes=void 0,n.diagnostics=void 0),n}deleteDocument(e){let r=e.toString(),n=this.documentMap.get(r);return n&&(n.state=wn.Changed,this.documentMap.delete(r)),n}}});var gI,Ux,yI=N(()=>{"use strict";Xo();Nl();as();jo();p1();gI=Symbol("ref_resolving"),Ux=class{static{o(this,"DefaultLinker")}constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator}async link(e,r=vr.CancellationToken.None){for(let n of Yo(e.parseResult.value))await Ti(r),Lg(n).forEach(i=>this.doLink(i,e))}doLink(e,r){var n;let i=e.reference;if(i._ref===void 0){i._ref=gI;try{let a=this.getCandidate(e);if(tp(a))i._ref=a;else if(i._nodeDescription=a,this.langiumDocuments().hasDocument(a.documentUri)){let s=this.loadAstNode(a);i._ref=s??this.createLinkingError(e,a)}else i._ref=void 0}catch(a){console.error(`An error occurred while resolving reference to '${i.$refText}':`,a);let s=(n=a.message)!==null&&n!==void 0?n:String(a);i._ref=Object.assign(Object.assign({},e),{message:`An error occurred while resolving reference to '${i.$refText}': ${s}`})}r.references.push(i)}}unlink(e){for(let r of e.references)delete r._ref,delete r._nodeDescription;e.references=[]}getCandidate(e){let n=this.scopeProvider.getScope(e).getElement(e.reference.$refText);return n??this.createLinkingError(e)}buildReference(e,r,n,i){let a=this,s={$refNode:n,$refText:i,get ref(){var l;if(si(this._ref))return this._ref;if(nN(this._nodeDescription)){let u=a.loadAstNode(this._nodeDescription);this._ref=u??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=gI;let u=J2(e).$document,h=a.getLinkedNode({reference:s,container:e,property:r});if(h.error&&u&&u.state{"use strict";Pl();o(sue,"isNamed");Hx=class{static{o(this,"DefaultNameProvider")}getName(e){if(sue(e))return e.name}getNameNode(e){return sx(e.$cstNode,"name")}}});var Wx,xI=N(()=>{"use strict";Pl();Nl();as();Ml();$s();Gc();Wx=class{static{o(this,"DefaultReferences")}constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator}findDeclaration(e){if(e){let r=WN(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(ma(i))return i.ref;if(Array.isArray(i)){for(let a of i)if(ma(a)&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return a.ref}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||aN(e,i)))return n}}}findDeclarationNode(e){let r=this.findDeclaration(e);if(r?.$cstNode){let n=this.nameProvider.getNameNode(r);return n??r.$cstNode}}findReferences(e,r){let n=[];if(r.includeDeclaration){let a=this.getReferenceToSelf(e);a&&n.push(a)}let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>fs.equals(a.sourceUri,r.documentUri))),n.push(...i),Jr(n)}getReferenceToSelf(e){let r=this.nameProvider.getNameNode(e);if(r){let n=Oa(e),i=this.nodeLocator.getAstNodePath(e);return{sourceUri:n.uri,sourcePath:i,targetUri:n.uri,targetPath:i,segment:np(r),local:!0}}}}});var Fl,Ep,m1=N(()=>{"use strict";$s();Fl=class{static{o(this,"MultiMap")}constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return Um.sum(Jr(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){var r;return(r=this.map.get(e))!==null&&r!==void 0?r:[]}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Jr(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Jr(this.map.keys())}values(){return Jr(this.map.values()).flat()}entriesGroupedByKey(){return Jr(this.map.entries())}},Ep=class{static{o(this,"BiMap")}get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}}});var qx,bI=N(()=>{"use strict";Xo();as();m1();jo();qx=class{static{o(this,"DefaultScopeComputation")}constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async computeExports(e,r=vr.CancellationToken.None){return this.computeExportsForNode(e.parseResult.value,e,void 0,r)}async computeExportsForNode(e,r,n=ex,i=vr.CancellationToken.None){let a=[];this.exportNode(e,a,r);for(let s of n(e))await Ti(i),this.exportNode(s,a,r);return a}exportNode(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async computeLocalScopes(e,r=vr.CancellationToken.None){let n=e.parseResult.value,i=new Fl;for(let a of Oc(n))await Ti(r),this.processNode(a,e,i);return i}processNode(e,r,n){let i=e.$container;if(i){let a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}}});var g1,Yx,V$e,TI=N(()=>{"use strict";$s();g1=class{static{o(this,"StreamScope")}constructor(e,r,n){var i;this.elements=e,this.outerScope=r,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?this.elements.find(n=>n.name.toLowerCase()===e.toLowerCase()):this.elements.find(n=>n.name===e);if(r)return r;if(this.outerScope)return this.outerScope.getElement(e)}},Yx=class{static{o(this,"MapScope")}constructor(e,r,n){var i;this.elements=new Map,this.caseInsensitive=(i=n?.caseInsensitive)!==null&&i!==void 0?i:!1;for(let a of e){let s=this.caseInsensitive?a.name.toLowerCase():a.name;this.elements.set(s,a)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getAllElements(){let e=Jr(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},V$e={getElement(){},getAllElements(){return U2}}});var y1,Xx,Sp,GE,v1,VE=N(()=>{"use strict";y1=class{static{o(this,"DisposableCache")}constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Xx=class extends y1{static{o(this,"SimpleCache")}constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Sp=class extends y1{static{o(this,"ContextCache")}constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},GE=class extends Sp{static{o(this,"DocumentCache")}constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let a=n.concat(i);for(let s of a)this.clear(s)}))}},v1=class extends Xx{static{o(this,"WorkspaceCache")}constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}}});var jx,wI=N(()=>{"use strict";TI();as();$s();VE();jx=class{static{o(this,"DefaultScopeProvider")}constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new v1(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Oa(e.container).precomputedScopes;if(i){let s=e.container;do{let l=i.get(s);l.length>0&&r.push(Jr(l).filter(u=>this.reflection.isSubtype(u.type,n))),s=s.$container}while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new g1(Jr(e),r,n)}createScopeForNodes(e,r,n){let i=Jr(e).map(a=>{let s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new g1(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Yx(this.indexManager.allElements(e)))}}});function kI(t){return typeof t.$comment=="string"}function oue(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Kx,UE=N(()=>{"use strict";mI();Nl();as();Pl();o(kI,"isAstNodeWithComment");o(oue,"isIntermediateReference");Kx=class{static{o(this,"DefaultJsonSerializer")}constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,a=o((l,u)=>this.replacer(l,u,n),"defaultReplacer"),s=i?(l,u)=>i(l,u,a):a;try{return this.currentDocument=Oa(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:l}){var u,h,f,d;if(!this.ignoreProperties.has(e))if(ma(r)){let p=r.ref,m=n?r.$refText:void 0;if(p){let g=Oa(p),y="";this.currentDocument&&this.currentDocument!==g&&(l?y=l(g.uri,r):y=g.uri.toString());let v=this.astNodeLocator.getAstNodePath(p);return{$ref:`${y}#${v}`,$refText:m}}else return{$error:(h=(u=r.error)===null||u===void 0?void 0:u.message)!==null&&h!==void 0?h:"Could not resolve reference",$refText:m}}else if(si(r)){let p;if(a&&(p=this.addAstNodeRegionWithAssignmentsTo(Object.assign({},r)),(!e||r.$document)&&p?.$textRegion&&(p.$textRegion.documentURI=(f=this.currentDocument)===null||f===void 0?void 0:f.uri.toString())),i&&!e&&(p??(p=Object.assign({},r)),p.$sourceText=(d=r.$cstNode)===null||d===void 0?void 0:d.text),s){p??(p=Object.assign({},r));let m=this.commentProvider.getComment(r);m&&(p.$comment=m.replace(/\r/g,""))}return p??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=o(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{let s=GN(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(let[u,h]of Object.entries(e))if(Array.isArray(h))for(let f=0;f{"use strict";Gc();Qx=class{static{o(this,"DefaultServiceRegistry")}get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);this.languageIdMap.set(r.languageId,e),this.languageIdMap.size===1?this.singleton=e:this.singleton=void 0}getServices(e){var r,n;if(this.singleton!==void 0)return this.singleton;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let i=(n=(r=this.textDocuments)===null||r===void 0?void 0:r.get(e))===null||n===void 0?void 0:n.languageId;if(i!==void 0){let l=this.languageIdMap.get(i);if(l)return l}let a=fs.extname(e),s=this.fileExtensionMap.get(a);if(!s)throw i?new Error(`The service registry contains no services for the extension '${a}' for language '${i}'.`):new Error(`The service registry contains no services for the extension '${a}'.`);return s}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}}});function Cp(t){return{code:t}}var x1,Zx,Jx=N(()=>{"use strict";ho();m1();jo();$s();o(Cp,"diagnosticData");(function(t){t.all=["fast","slow","built-in"]})(x1||(x1={}));Zx=class{static{o(this,"ValidationRegistry")}constructor(e){this.entries=new Fl,this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");for(let[i,a]of Object.entries(e)){let s=a;if(Array.isArray(s))for(let l of s){let u={check:this.wrapValidationException(l,r),category:n};this.addEntry(i,u)}else if(typeof s=="function"){let l={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,l)}else Mc(s)}}wrapValidationException(e,r){return async(n,i,a)=>{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(zc(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);let s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Jr(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,l)=>{await this.handleException(()=>e.call(n,i,a,s,l),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}}});function lue(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=sx(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=UN(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function HE(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function cue(t){switch(t){case"error":return Cp(Ko.LexingError);case"warning":return Cp(Ko.LexingWarning);case"info":return Cp(Ko.LexingInfo);case"hint":return Cp(Ko.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var eb,Ko,SI=N(()=>{"use strict";Xo();Pl();as();Ml();jo();Jx();eb=class{static{o(this,"DefaultDocumentValidator")}constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData}async validateDocument(e,r={},n=vr.CancellationToken.None){let i=e.parseResult,a=[];if(await Ti(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===Ko.LexingError})||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===Ko.ParsingError}))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>{var l;return((l=s.data)===null||l===void 0?void 0:l.code)===Ko.LinkingError}))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(zc(s))throw s;console.error("An error occurred during validation:",s)}return await Ti(n),a}processLexingErrors(e,r,n){var i,a,s;let l=[...e.lexerErrors,...(a=(i=e.lexerReport)===null||i===void 0?void 0:i.diagnostics)!==null&&a!==void 0?a:[]];for(let u of l){let h=(s=u.severity)!==null&&s!==void 0?s:"error",f={severity:HE(h),range:{start:{line:u.line-1,character:u.column-1},end:{line:u.line-1,character:u.column+u.length-1}},message:u.message,data:cue(h),source:this.getSource()};r.push(f)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let l={line:0,character:0};a={start:l,end:l}}else{let l={line:s.endLine-1,character:s.endColumn};a={start:l,end:l}}}}else a=Hm(i.token);if(a){let s={severity:HE("error"),range:a,message:i.message,data:Cp(Ko.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let a=i.error;if(a){let s={node:a.container,property:a.property,index:a.index,data:{code:Ko.LinkingError,containerType:a.container.$type,property:a.property,refText:a.reference.$refText}};r.push(this.toDiagnostic("error",a.message,s))}}}async validateAst(e,r,n=vr.CancellationToken.None){let i=[],a=o((s,l,u)=>{i.push(this.toDiagnostic(s,l,u))},"acceptor");return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=vr.CancellationToken.None){var a;let s=this.validationRegistry.checksBefore;for(let l of s)await Ti(i),await l(e,n,(a=r.categories)!==null&&a!==void 0?a:[],i)}async validateAstNodes(e,r,n,i=vr.CancellationToken.None){await Promise.all(Yo(e).map(async a=>{await Ti(i);let s=this.validationRegistry.getChecks(a.$type,r.categories);for(let l of s)await l(a,n,i)}))}async validateAstAfter(e,r,n,i=vr.CancellationToken.None){var a;let s=this.validationRegistry.checksAfter;for(let l of s)await Ti(i),await l(e,n,(a=r.categories)!==null&&a!==void 0?a:[],i)}toDiagnostic(e,r,n){return{message:r,range:lue(n),severity:HE(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};o(lue,"getDiagnosticRange");o(HE,"toDiagnosticSeverity");o(cue,"toDiagnosticData");(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Ko||(Ko={}))});var tb,rb,CI=N(()=>{"use strict";Xo();Nl();as();Ml();jo();Gc();tb=class{static{o(this,"DefaultAstNodeDescriptionProvider")}constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Oa(e);r??(r=this.nameProvider.getName(e));let a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s,l=o(()=>{var u;return s??(s=np((u=this.nameProvider.getNameNode(e))!==null&&u!==void 0?u:e.$cstNode))},"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return l()},selectionSegment:np(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},rb=class{static{o(this,"DefaultReferenceDescriptionProvider")}constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=vr.CancellationToken.None){let n=[],i=e.parseResult.value;for(let a of Yo(i))await Ti(r),Lg(a).filter(s=>!tp(s)).forEach(s=>{let l=this.createDescription(s);l&&n.push(l)});return n}createDescription(e){let r=e.reference.$nodeDescription,n=e.reference.$refNode;if(!r||!n)return;let i=Oa(e.container).uri;return{sourceUri:i,sourcePath:this.nodeLocator.getAstNodePath(e.container),targetUri:r.documentUri,targetPath:r.path,segment:np(n),local:fs.equals(r.documentUri,i)}}}});var nb,AI=N(()=>{"use strict";nb=class{static{o(this,"DefaultAstNodeLocator")}constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;let s=a.indexOf(this.indexSeparator);if(s>0){let l=a.substring(0,s),u=parseInt(a.substring(s+1)),h=i[l];return h?.[u]}return i[a]},e)}}});var Kn={};var WE=N(()=>{"use strict";Sr(Kn,Sa(uI(),1))});var ib,_I=N(()=>{"use strict";WE();jo();ib=class{static{o(this,"DefaultConfigurationProvider")}constructor(e){this._ready=new us,this.settings={},this.workspaceConfig=!1,this.onConfigurationSectionUpdateEmitter=new Kn.Emitter,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var r,n;this.workspaceConfig=(n=(r=e.capabilities.workspace)===null||r===void 0?void 0:r.configuration)!==null&&n!==void 0?n:!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){e.settings&&Object.keys(e.settings).forEach(r=>{let n=e.settings[r];this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}}});var pf,DI=N(()=>{"use strict";(function(t){function e(r){return{dispose:o(async()=>await r(),"dispose")}}o(e,"create"),t.create=e})(pf||(pf={}))});var ab,LI=N(()=>{"use strict";Xo();DI();m1();jo();$s();Jx();p1();ab=class{static{o(this,"DefaultDocumentBuilder")}constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Fl,this.documentPhaseListeners=new Fl,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=wn.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=vr.CancellationToken.None){var i,a;for(let s of e){let l=s.uri.toString();if(s.state===wn.Validated){if(typeof r.validation=="boolean"&&r.validation)s.state=wn.IndexedReferences,s.diagnostics=void 0,this.buildState.delete(l);else if(typeof r.validation=="object"){let u=this.buildState.get(l),h=(i=u?.result)===null||i===void 0?void 0:i.validationChecks;if(h){let d=((a=r.validation.categories)!==null&&a!==void 0?a:x1.all).filter(p=>!h.includes(p));d.length>0&&(this.buildState.set(l,{completed:!1,options:{validation:Object.assign(Object.assign({},r.validation),{categories:d})},result:u.result}),s.state=wn.IndexedReferences)}}}else this.buildState.delete(l)}this.currentState=wn.Changed,await this.emitUpdate(e.map(s=>s.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=vr.CancellationToken.None){this.currentState=wn.Changed;for(let s of r)this.langiumDocuments.deleteDocument(s),this.buildState.delete(s.toString()),this.indexManager.remove(s);for(let s of e){if(!this.langiumDocuments.invalidateDocument(s)){let u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},s);u.state=wn.Changed,this.langiumDocuments.addDocument(u)}this.buildState.delete(s.toString())}let i=Jr(e).concat(r).map(s=>s.toString()).toSet();this.langiumDocuments.all.filter(s=>!i.has(s.uri.toString())&&this.shouldRelink(s,i)).forEach(s=>{this.serviceRegistry.getServices(s.uri).references.Linker.unlink(s),s.state=Math.min(s.state,wn.ComputedScopes),s.diagnostics=void 0}),await this.emitUpdate(e,r),await Ti(n);let a=this.sortDocuments(this.langiumDocuments.all.filter(s=>{var l;return s.staten(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r=0&&!this.hasTextDocument(e[n]);)n--;rn.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),pf.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,wn.Parsed,n,a=>this.langiumDocumentFactory.update(a,n)),await this.runCancelable(e,wn.IndexedContent,n,a=>this.indexManager.updateContent(a,n)),await this.runCancelable(e,wn.ComputedScopes,n,async a=>{let s=this.serviceRegistry.getServices(a.uri).references.ScopeComputation;a.precomputedScopes=await s.computeLocalScopes(a,n)}),await this.runCancelable(e,wn.Linked,n,a=>this.serviceRegistry.getServices(a.uri).references.Linker.link(a,n)),await this.runCancelable(e,wn.IndexedReferences,n,a=>this.indexManager.updateReferences(a,n));let i=e.filter(a=>this.shouldValidate(a));await this.runCancelable(i,wn.Validated,n,a=>this.validate(a,n));for(let a of e){let s=this.buildState.get(a.uri.toString());s&&(s.completed=!0)}}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a?.result})}}async runCancelable(e,r,n,i){let a=e.filter(l=>l.statel.state===r);await this.notifyBuildPhase(s,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),pf.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),pf.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;if(r&&"path"in r?i=r:n=r,n??(n=vr.CancellationToken.None),i){let a=this.langiumDocuments.getDocument(i);if(a&&a.state>e)return Promise.resolve(i)}return this.currentState>=e?Promise.resolve(void 0):n.isCancellationRequested?Promise.reject($c):new Promise((a,s)=>{let l=this.onBuildPhase(e,()=>{if(l.dispose(),u.dispose(),i){let h=this.langiumDocuments.getDocument(i);a(h?.uri)}else a(void 0)}),u=n.onCancellationRequested(()=>{l.dispose(),u.dispose(),s($c)})})}async notifyDocumentPhase(e,r,n){let a=this.documentPhaseListeners.get(r).slice();for(let s of a)try{await s(e,n)}catch(l){if(!zc(l))throw l}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let a=this.buildPhaseListeners.get(r).slice();for(let s of a)await Ti(n),await s(e,n)}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){var n,i;let a=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,s=this.getBuildOptions(e).validation,l=typeof s=="object"?s:void 0,u=await a.validateDocument(e,l,r);e.diagnostics?e.diagnostics.push(...u):e.diagnostics=u;let h=this.buildState.get(e.uri.toString());if(h){(n=h.result)!==null&&n!==void 0||(h.result={});let f=(i=l?.categories)!==null&&i!==void 0?i:x1.all;h.result.validationChecks?h.result.validationChecks.push(...f):h.result.validationChecks=[...f]}}getBuildOptions(e){var r,n;return(n=(r=this.buildState.get(e.uri.toString()))===null||r===void 0?void 0:r.options)!==null&&n!==void 0?n:{}}}});var sb,RI=N(()=>{"use strict";as();VE();Xo();$s();Gc();sb=class{static{o(this,"DefaultIndexManager")}constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Sp,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Oa(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{fs.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),Jr(i)}allElements(e,r){let n=Jr(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){var n;return r?this.symbolByTypeIndex.get(e,r,()=>{var a;return((a=this.symbolIndex.get(e))!==null&&a!==void 0?a:[]).filter(l=>this.astReflection.isSubtype(l.type,r))}):(n=this.symbolIndex.get(e))!==null&&n!==void 0?n:[]}remove(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r),this.referenceIndex.delete(r)}async updateContent(e,r=vr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.computeExports(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=vr.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}}});var ob,NI=N(()=>{"use strict";Xo();jo();Gc();ob=class{static{o(this,"DefaultWorkspaceManager")}constructor(e){this.initialBuildOptions={},this._ready=new us,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){var r;this.folders=(r=e.workspaceFolders)!==null&&r!==void 0?r:void 0}initialized(e){return this.mutex.write(r=>{var n;return this.initializeWorkspace((n=this.folders)!==null&&n!==void 0?n:[],r)})}async initializeWorkspace(e,r=vr.CancellationToken.None){let n=await this.performStartup(e);await Ti(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=this.serviceRegistry.all.flatMap(a=>a.LanguageMetaData.fileExtensions),n=[],i=o(a=>{n.push(a),this.langiumDocuments.hasDocument(a.uri)||this.langiumDocuments.addDocument(a)},"collector");return await this.loadAdditionalDocuments(e,i),await Promise.all(e.map(a=>[a,this.getRootFolder(a)]).map(async a=>this.traverseFolder(...a,r,i))),this._ready.resolve(),n}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return hs.parse(e.uri)}async traverseFolder(e,r,n,i){let a=await this.fileSystemProvider.readDirectory(r);await Promise.all(a.map(async s=>{if(this.includeEntry(e,s,n)){if(s.isDirectory)await this.traverseFolder(e,s.uri,n,i);else if(s.isFile){let l=await this.langiumDocuments.getOrCreateDocument(s.uri);i(l)}}}))}includeEntry(e,r,n){let i=fs.basename(r.uri);if(i.startsWith("."))return!1;if(r.isDirectory)return i!=="node_modules"&&i!=="out";if(r.isFile){let a=fs.extname(r.uri);return n.includes(a)}return!1}}});function YE(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function II(t){return t&&"modes"in t&&"defaultMode"in t}function MI(t){return!YE(t)&&!II(t)}var lb,qE,Ap,XE=N(()=>{"use strict";hf();lb=class{static{o(this,"DefaultLexerErrorMessageProvider")}buildUnexpectedCharactersMessage(e,r,n,i,a){return Hg.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return Hg.buildUnableToPopLexerModeMessage(e)}},qE={mode:"full"},Ap=class{static{o(this,"DefaultLexer")}constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=MI(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Xn(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=qE){var n,i,a;let s=this.chevrotainLexer.tokenize(e);return{tokens:s.tokens,errors:s.errors,hidden:(n=s.groups.hidden)!==null&&n!==void 0?n:[],report:(a=(i=this.tokenBuilder).flushLexingReport)===null||a===void 0?void 0:a.call(i,e)}}toTokenTypeDictionary(e){if(MI(e))return e;let r=II(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};o(YE,"isTokenTypeArray");o(II,"isIMultiModeLexerDefinition");o(MI,"isTokenTypeDictionary")});function BI(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Xr.create(0,0));let a=fue(t),s=$I(n),l=H$e({lines:a,position:i,options:s});return j$e({index:0,tokens:l,position:i})}function FI(t,e){let r=$I(e),n=fue(t);if(n.length===0)return!1;let i=n[0],a=n[n.length-1],s=r.start,l=r.end;return!!s?.exec(i)&&!!l?.exec(a)}function fue(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(MN)}function H$e(t){var e,r,n;let i=[],a=t.position.line,s=t.position.character;for(let l=0;l=f.length){if(i.length>0){let m=Xr.create(a,s);i.push({type:"break",content:"",range:Pr.create(m,m)})}}else{uue.lastIndex=d;let m=uue.exec(f);if(m){let g=m[0],y=m[1],v=Xr.create(a,s+d),x=Xr.create(a,s+d+g.length);i.push({type:"tag",content:y,range:Pr.create(v,x)}),d+=g.length,d=PI(f,d)}if(d0&&i[i.length-1].type==="break"?i.slice(0,-1):i}function W$e(t,e,r,n){let i=[];if(t.length===0){let a=Xr.create(r,n),s=Xr.create(r,n+e.length);i.push({type:"text",content:e,range:Pr.create(a,s)})}else{let a=0;for(let l of t){let u=l.index,h=e.substring(a,u);h.length>0&&i.push({type:"text",content:e.substring(a,u),range:Pr.create(Xr.create(r,a+n),Xr.create(r,u+n))});let f=h.length+1,d=l[1];if(i.push({type:"inline-tag",content:d,range:Pr.create(Xr.create(r,a+f+n),Xr.create(r,a+f+d.length+n))}),f+=d.length,l.length===4){f+=l[2].length;let p=l[3];i.push({type:"text",content:p,range:Pr.create(Xr.create(r,a+f+n),Xr.create(r,a+f+p.length+n))})}else i.push({type:"text",content:"",range:Pr.create(Xr.create(r,a+f+n),Xr.create(r,a+f+n))});a=u+l[0].length}let s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:Pr.create(Xr.create(r,a+n),Xr.create(r,a+n+s.length))})}return i}function PI(t,e){let r=t.substring(e).match(q$e);return r?e+r.index:t.length}function X$e(t){let e=t.match(Y$e);if(e&&typeof e.index=="number")return e.index}function j$e(t){var e,r,n,i;let a=Xr.create(t.position.line,t.position.character);if(t.tokens.length===0)return new jE([],Pr.create(a,a));let s=[];for(;t.index0){let u=PI(e,a);s=e.substring(u),e=e.substring(0,a)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(s=`\`${s}\``),(i=(n=r.renderLink)===null||n===void 0?void 0:n.call(r,e,s))!==null&&i!==void 0?i:eze(e,s)}}function eze(t,e){try{return hs.parse(t,!0),`[${e}](${t})`}catch{return t}}function hue(t){return t.endsWith(` +`)?` +`:` + +`}var uue,U$e,q$e,Y$e,jE,cb,ub,KE,zI=N(()=>{"use strict";jM();Mg();Gc();o(BI,"parseJSDoc");o(FI,"isJSDoc");o(fue,"getLines");uue=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,U$e=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;o(H$e,"tokenize");o(W$e,"buildInlineTokens");q$e=/\S/,Y$e=/\s*$/;o(PI,"skipWhitespace");o(X$e,"lastCharacter");o(j$e,"parseJSDocComment");o(K$e,"parseJSDocElement");o(Q$e,"appendEmptyLine");o(due,"parseJSDocText");o(Z$e,"parseJSDocInline");o(pue,"parseJSDocTag");o(mue,"parseJSDocLine");o($I,"normalizeOptions");o(OI,"normalizeOption");jE=class{static{o(this,"JSDocCommentImpl")}constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=hue(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=hue(r)+i}return r.trim()}},cb=class{static{o(this,"JSDocTagImpl")}constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e} +${r}`),this.inline?`{${e}}`:e}toMarkdown(e){var r,n;return(n=(r=e?.renderTag)===null||r===void 0?void 0:r.call(e,this))!==null&&n!==void 0?n:this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let a=J$e(this.name,r,e??{});if(typeof a=="string")return a}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i} +${r}`),this.inline?`{${i}}`:i}};o(J$e,"renderInlineTag");o(eze,"renderLinkDefault");ub=class{static{o(this,"JSDocTextImpl")}constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;rn.range.start.line&&(e+=` +`)}return e}toMarkdown(e){let r="";for(let n=0;ni.range.start.line&&(r+=` +`)}return r}},KE=class{static{o(this,"JSDocLineImpl")}constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};o(hue,"fillNewlines")});var hb,GI=N(()=>{"use strict";as();zI();hb=class{static{o(this,"JSDocDocumentationProvider")}constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&FI(r))return BI(r).toMarkdown({renderLink:o((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:o(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){var i;let a=(i=this.findNameInPrecomputedScopes(e,r))!==null&&i!==void 0?i:this.findNameInGlobalScope(e,r);if(a&&a.nameSegment){let s=a.nameSegment.range.start.line+1,l=a.nameSegment.range.start.character+1,u=a.documentUri.with({fragment:`L${s},${l}`});return`[${n}](${u.toString()})`}else return}documentationTagRenderer(e,r){}findNameInPrecomputedScopes(e,r){let i=Oa(e).precomputedScopes;if(!i)return;let a=e;do{let l=i.get(a).find(u=>u.name===r);if(l)return l;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}}});var fb,VI=N(()=>{"use strict";UE();Ml();fb=class{static{o(this,"DefaultCommentProvider")}constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return kI(e)?e.$comment:(r=oN(e.$cstNode,this.grammarConfig().multilineCommentRules))===null||r===void 0?void 0:r.text}}});var db,UI,HI,WI=N(()=>{"use strict";jo();WE();db=class{static{o(this,"DefaultAsyncParser")}constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},UI=class{static{o(this,"AbstractThreadedAsyncParser")}constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new us,a,s=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(l=>{let u=this.hydrator.hydrate(l);i.resolve(u)}).catch(l=>{i.reject(l)}).finally(()=>{s.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new us;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject($c)}),this.queue.push(r),r.promise}},HI=class{static{o(this,"ParserWorker")}get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new Kn.Emitter,this.deferred=new us,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{let s=a;this.deferred.resolve(s),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject($c),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new us,this.sendMessage(e),this.deferred.promise}}});var pb,qI=N(()=>{"use strict";Xo();jo();pb=class{static{o(this,"DefaultWorkspaceLock")}constructor(){this.previousTokenSource=new vr.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=$E();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=vr.CancellationToken.None){let i=new us,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){zc(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}}});var mb,YI=N(()=>{"use strict";DE();Ic();Nl();as();m1();Ml();mb=class{static{o(this,"DefaultHydrator")}constructor(e){this.grammarElementIdMap=new Ep,this.tokenTypeIdMap=new Ep,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>Object.assign(Object.assign({},r),{message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Yo(e))r.set(i,{});if(e.$cstNode)for(let i of rp(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)si(l)?s.push(this.dehydrateAstNode(l,r)):ma(l)?s.push(this.dehydrateReference(l,r)):s.push(l)}else si(a)?n[i]=this.dehydrateAstNode(a,r):ma(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return V2(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Rl(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):of(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let a of Yo(e))r.set(a,{});let i;if(e.$cstNode)for(let a of rp(e.$cstNode)){let s;"fullText"in a?(s=new l1(a.fullText),i=s):"content"in a?s=new Tp:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){let s=[];n[i]=s;for(let l of a)si(l)?s.push(this.setParent(this.hydrateAstNode(l,r),n)):ma(l)?s.push(this.hydrateReference(l,n,i,r)):s.push(l)}else si(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):ma(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Rl(i))for(let a of e.content){let s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,l=e.endLine,u=e.endColumn,h=e.hidden;return new bp(n,i,{start:{line:a,character:s},end:{line:l,character:u}},r,h)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of Yo(this.grammar))K2(r)&&this.grammarElementIdMap.set(r,e++)}}});function ga(t){return{documentation:{CommentProvider:o(e=>new fb(e),"CommentProvider"),DocumentationProvider:o(e=>new hb(e),"DocumentationProvider")},parser:{AsyncParser:o(e=>new db(e),"AsyncParser"),GrammarConfig:o(e=>XN(e),"GrammarConfig"),LangiumParser:o(e=>rI(e),"LangiumParser"),CompletionParser:o(e=>eI(e),"CompletionParser"),ValueConverter:o(()=>new kp,"ValueConverter"),TokenBuilder:o(()=>new Wu,"TokenBuilder"),Lexer:o(e=>new Ap(e),"Lexer"),ParserErrorMessageProvider:o(()=>new c1,"ParserErrorMessageProvider"),LexerErrorMessageProvider:o(()=>new lb,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:o(()=>new nb,"AstNodeLocator"),AstNodeDescriptionProvider:o(e=>new tb(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:o(e=>new rb(e),"ReferenceDescriptionProvider")},references:{Linker:o(e=>new Ux(e),"Linker"),NameProvider:o(()=>new Hx,"NameProvider"),ScopeProvider:o(e=>new jx(e),"ScopeProvider"),ScopeComputation:o(e=>new qx(e),"ScopeComputation"),References:o(e=>new Wx(e),"References")},serializer:{Hydrator:o(e=>new mb(e),"Hydrator"),JsonSerializer:o(e=>new Kx(e),"JsonSerializer")},validation:{DocumentValidator:o(e=>new eb(e),"DocumentValidator"),ValidationRegistry:o(e=>new Zx(e),"ValidationRegistry")},shared:o(()=>t.shared,"shared")}}function ya(t){return{ServiceRegistry:o(e=>new Qx(e),"ServiceRegistry"),workspace:{LangiumDocuments:o(e=>new Vx(e),"LangiumDocuments"),LangiumDocumentFactory:o(e=>new Gx(e),"LangiumDocumentFactory"),DocumentBuilder:o(e=>new ab(e),"DocumentBuilder"),IndexManager:o(e=>new sb(e),"IndexManager"),WorkspaceManager:o(e=>new ob(e),"WorkspaceManager"),FileSystemProvider:o(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:o(()=>new pb,"WorkspaceLock"),ConfigurationProvider:o(e=>new ib(e),"ConfigurationProvider")}}}var XI=N(()=>{"use strict";jN();tI();nI();IE();iI();yI();vI();xI();bI();wI();UE();EI();SI();Jx();CI();AI();_I();LI();p1();RI();NI();XE();GI();VI();$x();WI();qI();YI();o(ga,"createDefaultCoreModule");o(ya,"createDefaultSharedCoreModule")});function $n(t,e,r,n,i,a,s,l,u){let h=[t,e,r,n,i,a,s,l,u].reduce(QE,{});return bue(h)}function xue(t){if(t&&t[vue])for(let e of Object.values(t))xue(e);return t}function bue(t,e){let r=new Proxy({},{deleteProperty:o(()=>!1,"deleteProperty"),set:o(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:o((n,i)=>i===vue?!0:yue(n,i,t,e||r),"get"),getOwnPropertyDescriptor:o((n,i)=>(yue(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:o((n,i)=>i in t,"has"),ownKeys:o(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}function yue(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable.",{cause:t[e]});if(t[e]===gue)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=gue;try{t[e]=typeof i=="function"?i(n):bue(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}function QE(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!==void 0){let i=t[r];i!==null&&n!==null&&typeof i=="object"&&typeof n=="object"?t[r]=QE(i,n):t[r]=n}}return t}var jI,vue,gue,KI=N(()=>{"use strict";(function(t){t.merge=(e,r)=>QE(QE({},e),r)})(jI||(jI={}));o($n,"inject");vue=Symbol("isProxy");o(xue,"eagerLoad");o(bue,"_inject");gue=Symbol();o(yue,"_resolve");o(QE,"_merge")});var Tue=N(()=>{"use strict"});var wue=N(()=>{"use strict";VI();GI();zI()});var kue=N(()=>{"use strict"});var Eue=N(()=>{"use strict";jN();kue()});var QI,_p,ZE,ZI,Sue=N(()=>{"use strict";hf();IE();XE();QI={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]};(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(_p||(_p={}));ZE=class extends Wu{static{o(this,"IndentationAwareTokenBuilder")}constructor(e=QI){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options=Object.assign(Object.assign({},QI),e),this.indentTokenType=cf({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=cf({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!YE(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:s,ignoreIndentationDelimiters:l}=this.options,u,h,f,d=[];for(let p of n){for(let[m,g]of l)p.name===m?p.PUSH_MODE=_p.IGNORE_INDENTATION:p.name===g&&(p.POP_MODE=!0);p.name===a?u=p:p.name===i?h=p:p.name===s?f=p:d.push(p)}if(!u||!h||!f)throw new Error("Some indentation/whitespace tokens not found!");return l.length>0?{modes:{[_p.REGULAR]:[u,h,...d,f],[_p.IGNORE_INDENTATION]:[...d,f]},defaultMode:_p.REGULAR}:[u,h,f,...d]}flushLexingReport(e){let r=super.flushLexingReport(e);return Object.assign(Object.assign({},r),{remainingDedents:this.flushRemainingDedents(e)})}isStartOfLine(e,r){return r===0||`\r +`.includes(e[r-1])}matchWhitespace(e,r,n,i){var a;this.whitespaceRegExp.lastIndex=r;let s=this.whitespaceRegExp.exec(e);return{currIndentLevel:(a=s?.[0].length)!==null&&a!==void 0?a:0,prevIndentLevel:this.indentationStack.at(-1),match:s}}createIndentationTokenInstance(e,r,n,i){let a=this.getLineNumber(r,i);return Gu(e,n,i,i+n.length,a,a,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:a,prevIndentLevel:s,match:l}=this.matchWhitespace(e,r,n,i);return a<=s?null:(this.indentationStack.push(a),l)}dedentMatcher(e,r,n,i){var a,s,l,u;if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:h,prevIndentLevel:f,match:d}=this.matchWhitespace(e,r,n,i);if(h>=f)return null;let p=this.indentationStack.lastIndexOf(h);if(p===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${h} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:(s=(a=d?.[0])===null||a===void 0?void 0:a.length)!==null&&s!==void 0?s:0,line:this.getLineNumber(e,r),column:1}),null;let m=this.indentationStack.length-p-1,g=(u=(l=e.substring(0,r).match(/[\r\n]+$/))===null||l===void 0?void 0:l[0].length)!==null&&u!==void 0?u:1;for(let y=0;y1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},ZI=class extends Ap{static{o(this,"IndentationAwareLexer")}constructor(e){if(super(e),e.parser.TokenBuilder instanceof ZE)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=qE){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:a,dedentTokenType:s}=this.indentationTokenBuilder,l=a.tokenTypeIdx,u=s.tokenTypeIdx,h=[],f=n.tokens.length-1;for(let d=0;d=0&&h.push(n.tokens[f]),n.tokens=h,n}}});var Cue=N(()=>{"use strict"});var Aue=N(()=>{"use strict";WI();tI();DE();Sue();nI();$x();XE();ME();Cue();IE();iI()});var _ue=N(()=>{"use strict";yI();vI();xI();TI();bI();wI()});var Due=N(()=>{"use strict";YI();UE()});var JE,va,JI=N(()=>{"use strict";JE=class{static{o(this,"EmptyFileSystemProvider")}readFile(){throw new Error("No file system is available.")}async readDirectory(){return[]}},va={fileSystemProvider:o(()=>new JE,"fileSystemProvider")}});function nze(){let t=$n(ya(va),rze),e=$n(ga({shared:t}),tze);return t.ServiceRegistry.register(e),e}function Vc(t){var e;let r=nze(),n=r.serializer.JsonSerializer.deserialize(t);return r.shared.workspace.LangiumDocumentFactory.fromModel(n,hs.parse(`memory://${(e=n.name)!==null&&e!==void 0?e:"grammar"}.langium`)),n}var tze,rze,Lue=N(()=>{"use strict";XI();KI();Ic();JI();Gc();tze={Grammar:o(()=>{},"Grammar"),LanguageMetaData:o(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},rze={AstReflection:o(()=>new Dg,"AstReflection")};o(nze,"createMinimalGrammarServices");o(Vc,"loadGrammarFromJson")});var zr={};hr(zr,{AstUtils:()=>Nk,BiMap:()=>Ep,Cancellation:()=>vr,ContextCache:()=>Sp,CstUtils:()=>wk,DONE_RESULT:()=>Ma,Deferred:()=>us,Disposable:()=>pf,DisposableCache:()=>y1,DocumentCache:()=>GE,EMPTY_STREAM:()=>U2,ErrorWithLocation:()=>ip,GrammarUtils:()=>Bk,MultiMap:()=>Fl,OperationCancelled:()=>$c,Reduction:()=>Um,RegExpUtils:()=>Ok,SimpleCache:()=>Xx,StreamImpl:()=>oo,TreeStreamImpl:()=>Rc,URI:()=>hs,UriUtils:()=>fs,WorkspaceCache:()=>v1,assertUnreachable:()=>Mc,delayNextTick:()=>dI,interruptAndCheck:()=>Ti,isOperationCancelled:()=>zc,loadGrammarFromJson:()=>Vc,setInterruptionPeriod:()=>eue,startCancelableOperation:()=>$E,stream:()=>Jr});var Rue=N(()=>{"use strict";VE();WE();Sr(zr,Kn);m1();DI();kk();Lue();jo();$s();Gc();as();Xo();Ml();Pl();Mg()});var Nue=N(()=>{"use strict";SI();Jx()});var Mue=N(()=>{"use strict";CI();AI();_I();LI();p1();JI();RI();qI();NI()});var xa={};hr(xa,{AbstractAstReflection:()=>ep,AbstractCstNode:()=>Ox,AbstractLangiumParser:()=>Px,AbstractParserErrorMessageProvider:()=>RE,AbstractThreadedAsyncParser:()=>UI,AstUtils:()=>Nk,BiMap:()=>Ep,Cancellation:()=>vr,CompositeCstNodeImpl:()=>Tp,ContextCache:()=>Sp,CstNodeBuilder:()=>Ix,CstUtils:()=>wk,DEFAULT_TOKENIZE_OPTIONS:()=>qE,DONE_RESULT:()=>Ma,DatatypeSymbol:()=>LE,DefaultAstNodeDescriptionProvider:()=>tb,DefaultAstNodeLocator:()=>nb,DefaultAsyncParser:()=>db,DefaultCommentProvider:()=>fb,DefaultConfigurationProvider:()=>ib,DefaultDocumentBuilder:()=>ab,DefaultDocumentValidator:()=>eb,DefaultHydrator:()=>mb,DefaultIndexManager:()=>sb,DefaultJsonSerializer:()=>Kx,DefaultLangiumDocumentFactory:()=>Gx,DefaultLangiumDocuments:()=>Vx,DefaultLexer:()=>Ap,DefaultLexerErrorMessageProvider:()=>lb,DefaultLinker:()=>Ux,DefaultNameProvider:()=>Hx,DefaultReferenceDescriptionProvider:()=>rb,DefaultReferences:()=>Wx,DefaultScopeComputation:()=>qx,DefaultScopeProvider:()=>jx,DefaultServiceRegistry:()=>Qx,DefaultTokenBuilder:()=>Wu,DefaultValueConverter:()=>kp,DefaultWorkspaceLock:()=>pb,DefaultWorkspaceManager:()=>ob,Deferred:()=>us,Disposable:()=>pf,DisposableCache:()=>y1,DocumentCache:()=>GE,DocumentState:()=>wn,DocumentValidator:()=>Ko,EMPTY_SCOPE:()=>V$e,EMPTY_STREAM:()=>U2,EmptyFileSystem:()=>va,EmptyFileSystemProvider:()=>JE,ErrorWithLocation:()=>ip,GrammarAST:()=>Z2,GrammarUtils:()=>Bk,IndentationAwareLexer:()=>ZI,IndentationAwareTokenBuilder:()=>ZE,JSDocDocumentationProvider:()=>hb,LangiumCompletionParser:()=>Fx,LangiumParser:()=>Bx,LangiumParserErrorMessageProvider:()=>c1,LeafCstNodeImpl:()=>bp,LexingMode:()=>_p,MapScope:()=>Yx,Module:()=>jI,MultiMap:()=>Fl,OperationCancelled:()=>$c,ParserWorker:()=>HI,Reduction:()=>Um,RegExpUtils:()=>Ok,RootCstNodeImpl:()=>l1,SimpleCache:()=>Xx,StreamImpl:()=>oo,StreamScope:()=>g1,TextDocument:()=>f1,TreeStreamImpl:()=>Rc,URI:()=>hs,UriUtils:()=>fs,ValidationCategory:()=>x1,ValidationRegistry:()=>Zx,ValueConverter:()=>Fc,WorkspaceCache:()=>v1,assertUnreachable:()=>Mc,createCompletionParser:()=>eI,createDefaultCoreModule:()=>ga,createDefaultSharedCoreModule:()=>ya,createGrammarConfig:()=>XN,createLangiumParser:()=>rI,createParser:()=>zx,delayNextTick:()=>dI,diagnosticData:()=>Cp,eagerLoad:()=>xue,getDiagnosticRange:()=>lue,indentationBuilderDefaultOptions:()=>QI,inject:()=>$n,interruptAndCheck:()=>Ti,isAstNode:()=>si,isAstNodeDescription:()=>nN,isAstNodeWithComment:()=>kI,isCompositeCstNode:()=>Rl,isIMultiModeLexerDefinition:()=>II,isJSDoc:()=>FI,isLeafCstNode:()=>of,isLinkingError:()=>tp,isNamed:()=>sue,isOperationCancelled:()=>zc,isReference:()=>ma,isRootCstNode:()=>V2,isTokenTypeArray:()=>YE,isTokenTypeDictionary:()=>MI,loadGrammarFromJson:()=>Vc,parseJSDoc:()=>BI,prepareLangiumParser:()=>Yce,setInterruptionPeriod:()=>eue,startCancelableOperation:()=>$E,stream:()=>Jr,toDiagnosticData:()=>cue,toDiagnosticSeverity:()=>HE});var ho=N(()=>{"use strict";XI();KI();EI();Tue();Nl();wue();Eue();Aue();_ue();Due();Rue();Sr(xa,zr);Nue();Mue();Ic()});function Gue(t){return $l.isInstance(t,gb)}function Vue(t){return $l.isInstance(t,b1)}function Uue(t){return $l.isInstance(t,T1)}function Hue(t){return $l.isInstance(t,w1)}function Wue(t){return $l.isInstance(t,yb)}function que(t){return $l.isInstance(t,k1)}function Yue(t){return $l.isInstance(t,vb)}function Xue(t){return $l.isInstance(t,xb)}function jue(t){return $l.isInstance(t,bb)}function Kue(t){return $l.isInstance(t,Tb)}function Que(t){return $l.isInstance(t,wb)}var ize,xt,cO,gb,eS,b1,tS,rS,eO,T1,tO,rO,nO,w1,iO,yb,nS,aO,k1,sO,vb,xb,bb,Tb,oS,oO,wb,lO,iS,aS,sS,Zue,$l,Iue,aze,Oue,sze,Pue,oze,Bue,lze,Fue,cze,$ue,uze,zue,hze,fze,dze,pze,mze,gze,yze,vze,ds,uO,hO,fO,dO,pO,mO,gO,xze,bze,Tze,wze,mf,qu,Ba,kze,Fa=N(()=>{"use strict";ho();ho();ho();ho();ize=Object.defineProperty,xt=o((t,e)=>ize(t,"name",{value:e,configurable:!0}),"__name"),cO="Statement",gb="Architecture";o(Gue,"isArchitecture");xt(Gue,"isArchitecture");eS="Axis",b1="Branch";o(Vue,"isBranch");xt(Vue,"isBranch");tS="Checkout",rS="CherryPicking",eO="ClassDefStatement",T1="Commit";o(Uue,"isCommit");xt(Uue,"isCommit");tO="Curve",rO="Edge",nO="Entry",w1="GitGraph";o(Hue,"isGitGraph");xt(Hue,"isGitGraph");iO="Group",yb="Info";o(Wue,"isInfo");xt(Wue,"isInfo");nS="Item",aO="Junction",k1="Merge";o(que,"isMerge");xt(que,"isMerge");sO="Option",vb="Packet";o(Yue,"isPacket");xt(Yue,"isPacket");xb="PacketBlock";o(Xue,"isPacketBlock");xt(Xue,"isPacketBlock");bb="Pie";o(jue,"isPie");xt(jue,"isPie");Tb="PieSection";o(Kue,"isPieSection");xt(Kue,"isPieSection");oS="Radar",oO="Service",wb="Treemap";o(Que,"isTreemap");xt(Que,"isTreemap");lO="TreemapRow",iS="Direction",aS="Leaf",sS="Section",Zue=class extends ep{static{o(this,"MermaidAstReflection")}static{xt(this,"MermaidAstReflection")}getAllTypes(){return[gb,eS,b1,tS,rS,eO,T1,tO,iS,rO,nO,w1,iO,yb,nS,aO,aS,k1,sO,vb,xb,bb,Tb,oS,sS,oO,cO,wb,lO]}computeIsSubtype(t,e){switch(t){case b1:case tS:case rS:case T1:case k1:return this.isSubtype(cO,e);case iS:return this.isSubtype(w1,e);case aS:case sS:return this.isSubtype(nS,e);default:return!1}}getReferenceType(t){let e=`${t.container.$type}:${t.property}`;switch(e){case"Entry:axis":return eS;default:throw new Error(`${e} is not a valid reference id.`)}}getTypeMetaData(t){switch(t){case gb:return{name:gb,properties:[{name:"accDescr"},{name:"accTitle"},{name:"edges",defaultValue:[]},{name:"groups",defaultValue:[]},{name:"junctions",defaultValue:[]},{name:"services",defaultValue:[]},{name:"title"}]};case eS:return{name:eS,properties:[{name:"label"},{name:"name"}]};case b1:return{name:b1,properties:[{name:"name"},{name:"order"}]};case tS:return{name:tS,properties:[{name:"branch"}]};case rS:return{name:rS,properties:[{name:"id"},{name:"parent"},{name:"tags",defaultValue:[]}]};case eO:return{name:eO,properties:[{name:"className"},{name:"styleText"}]};case T1:return{name:T1,properties:[{name:"id"},{name:"message"},{name:"tags",defaultValue:[]},{name:"type"}]};case tO:return{name:tO,properties:[{name:"entries",defaultValue:[]},{name:"label"},{name:"name"}]};case rO:return{name:rO,properties:[{name:"lhsDir"},{name:"lhsGroup",defaultValue:!1},{name:"lhsId"},{name:"lhsInto",defaultValue:!1},{name:"rhsDir"},{name:"rhsGroup",defaultValue:!1},{name:"rhsId"},{name:"rhsInto",defaultValue:!1},{name:"title"}]};case nO:return{name:nO,properties:[{name:"axis"},{name:"value"}]};case w1:return{name:w1,properties:[{name:"accDescr"},{name:"accTitle"},{name:"statements",defaultValue:[]},{name:"title"}]};case iO:return{name:iO,properties:[{name:"icon"},{name:"id"},{name:"in"},{name:"title"}]};case yb:return{name:yb,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"}]};case nS:return{name:nS,properties:[{name:"classSelector"},{name:"name"}]};case aO:return{name:aO,properties:[{name:"id"},{name:"in"}]};case k1:return{name:k1,properties:[{name:"branch"},{name:"id"},{name:"tags",defaultValue:[]},{name:"type"}]};case sO:return{name:sO,properties:[{name:"name"},{name:"value",defaultValue:!1}]};case vb:return{name:vb,properties:[{name:"accDescr"},{name:"accTitle"},{name:"blocks",defaultValue:[]},{name:"title"}]};case xb:return{name:xb,properties:[{name:"bits"},{name:"end"},{name:"label"},{name:"start"}]};case bb:return{name:bb,properties:[{name:"accDescr"},{name:"accTitle"},{name:"sections",defaultValue:[]},{name:"showData",defaultValue:!1},{name:"title"}]};case Tb:return{name:Tb,properties:[{name:"label"},{name:"value"}]};case oS:return{name:oS,properties:[{name:"accDescr"},{name:"accTitle"},{name:"axes",defaultValue:[]},{name:"curves",defaultValue:[]},{name:"options",defaultValue:[]},{name:"title"}]};case oO:return{name:oO,properties:[{name:"icon"},{name:"iconText"},{name:"id"},{name:"in"},{name:"title"}]};case wb:return{name:wb,properties:[{name:"accDescr"},{name:"accTitle"},{name:"title"},{name:"TreemapRows",defaultValue:[]}]};case lO:return{name:lO,properties:[{name:"indent"},{name:"item"}]};case iS:return{name:iS,properties:[{name:"accDescr"},{name:"accTitle"},{name:"dir"},{name:"statements",defaultValue:[]},{name:"title"}]};case aS:return{name:aS,properties:[{name:"classSelector"},{name:"name"},{name:"value"}]};case sS:return{name:sS,properties:[{name:"classSelector"},{name:"name"}]};default:return{name:t,properties:[]}}}},$l=new Zue,aze=xt(()=>Iue??(Iue=Vc(`{"$type":"Grammar","isDeclared":true,"name":"Info","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"InfoGrammar"),sze=xt(()=>Oue??(Oue=Vc(`{"$type":"Grammar","isDeclared":true,"name":"Packet","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PacketGrammar"),oze=xt(()=>Pue??(Pue=Vc(`{"$type":"Grammar","isDeclared":true,"name":"Pie","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"PieGrammar"),lze=xt(()=>Bue??(Bue=Vc(`{"$type":"Grammar","isDeclared":true,"name":"Architecture","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"}}]},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/"},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@18"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[[\\\\w ]+\\\\]/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"ArchitectureGrammar"),cze=xt(()=>Fue??(Fue=Vc(`{"$type":"Grammar","isDeclared":true,"name":"GitGraph","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/"},"fragment":false,"hidden":false}],"definesHiddenTokens":false,"hiddenTokens":[],"interfaces":[],"types":[],"usedGrammars":[]}`)),"GitGraphGrammar"),uze=xt(()=>$ue??($ue=Vc(`{"$type":"Grammar","isDeclared":true,"name":"Radar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"}}]},"fragment":false,"hidden":false},{"$type":"ParserRule","fragment":true,"name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"}},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/"},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}}}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"types":[],"usedGrammars":[]}`)),"RadarGrammar"),hze=xt(()=>zue??(zue=Vc(`{"$type":"Grammar","isDeclared":true,"name":"Treemap","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"definesHiddenTokens":false,"entry":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/"},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"*"}]},"definesHiddenTokens":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"}},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"}}]},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"}},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","}},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/"},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/"},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/"},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/"},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"definesHiddenTokens":false,"entry":false,"fragment":false,"hiddenTokens":[],"parameters":[],"wildcard":false},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/"},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"definesHiddenTokens":false,"hiddenTokens":[],"imports":[],"types":[],"usedGrammars":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammar"),fze={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},dze={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},pze={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},mze={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},gze={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},yze={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},vze={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},ds={AstReflection:xt(()=>new Zue,"AstReflection")},uO={Grammar:xt(()=>aze(),"Grammar"),LanguageMetaData:xt(()=>fze,"LanguageMetaData"),parser:{}},hO={Grammar:xt(()=>sze(),"Grammar"),LanguageMetaData:xt(()=>dze,"LanguageMetaData"),parser:{}},fO={Grammar:xt(()=>oze(),"Grammar"),LanguageMetaData:xt(()=>pze,"LanguageMetaData"),parser:{}},dO={Grammar:xt(()=>lze(),"Grammar"),LanguageMetaData:xt(()=>mze,"LanguageMetaData"),parser:{}},pO={Grammar:xt(()=>cze(),"Grammar"),LanguageMetaData:xt(()=>gze,"LanguageMetaData"),parser:{}},mO={Grammar:xt(()=>uze(),"Grammar"),LanguageMetaData:xt(()=>yze,"LanguageMetaData"),parser:{}},gO={Grammar:xt(()=>hze(),"Grammar"),LanguageMetaData:xt(()=>vze,"LanguageMetaData"),parser:{}},xze=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,bze=/accTitle[\t ]*:([^\n\r]*)/,Tze=/title([\t ][^\n\r]*|)/,wze={ACC_DESCR:xze,ACC_TITLE:bze,TITLE:Tze},mf=class extends kp{static{o(this,"AbstractMermaidValueConverter")}static{xt(this,"AbstractMermaidValueConverter")}runConverter(t,e,r){let n=this.runCommonConverter(t,e,r);return n===void 0&&(n=this.runCustomConverter(t,e,r)),n===void 0?super.runConverter(t,e,r):n}runCommonConverter(t,e,r){let n=wze[t.name];if(n===void 0)return;let i=n.exec(e);if(i!==null){if(i[1]!==void 0)return i[1].trim().replace(/[\t ]{2,}/gm," ");if(i[2]!==void 0)return i[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,` +`)}}},qu=class extends mf{static{o(this,"CommonValueConverter")}static{xt(this,"CommonValueConverter")}runCustomConverter(t,e,r){}},Ba=class extends Wu{static{o(this,"AbstractMermaidTokenBuilder")}static{xt(this,"AbstractMermaidTokenBuilder")}constructor(t){super(),this.keywords=new Set(t)}buildKeywordTokens(t,e,r){let n=super.buildKeywordTokens(t,e,r);return n.forEach(i=>{this.keywords.has(i.name)&&i.PATTERN!==void 0&&(i.PATTERN=new RegExp(i.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),n}},kze=class extends Ba{static{o(this,"CommonTokenBuilder")}static{xt(this,"CommonTokenBuilder")}}});function cS(t=va){let e=$n(ya(t),ds),r=$n(ga({shared:e}),pO,lS);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}var Eze,lS,yO=N(()=>{"use strict";Fa();ho();Eze=class extends Ba{static{o(this,"GitGraphTokenBuilder")}static{xt(this,"GitGraphTokenBuilder")}constructor(){super(["gitGraph"])}},lS={parser:{TokenBuilder:xt(()=>new Eze,"TokenBuilder"),ValueConverter:xt(()=>new qu,"ValueConverter")}};o(cS,"createGitGraphServices");xt(cS,"createGitGraphServices")});function hS(t=va){let e=$n(ya(t),ds),r=$n(ga({shared:e}),uO,uS);return e.ServiceRegistry.register(r),{shared:e,Info:r}}var Sze,uS,vO=N(()=>{"use strict";Fa();ho();Sze=class extends Ba{static{o(this,"InfoTokenBuilder")}static{xt(this,"InfoTokenBuilder")}constructor(){super(["info","showInfo"])}},uS={parser:{TokenBuilder:xt(()=>new Sze,"TokenBuilder"),ValueConverter:xt(()=>new qu,"ValueConverter")}};o(hS,"createInfoServices");xt(hS,"createInfoServices")});function dS(t=va){let e=$n(ya(t),ds),r=$n(ga({shared:e}),hO,fS);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}var Cze,fS,xO=N(()=>{"use strict";Fa();ho();Cze=class extends Ba{static{o(this,"PacketTokenBuilder")}static{xt(this,"PacketTokenBuilder")}constructor(){super(["packet"])}},fS={parser:{TokenBuilder:xt(()=>new Cze,"TokenBuilder"),ValueConverter:xt(()=>new qu,"ValueConverter")}};o(dS,"createPacketServices");xt(dS,"createPacketServices")});function mS(t=va){let e=$n(ya(t),ds),r=$n(ga({shared:e}),fO,pS);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}var Aze,_ze,pS,bO=N(()=>{"use strict";Fa();ho();Aze=class extends Ba{static{o(this,"PieTokenBuilder")}static{xt(this,"PieTokenBuilder")}constructor(){super(["pie","showData"])}},_ze=class extends mf{static{o(this,"PieValueConverter")}static{xt(this,"PieValueConverter")}runCustomConverter(t,e,r){if(t.name==="PIE_SECTION_LABEL")return e.replace(/"/g,"").trim()}},pS={parser:{TokenBuilder:xt(()=>new Aze,"TokenBuilder"),ValueConverter:xt(()=>new _ze,"ValueConverter")}};o(mS,"createPieServices");xt(mS,"createPieServices")});function yS(t=va){let e=$n(ya(t),ds),r=$n(ga({shared:e}),dO,gS);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}var Dze,Lze,gS,TO=N(()=>{"use strict";Fa();ho();Dze=class extends Ba{static{o(this,"ArchitectureTokenBuilder")}static{xt(this,"ArchitectureTokenBuilder")}constructor(){super(["architecture"])}},Lze=class extends mf{static{o(this,"ArchitectureValueConverter")}static{xt(this,"ArchitectureValueConverter")}runCustomConverter(t,e,r){if(t.name==="ARCH_ICON")return e.replace(/[()]/g,"").trim();if(t.name==="ARCH_TEXT_ICON")return e.replace(/["()]/g,"");if(t.name==="ARCH_TITLE")return e.replace(/[[\]]/g,"").trim()}},gS={parser:{TokenBuilder:xt(()=>new Dze,"TokenBuilder"),ValueConverter:xt(()=>new Lze,"ValueConverter")}};o(yS,"createArchitectureServices");xt(yS,"createArchitectureServices")});function xS(t=va){let e=$n(ya(t),ds),r=$n(ga({shared:e}),mO,vS);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}var Rze,vS,wO=N(()=>{"use strict";Fa();ho();Rze=class extends Ba{static{o(this,"RadarTokenBuilder")}static{xt(this,"RadarTokenBuilder")}constructor(){super(["radar-beta"])}},vS={parser:{TokenBuilder:xt(()=>new Rze,"TokenBuilder"),ValueConverter:xt(()=>new qu,"ValueConverter")}};o(xS,"createRadarServices");xt(xS,"createRadarServices")});function Jue(t){let e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){let n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}function TS(t=va){let e=$n(ya(t),ds),r=$n(ga({shared:e}),gO,bS);return e.ServiceRegistry.register(r),Jue(r),{shared:e,Treemap:r}}var Nze,Mze,Ize,Oze,bS,kO=N(()=>{"use strict";Fa();ho();Nze=class extends Ba{static{o(this,"TreemapTokenBuilder")}static{xt(this,"TreemapTokenBuilder")}constructor(){super(["treemap"])}},Mze=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,Ize=class extends mf{static{o(this,"TreemapValueConverter")}static{xt(this,"TreemapValueConverter")}runCustomConverter(t,e,r){if(t.name==="NUMBER2")return parseFloat(e.replace(/,/g,""));if(t.name==="SEPARATOR")return e.substring(1,e.length-1);if(t.name==="STRING2")return e.substring(1,e.length-1);if(t.name==="INDENTATION")return e.length;if(t.name==="ClassDef"){if(typeof e!="string")return e;let n=Mze.exec(e);if(n)return{$type:"ClassDefStatement",className:n[1],styleText:n[2]||void 0}}}};o(Jue,"registerValidationChecks");xt(Jue,"registerValidationChecks");Oze=class{static{o(this,"TreemapValidator")}static{xt(this,"TreemapValidator")}checkSingleRoot(t,e){let r;for(let n of t.TreemapRows)n.item&&(r===void 0&&n.indent===void 0?r=0:n.indent===void 0?e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}):r!==void 0&&r>=parseInt(n.indent,10)&&e("error","Multiple root nodes are not allowed in a treemap.",{node:n,property:"item"}))}},bS={parser:{TokenBuilder:xt(()=>new Nze,"TokenBuilder"),ValueConverter:xt(()=>new Ize,"ValueConverter")},validation:{TreemapValidator:xt(()=>new Oze,"TreemapValidator")}};o(TS,"createTreemapServices");xt(TS,"createTreemapServices")});var ehe={};hr(ehe,{InfoModule:()=>uS,createInfoServices:()=>hS});var the=N(()=>{"use strict";vO();Fa()});var rhe={};hr(rhe,{PacketModule:()=>fS,createPacketServices:()=>dS});var nhe=N(()=>{"use strict";xO();Fa()});var ihe={};hr(ihe,{PieModule:()=>pS,createPieServices:()=>mS});var ahe=N(()=>{"use strict";bO();Fa()});var she={};hr(she,{ArchitectureModule:()=>gS,createArchitectureServices:()=>yS});var ohe=N(()=>{"use strict";TO();Fa()});var lhe={};hr(lhe,{GitGraphModule:()=>lS,createGitGraphServices:()=>cS});var che=N(()=>{"use strict";yO();Fa()});var uhe={};hr(uhe,{RadarModule:()=>vS,createRadarServices:()=>xS});var hhe=N(()=>{"use strict";wO();Fa()});var fhe={};hr(fhe,{TreemapModule:()=>bS,createTreemapServices:()=>TS});var dhe=N(()=>{"use strict";kO();Fa()});async function ps(t,e){let r=Pze[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);Yu[t]||await r();let i=Yu[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new Bze(i);return i.value}var Yu,Pze,Bze,gf=N(()=>{"use strict";yO();vO();xO();bO();TO();wO();kO();Fa();Yu={},Pze={info:xt(async()=>{let{createInfoServices:t}=await Promise.resolve().then(()=>(the(),ehe)),e=t().Info.parser.LangiumParser;Yu.info=e},"info"),packet:xt(async()=>{let{createPacketServices:t}=await Promise.resolve().then(()=>(nhe(),rhe)),e=t().Packet.parser.LangiumParser;Yu.packet=e},"packet"),pie:xt(async()=>{let{createPieServices:t}=await Promise.resolve().then(()=>(ahe(),ihe)),e=t().Pie.parser.LangiumParser;Yu.pie=e},"pie"),architecture:xt(async()=>{let{createArchitectureServices:t}=await Promise.resolve().then(()=>(ohe(),she)),e=t().Architecture.parser.LangiumParser;Yu.architecture=e},"architecture"),gitGraph:xt(async()=>{let{createGitGraphServices:t}=await Promise.resolve().then(()=>(che(),lhe)),e=t().GitGraph.parser.LangiumParser;Yu.gitGraph=e},"gitGraph"),radar:xt(async()=>{let{createRadarServices:t}=await Promise.resolve().then(()=>(hhe(),uhe)),e=t().Radar.parser.LangiumParser;Yu.radar=e},"radar"),treemap:xt(async()=>{let{createTreemapServices:t}=await Promise.resolve().then(()=>(dhe(),fhe)),e=t().Treemap.parser.LangiumParser;Yu.treemap=e},"treemap")};o(ps,"parse");xt(ps,"parse");Bze=class extends Error{static{o(this,"MermaidParseError")}constructor(t){let e=t.lexerErrors.map(n=>n.message).join(` +`),r=t.parserErrors.map(n=>n.message).join(` +`);super(`Parsing failed: ${e} ${r}`),this.result=t}static{xt(this,"MermaidParseError")}}});function Qo(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}var Dp=N(()=>{"use strict";o(Qo,"populateCommonDb")});var jr,wS=N(()=>{"use strict";jr={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4}});var E1,EO=N(()=>{"use strict";E1=class{constructor(e){this.init=e;this.records=this.init()}static{o(this,"ImperativeState")}reset(){this.records=this.init()}}});function SO(){return _9({length:7})}function $ze(t,e){let r=Object.create(null);return t.reduce((n,i)=>{let a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}function phe(t,e,r){let n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}function ghe(t){let e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]),r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});let n=[r,e.id,e.seq];for(let i in At.records.branches)At.records.branches.get(i)===e.id&&n.push(i);if(X.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){let i=At.records.commits.get(e.parents[0]);phe(t,e,i),e.parents[1]&&t.push(At.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){let i=At.records.commits.get(e.parents[0]);phe(t,e,i)}}t=$ze(t,i=>i.id),ghe(t)}var Fze,Lp,At,zze,Gze,Vze,Uze,Hze,Wze,qze,mhe,Yze,Xze,jze,Kze,Qze,yhe,Zze,Jze,eGe,kS,CO=N(()=>{"use strict";yt();nr();Jn();dr();ci();wS();EO();Ca();Fze=lr.gitGraph,Lp=o(()=>Fn({...Fze,...Qt().gitGraph}),"getConfig"),At=new E1(()=>{let t=Lp(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});o(SO,"getID");o($ze,"uniqBy");zze=o(function(t){At.records.direction=t},"setDirection"),Gze=o(function(t){X.debug("options str",t),t=t?.trim(),t=t||"{}";try{At.records.options=JSON.parse(t)}catch(e){X.error("error while parsing gitGraph options",e.message)}},"setOptions"),Vze=o(function(){return At.records.options},"getOptions"),Uze=o(function(t){let e=t.msg,r=t.id,n=t.type,i=t.tags;X.info("commit",e,r,n,i),X.debug("Entering commit:",e,r,n,i);let a=Lp();r=Ze.sanitizeText(r,a),e=Ze.sanitizeText(e,a),i=i?.map(l=>Ze.sanitizeText(l,a));let s={id:r||At.records.seq+"-"+SO(),message:e,seq:At.records.seq++,type:n??jr.NORMAL,tags:i??[],parents:At.records.head==null?[]:[At.records.head.id],branch:At.records.currBranch};At.records.head=s,X.info("main branch",a.mainBranchName),At.records.commits.has(s.id)&&X.warn(`Commit ID ${s.id} already exists`),At.records.commits.set(s.id,s),At.records.branches.set(At.records.currBranch,s.id),X.debug("in pushCommit "+s.id)},"commit"),Hze=o(function(t){let e=t.name,r=t.order;if(e=Ze.sanitizeText(e,Lp()),At.records.branches.has(e))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${e}")`);At.records.branches.set(e,At.records.head!=null?At.records.head.id:null),At.records.branchConfig.set(e,{name:e,order:r}),mhe(e),X.debug("in createBranch")},"branch"),Wze=o(t=>{let e=t.branch,r=t.id,n=t.type,i=t.tags,a=Lp();e=Ze.sanitizeText(e,a),r&&(r=Ze.sanitizeText(r,a));let s=At.records.branches.get(At.records.currBranch),l=At.records.branches.get(e),u=s?At.records.commits.get(s):void 0,h=l?At.records.commits.get(l):void 0;if(u&&h&&u.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(At.records.currBranch===e){let p=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(u===void 0||!u){let p=new Error(`Incorrect usage of "merge". Current branch (${At.records.currBranch})has no commits`);throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},p}if(!At.records.branches.has(e)){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},p}if(h===void 0||!h){let p=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},p}if(u===h){let p=new Error('Incorrect usage of "merge". Both branches have same head');throw p.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},p}if(r&&At.records.commits.has(r)){let p=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw p.hash={text:`merge ${e} ${r} ${n} ${i?.join(" ")}`,token:`merge ${e} ${r} ${n} ${i?.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i?.join(" ")}`]},p}let f=l||"",d={id:r||`${At.records.seq}-${SO()}`,message:`merged branch ${e} into ${At.records.currBranch}`,seq:At.records.seq++,parents:At.records.head==null?[]:[At.records.head.id,f],branch:At.records.currBranch,type:jr.MERGE,customType:n,customId:!!r,tags:i??[]};At.records.head=d,At.records.commits.set(d.id,d),At.records.branches.set(At.records.currBranch,d.id),X.debug(At.records.branches),X.debug("in mergeBranch")},"merge"),qze=o(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;X.debug("Entering cherryPick:",e,r,n);let a=Lp();if(e=Ze.sanitizeText(e,a),r=Ze.sanitizeText(r,a),n=n?.map(u=>Ze.sanitizeText(u,a)),i=Ze.sanitizeText(i,a),!e||!At.records.commits.has(e)){let u=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw u.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},u}let s=At.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let l=s.branch;if(s.type===jr.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!At.records.commits.has(r)){if(l===At.records.currBranch){let d=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let u=At.records.branches.get(At.records.currBranch);if(u===void 0||!u){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${At.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let h=At.records.commits.get(u);if(h===void 0||!h){let d=new Error(`Incorrect usage of "cherry-pick". Current branch (${At.records.currBranch})has no commits`);throw d.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},d}let f={id:At.records.seq+"-"+SO(),message:`cherry-picked ${s?.message} into ${At.records.currBranch}`,seq:At.records.seq++,parents:At.records.head==null?[]:[At.records.head.id,s.id],branch:At.records.currBranch,type:jr.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===jr.MERGE?`|parent:${i}`:""}`]};At.records.head=f,At.records.commits.set(f.id,f),At.records.branches.set(At.records.currBranch,f.id),X.debug(At.records.branches),X.debug("in cherryPick")}},"cherryPick"),mhe=o(function(t){if(t=Ze.sanitizeText(t,Lp()),At.records.branches.has(t)){At.records.currBranch=t;let e=At.records.branches.get(At.records.currBranch);e===void 0||!e?At.records.head=null:At.records.head=At.records.commits.get(e)??null}else{let e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");o(phe,"upsert");o(ghe,"prettyPrintCommitHistory");Yze=o(function(){X.debug(At.records.commits);let t=yhe()[0];ghe([t])},"prettyPrint"),Xze=o(function(){At.reset(),wr()},"clear"),jze=o(function(){return[...At.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),Kze=o(function(){return At.records.branches},"getBranches"),Qze=o(function(){return At.records.commits},"getCommits"),yhe=o(function(){let t=[...At.records.commits.values()];return t.forEach(function(e){X.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),Zze=o(function(){return At.records.currBranch},"getCurrentBranch"),Jze=o(function(){return At.records.direction},"getDirection"),eGe=o(function(){return At.records.head},"getHead"),kS={commitType:jr,getConfig:Lp,setDirection:zze,setOptions:Gze,getOptions:Vze,commit:Uze,branch:Hze,merge:Wze,cherryPick:qze,checkout:mhe,prettyPrint:Yze,clear:Xze,getBranchesAsObjArray:jze,getBranches:Kze,getCommits:Qze,getCommitsArray:yhe,getCurrentBranch:Zze,getDirection:Jze,getHead:eGe,setAccTitle:Cr,getAccTitle:_r,getAccDescription:Lr,setAccDescription:Dr,setDiagramTitle:Ir,getDiagramTitle:Rr}});var tGe,rGe,nGe,iGe,aGe,sGe,oGe,vhe,xhe=N(()=>{"use strict";gf();yt();Dp();CO();wS();tGe=o((t,e)=>{Qo(t,e),t.dir&&e.setDirection(t.dir);for(let r of t.statements)rGe(r,e)},"populate"),rGe=o((t,e)=>{let n={Commit:o(i=>e.commit(nGe(i)),"Commit"),Branch:o(i=>e.branch(iGe(i)),"Branch"),Merge:o(i=>e.merge(aGe(i)),"Merge"),Checkout:o(i=>e.checkout(sGe(i)),"Checkout"),CherryPicking:o(i=>e.cherryPick(oGe(i)),"CherryPicking")}[t.$type];n?n(t):X.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),nGe=o(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?jr[t.type]:jr.NORMAL,tags:t.tags??void 0}),"parseCommit"),iGe=o(t=>({name:t.name,order:t.order??0}),"parseBranch"),aGe=o(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?jr[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),sGe=o(t=>t.branch,"parseCheckout"),oGe=o(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),vhe={parse:o(async t=>{let e=await ps("gitGraph",t);X.debug(e),tGe(e,kS)},"parse")}});var lGe,Zo,vf,xf,Uc,Xu,Rp,Vs,Us,ES,kb,SS,yf,Br,cGe,The,whe,uGe,hGe,fGe,dGe,pGe,mGe,gGe,yGe,vGe,xGe,bGe,TGe,bhe,wGe,Eb,kGe,EGe,SGe,CGe,AGe,khe,Ehe=N(()=>{"use strict";pr();qt();yt();nr();wS();lGe=ge(),Zo=lGe?.gitGraph,vf=10,xf=40,Uc=4,Xu=2,Rp=8,Vs=new Map,Us=new Map,ES=30,kb=new Map,SS=[],yf=0,Br="LR",cGe=o(()=>{Vs.clear(),Us.clear(),kb.clear(),yf=0,SS=[],Br="LR"},"clear"),The=o(t=>{let e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|/gi):t).forEach(n=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=n.trim(),e.appendChild(i)}),e},"drawText"),whe=o(t=>{let e,r,n;return Br==="BT"?(r=o((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=o((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{let a=Br==="TB"||Br=="BT"?Us.get(i)?.y:Us.get(i)?.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),uGe=o(t=>{let e="",r=1/0;return t.forEach(n=>{let i=Us.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),hGe=o((t,e,r)=>{let n=r,i=r,a=[];t.forEach(s=>{let l=e.get(s);if(!l)throw new Error(`Commit not found for key ${s}`);l.parents.length?(n=dGe(l),i=Math.max(n,i)):a.push(l),pGe(l,n)}),n=i,a.forEach(s=>{mGe(s,n,r)}),t.forEach(s=>{let l=e.get(s);if(l?.parents.length){let u=uGe(l.parents);n=Us.get(u).y-xf,n<=i&&(i=n);let h=Vs.get(l.branch).pos,f=n-vf;Us.set(l.id,{x:h,y:f})}})},"setParallelBTPos"),fGe=o(t=>{let e=whe(t.parents.filter(n=>n!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);let r=Us.get(e)?.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),dGe=o(t=>fGe(t)+xf,"calculateCommitPosition"),pGe=o((t,e)=>{let r=Vs.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);let n=r.pos,i=e+vf;return Us.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),mGe=o((t,e,r)=>{let n=Vs.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);let i=e+r,a=n.pos;Us.set(t.id,{x:a,y:i})},"setRootPosition"),gGe=o((t,e,r,n,i,a)=>{if(a===jr.HIGHLIGHT)t.append("rect").attr("x",r.x-10).attr("y",r.y-10).attr("width",20).attr("height",20).attr("class",`commit ${e.id} commit-highlight${i%Rp} ${n}-outer`),t.append("rect").attr("x",r.x-6).attr("y",r.y-6).attr("width",12).attr("height",12).attr("class",`commit ${e.id} commit${i%Rp} ${n}-inner`);else if(a===jr.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke","#fff").attr("class",`commit ${e.id} ${n}`);else{let s=t.append("circle");if(s.attr("cx",r.x),s.attr("cy",r.y),s.attr("r",e.type===jr.MERGE?9:10),s.attr("class",`commit ${e.id} commit${i%Rp}`),a===jr.MERGE){let l=t.append("circle");l.attr("cx",r.x),l.attr("cy",r.y),l.attr("r",6),l.attr("class",`commit ${n} ${e.id} commit${i%Rp}`)}a===jr.REVERSE&&t.append("path").attr("d",`M ${r.x-5},${r.y-5}L${r.x+5},${r.y+5}M${r.x-5},${r.y+5}L${r.x+5},${r.y-5}`).attr("class",`commit ${n} ${e.id} commit${i%Rp}`)}},"drawCommitBullet"),yGe=o((t,e,r,n)=>{if(e.type!==jr.CHERRY_PICK&&(e.customId&&e.type===jr.MERGE||e.type!==jr.MERGE)&&Zo?.showCommitLabel){let i=t.append("g"),a=i.insert("rect").attr("class","commit-label-bkg"),s=i.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),l=s.node()?.getBBox();if(l&&(a.attr("x",r.posWithOffset-l.width/2-Xu).attr("y",r.y+13.5).attr("width",l.width+2*Xu).attr("height",l.height+2*Xu),Br==="TB"||Br==="BT"?(a.attr("x",r.x-(l.width+4*Uc+5)).attr("y",r.y-12),s.attr("x",r.x-(l.width+4*Uc)).attr("y",r.y+l.height-12)):s.attr("x",r.posWithOffset-l.width/2),Zo.rotateCommitLabel))if(Br==="TB"||Br==="BT")s.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),a.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{let u=-7.5-(l.width+10)/25*9.5,h=10+l.width/25*8.5;i.attr("transform","translate("+u+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),vGe=o((t,e,r,n)=>{if(e.tags.length>0){let i=0,a=0,s=0,l=[];for(let u of e.tags.reverse()){let h=t.insert("polygon"),f=t.append("circle"),d=t.append("text").attr("y",r.y-16-i).attr("class","tag-label").text(u),p=d.node()?.getBBox();if(!p)throw new Error("Tag bbox not found");a=Math.max(a,p.width),s=Math.max(s,p.height),d.attr("x",r.posWithOffset-p.width/2),l.push({tag:d,hole:f,rect:h,yOffset:i}),i+=20}for(let{tag:u,hole:h,rect:f,yOffset:d}of l){let p=s/2,m=r.y-19.2-d;if(f.attr("class","tag-label-bkg").attr("points",` + ${n-a/2-Uc/2},${m+Xu} + ${n-a/2-Uc/2},${m-Xu} + ${r.posWithOffset-a/2-Uc},${m-p-Xu} + ${r.posWithOffset+a/2+Uc},${m-p-Xu} + ${r.posWithOffset+a/2+Uc},${m+p+Xu} + ${r.posWithOffset-a/2-Uc},${m+p+Xu}`),h.attr("cy",m).attr("cx",n-a/2+Uc/2).attr("r",1.5).attr("class","tag-hole"),Br==="TB"||Br==="BT"){let g=n+d;f.attr("class","tag-label-bkg").attr("points",` + ${r.x},${g+2} + ${r.x},${g-2} + ${r.x+vf},${g-p-2} + ${r.x+vf+a+4},${g-p-2} + ${r.x+vf+a+4},${g+p+2} + ${r.x+vf},${g+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),h.attr("cx",r.x+Uc/2).attr("cy",g).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",g+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),xGe=o(t=>{switch(t.customType??t.type){case jr.NORMAL:return"commit-normal";case jr.REVERSE:return"commit-reverse";case jr.HIGHLIGHT:return"commit-highlight";case jr.MERGE:return"commit-merge";case jr.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),bGe=o((t,e,r,n)=>{let i={x:0,y:0};if(t.parents.length>0){let a=whe(t.parents);if(a){let s=n.get(a)??i;return e==="TB"?s.y+xf:e==="BT"?(n.get(t.id)??i).y-xf:s.x+xf}}else return e==="TB"?ES:e==="BT"?(n.get(t.id)??i).y-xf:0;return 0},"calculatePosition"),TGe=o((t,e,r)=>{let n=Br==="BT"&&r?e:e+vf,i=Br==="TB"||Br==="BT"?n:Vs.get(t.branch)?.pos,a=Br==="TB"||Br==="BT"?Vs.get(t.branch)?.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:i,posWithOffset:n}},"getCommitPosition"),bhe=o((t,e,r)=>{if(!Zo)throw new Error("GitGraph config not found");let n=t.append("g").attr("class","commit-bullets"),i=t.append("g").attr("class","commit-labels"),a=Br==="TB"||Br==="BT"?ES:0,s=[...e.keys()],l=Zo?.parallelCommits??!1,u=o((f,d)=>{let p=e.get(f)?.seq,m=e.get(d)?.seq;return p!==void 0&&m!==void 0?p-m:0},"sortKeys"),h=s.sort(u);Br==="BT"&&(l&&hGe(h,e,a),h=h.reverse()),h.forEach(f=>{let d=e.get(f);if(!d)throw new Error(`Commit not found for key ${f}`);l&&(a=bGe(d,Br,a,Us));let p=TGe(d,a,l);if(r){let m=xGe(d),g=d.customType??d.type,y=Vs.get(d.branch)?.index??0;gGe(n,d,p,m,y,g),yGe(i,d,p,a),vGe(i,d,p,a)}Br==="TB"||Br==="BT"?Us.set(d.id,{x:p.x,y:p.posWithOffset}):Us.set(d.id,{x:p.posWithOffset,y:p.y}),a=Br==="BT"&&l?a+xf:a+xf+vf,a>yf&&(yf=a)})},"drawCommits"),wGe=o((t,e,r,n,i)=>{let s=(Br==="TB"||Br==="BT"?r.xh.branch===s,"isOnBranchToGetCurve"),u=o(h=>h.seq>t.seq&&h.sequ(h)&&l(h))},"shouldRerouteArrow"),Eb=o((t,e,r=0)=>{let n=t+Math.abs(t-e)/2;if(r>5)return n;if(SS.every(s=>Math.abs(s-n)>=10))return SS.push(n),n;let a=Math.abs(t-e);return Eb(t,e-a/5,r+1)},"findLane"),kGe=o((t,e,r,n)=>{let i=Us.get(e.id),a=Us.get(r.id);if(i===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);let s=wGe(e,r,i,a,n),l="",u="",h=0,f=0,d=Vs.get(r.branch)?.index;r.type===jr.MERGE&&e.id!==r.parents[0]&&(d=Vs.get(e.branch)?.index);let p;if(s){l="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",h=10,f=10;let m=i.ya.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===jr.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y-h} ${u} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x+h} ${i.y} ${l} ${a.x} ${i.y+f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):Br==="BT"?(i.xa.x&&(l="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",h=20,f=20,r.type===jr.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${l} ${i.x-f} ${a.y} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`),i.x===a.x&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`)):(i.ya.y&&(r.type===jr.MERGE&&e.id!==r.parents[0]?p=`M ${i.x} ${i.y} L ${a.x-h} ${i.y} ${l} ${a.x} ${i.y-f} L ${a.x} ${a.y}`:p=`M ${i.x} ${i.y} L ${i.x} ${a.y+h} ${u} ${i.x+f} ${a.y} L ${a.x} ${a.y}`),i.y===a.y&&(p=`M ${i.x} ${i.y} L ${a.x} ${a.y}`));if(p===void 0)throw new Error("Line definition not found");t.append("path").attr("d",p).attr("class","arrow arrow"+d%Rp)},"drawArrow"),EGe=o((t,e)=>{let r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{let i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{kGe(r,e.get(a),i,e)})})},"drawArrows"),SGe=o((t,e)=>{let r=t.append("g");e.forEach((n,i)=>{let a=i%Rp,s=Vs.get(n.name)?.pos;if(s===void 0)throw new Error(`Position not found for branch ${n.name}`);let l=r.append("line");l.attr("x1",0),l.attr("y1",s),l.attr("x2",yf),l.attr("y2",s),l.attr("class","branch branch"+a),Br==="TB"?(l.attr("y1",ES),l.attr("x1",s),l.attr("y2",yf),l.attr("x2",s)):Br==="BT"&&(l.attr("y1",yf),l.attr("x1",s),l.attr("y2",ES),l.attr("x2",s)),SS.push(s);let u=n.name,h=The(u),f=r.insert("rect"),p=r.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);p.node().appendChild(h);let m=h.getBBox();f.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-m.width-4-(Zo?.rotateCommitLabel===!0?30:0)).attr("y",-m.height/2+8).attr("width",m.width+18).attr("height",m.height+4),p.attr("transform","translate("+(-m.width-14-(Zo?.rotateCommitLabel===!0?30:0))+", "+(s-m.height/2-1)+")"),Br==="TB"?(f.attr("x",s-m.width/2-10).attr("y",0),p.attr("transform","translate("+(s-m.width/2-5)+", 0)")):Br==="BT"?(f.attr("x",s-m.width/2-10).attr("y",yf),p.attr("transform","translate("+(s-m.width/2-5)+", "+yf+")")):f.attr("transform","translate(-19, "+(s-m.height/2)+")")})},"drawBranches"),CGe=o(function(t,e,r,n,i){return Vs.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Br==="TB"||Br==="BT"?n.width/2:0),e},"setBranchPosition"),AGe=o(function(t,e,r,n){if(cGe(),X.debug("in gitgraph renderer",t+` +`,"id:",e,r),!Zo)throw new Error("GitGraph config not found");let i=Zo.rotateCommitLabel??!1,a=n.db;kb=a.getCommits();let s=a.getBranchesAsObjArray();Br=a.getDirection();let l=Ge(`[id="${e}"]`),u=0;s.forEach((h,f)=>{let d=The(h.name),p=l.append("g"),m=p.insert("g").attr("class","branchLabel"),g=m.insert("g").attr("class","label branch-label");g.node()?.appendChild(d);let y=d.getBBox();u=CGe(h.name,u,f,y,i),g.remove(),m.remove(),p.remove()}),bhe(l,kb,!1),Zo.showBranches&&SGe(l,s),EGe(l,kb),bhe(l,kb,!0),Vt.insertTitle(l,"gitTitleText",Zo.titleTopMargin??0,a.getDiagramTitle()),EA(void 0,l,Zo.diagramPadding,Zo.useMaxWidth)},"draw"),khe={draw:AGe}});var _Ge,She,Che=N(()=>{"use strict";_Ge=o(t=>` + .commit-id, + .commit-msg, + .branch-label { + fill: lightgrey; + color: lightgrey; + font-family: 'trebuchet ms', verdana, arial, sans-serif; + font-family: var(--mermaid-font-family); + } + ${[0,1,2,3,4,5,6,7].map(e=>` + .branch-label${e} { fill: ${t["gitBranchLabel"+e]}; } + .commit${e} { stroke: ${t["git"+e]}; fill: ${t["git"+e]}; } + .commit-highlight${e} { stroke: ${t["gitInv"+e]}; fill: ${t["gitInv"+e]}; } + .label${e} { fill: ${t["git"+e]}; } + .arrow${e} { stroke: ${t["git"+e]}; } + `).join(` +`)} + + .branch { + stroke-width: 1; + stroke: ${t.lineColor}; + stroke-dasharray: 2; + } + .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};} + .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; } + .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};} + .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; } + .tag-hole { fill: ${t.textColor}; } + + .commit-merge { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + .commit-reverse { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + stroke-width: 3; + } + .commit-highlight-outer { + } + .commit-highlight-inner { + stroke: ${t.primaryColor}; + fill: ${t.primaryColor}; + } + + .arrow { stroke-width: 8; stroke-linecap: round; fill: none} + .gitTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } +`,"getStyles"),She=_Ge});var Ahe={};hr(Ahe,{diagram:()=>DGe});var DGe,_he=N(()=>{"use strict";xhe();CO();Ehe();Che();DGe={parser:vhe,db:kS,renderer:khe,styles:She}});var AO,Rhe,Nhe=N(()=>{"use strict";AO=function(){var t=o(function(L,S,I,M){for(I=I||{},M=L.length;M--;I[L[M]]=S);return I},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],l=[1,31],u=[1,32],h=[1,33],f=[1,34],d=[1,9],p=[1,10],m=[1,11],g=[1,12],y=[1,13],v=[1,14],x=[1,15],b=[1,16],T=[1,19],C=[1,20],w=[1,21],E=[1,22],_=[1,23],A=[1,25],D=[1,35],O={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:o(function(S,I,M,P,B,F,z){var $=F.length-1;switch(B){case 1:return F[$-1];case 2:this.$=[];break;case 3:F[$-1].push(F[$]),this.$=F[$-1];break;case 4:case 5:this.$=F[$];break;case 6:case 7:this.$=[];break;case 8:P.setWeekday("monday");break;case 9:P.setWeekday("tuesday");break;case 10:P.setWeekday("wednesday");break;case 11:P.setWeekday("thursday");break;case 12:P.setWeekday("friday");break;case 13:P.setWeekday("saturday");break;case 14:P.setWeekday("sunday");break;case 15:P.setWeekend("friday");break;case 16:P.setWeekend("saturday");break;case 17:P.setDateFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 18:P.enableInclusiveEndDates(),this.$=F[$].substr(18);break;case 19:P.TopAxis(),this.$=F[$].substr(8);break;case 20:P.setAxisFormat(F[$].substr(11)),this.$=F[$].substr(11);break;case 21:P.setTickInterval(F[$].substr(13)),this.$=F[$].substr(13);break;case 22:P.setExcludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 23:P.setIncludes(F[$].substr(9)),this.$=F[$].substr(9);break;case 24:P.setTodayMarker(F[$].substr(12)),this.$=F[$].substr(12);break;case 27:P.setDiagramTitle(F[$].substr(6)),this.$=F[$].substr(6);break;case 28:this.$=F[$].trim(),P.setAccTitle(this.$);break;case 29:case 30:this.$=F[$].trim(),P.setAccDescription(this.$);break;case 31:P.addSection(F[$].substr(8)),this.$=F[$].substr(8);break;case 33:P.addTask(F[$-1],F[$]),this.$="task";break;case 34:this.$=F[$-1],P.setClickEvent(F[$-1],F[$],null);break;case 35:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],F[$]);break;case 36:this.$=F[$-2],P.setClickEvent(F[$-2],F[$-1],null),P.setLink(F[$-2],F[$]);break;case 37:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-2],F[$-1]),P.setLink(F[$-3],F[$]);break;case 38:this.$=F[$-2],P.setClickEvent(F[$-2],F[$],null),P.setLink(F[$-2],F[$-1]);break;case 39:this.$=F[$-3],P.setClickEvent(F[$-3],F[$-1],F[$]),P.setLink(F[$-3],F[$-2]);break;case 40:this.$=F[$-1],P.setLink(F[$-1],F[$]);break;case 41:case 47:this.$=F[$-1]+" "+F[$];break;case 42:case 43:case 45:this.$=F[$-2]+" "+F[$-1]+" "+F[$];break;case 44:case 46:this.$=F[$-3]+" "+F[$-2]+" "+F[$-1]+" "+F[$];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:C,33:w,35:E,36:_,37:24,38:A,40:D},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:l,18:u,19:18,20:h,21:f,22:d,23:p,24:m,25:g,26:y,27:v,28:x,29:b,30:T,31:C,33:w,35:E,36:_,37:24,38:A,40:D},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:o(function(S,I){if(I.recoverable)this.trace(S);else{var M=new Error(S);throw M.hash=I,M}},"parseError"),parse:o(function(S){var I=this,M=[0],P=[],B=[null],F=[],z=this.table,$="",U=0,K=0,ee=0,Y=2,ce=1,Z=F.slice.call(arguments,1),ue=Object.create(this.lexer),Q={yy:{}};for(var j in this.yy)Object.prototype.hasOwnProperty.call(this.yy,j)&&(Q.yy[j]=this.yy[j]);ue.setInput(S,Q.yy),Q.yy.lexer=ue,Q.yy.parser=this,typeof ue.yylloc>"u"&&(ue.yylloc={});var ne=ue.yylloc;F.push(ne);var te=ue.options&&ue.options.ranges;typeof Q.yy.parseError=="function"?this.parseError=Q.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function he(q){M.length=M.length-2*q,B.length=B.length-q,F.length=F.length-q}o(he,"popStack");function le(){var q;return q=P.pop()||ue.lex()||ce,typeof q!="number"&&(q instanceof Array&&(P=q,q=P.pop()),q=I.symbols_[q]||q),q}o(le,"lex");for(var J,Se,se,ae,Oe,ye,Be={},He,ze,Le,Ie;;){if(se=M[M.length-1],this.defaultActions[se]?ae=this.defaultActions[se]:((J===null||typeof J>"u")&&(J=le()),ae=z[se]&&z[se][J]),typeof ae>"u"||!ae.length||!ae[0]){var xe="";Ie=[];for(He in z[se])this.terminals_[He]&&He>Y&&Ie.push("'"+this.terminals_[He]+"'");ue.showPosition?xe="Parse error on line "+(U+1)+`: +`+ue.showPosition()+` +Expecting `+Ie.join(", ")+", got '"+(this.terminals_[J]||J)+"'":xe="Parse error on line "+(U+1)+": Unexpected "+(J==ce?"end of input":"'"+(this.terminals_[J]||J)+"'"),this.parseError(xe,{text:ue.match,token:this.terminals_[J]||J,line:ue.yylineno,loc:ne,expected:Ie})}if(ae[0]instanceof Array&&ae.length>1)throw new Error("Parse Error: multiple actions possible at state: "+se+", token: "+J);switch(ae[0]){case 1:M.push(J),B.push(ue.yytext),F.push(ue.yylloc),M.push(ae[1]),J=null,Se?(J=Se,Se=null):(K=ue.yyleng,$=ue.yytext,U=ue.yylineno,ne=ue.yylloc,ee>0&&ee--);break;case 2:if(ze=this.productions_[ae[1]][1],Be.$=B[B.length-ze],Be._$={first_line:F[F.length-(ze||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(ze||1)].first_column,last_column:F[F.length-1].last_column},te&&(Be._$.range=[F[F.length-(ze||1)].range[0],F[F.length-1].range[1]]),ye=this.performAction.apply(Be,[$,K,U,Q.yy,ae[1],B,F].concat(Z)),typeof ye<"u")return ye;ze&&(M=M.slice(0,-1*ze*2),B=B.slice(0,-1*ze),F=F.slice(0,-1*ze)),M.push(this.productions_[ae[1]][0]),B.push(Be.$),F.push(Be._$),Le=z[M[M.length-2]][M[M.length-1]],M.push(Le);break;case 3:return!0}}return!0},"parse")},R=function(){var L={EOF:1,parseError:o(function(I,M){if(this.yy.parser)this.yy.parser.parseError(I,M);else throw new Error(I)},"parseError"),setInput:o(function(S,I){return this.yy=I||this.yy||{},this._input=S,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var S=this._input[0];this.yytext+=S,this.yyleng++,this.offset++,this.match+=S,this.matched+=S;var I=S.match(/(?:\r\n?|\n).*/g);return I?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),S},"input"),unput:o(function(S){var I=S.length,M=S.split(/(?:\r\n?|\n)/g);this._input=S+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-I),this.offset-=I;var P=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),M.length-1&&(this.yylineno-=M.length-1);var B=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:M?(M.length===P.length?this.yylloc.first_column:0)+P[P.length-M.length].length-M[0].length:this.yylloc.first_column-I},this.options.ranges&&(this.yylloc.range=[B[0],B[0]+this.yyleng-I]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(S){this.unput(this.match.slice(S))},"less"),pastInput:o(function(){var S=this.matched.substr(0,this.matched.length-this.match.length);return(S.length>20?"...":"")+S.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var S=this.match;return S.length<20&&(S+=this._input.substr(0,20-S.length)),(S.substr(0,20)+(S.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var S=this.pastInput(),I=new Array(S.length+1).join("-");return S+this.upcomingInput()+` +`+I+"^"},"showPosition"),test_match:o(function(S,I){var M,P,B;if(this.options.backtrack_lexer&&(B={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(B.yylloc.range=this.yylloc.range.slice(0))),P=S[0].match(/(?:\r\n?|\n).*/g),P&&(this.yylineno+=P.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:P?P[P.length-1].length-P[P.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+S[0].length},this.yytext+=S[0],this.match+=S[0],this.matches=S,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(S[0].length),this.matched+=S[0],M=this.performAction.call(this,this.yy,this,I,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),M)return M;if(this._backtrack){for(var F in B)this[F]=B[F];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var S,I,M,P;this._more||(this.yytext="",this.match="");for(var B=this._currentRules(),F=0;FI[0].length)){if(I=M,P=F,this.options.backtrack_lexer){if(S=this.test_match(M,B[F]),S!==!1)return S;if(this._backtrack){I=!1;continue}else return!1}else if(!this.options.flex)break}return I?(S=this.test_match(I,B[P]),S!==!1?S:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var I=this.next();return I||this.lex()},"lex"),begin:o(function(I){this.conditionStack.push(I)},"begin"),popState:o(function(){var I=this.conditionStack.length-1;return I>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(I){return I=this.conditionStack.length-1-Math.abs(I||0),I>=0?this.conditionStack[I]:"INITIAL"},"topState"),pushState:o(function(I){this.begin(I)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(I,M,P,B){var F=B;switch(P){case 0:return this.begin("open_directive"),"open_directive";break;case 1:return this.begin("acc_title"),31;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),33;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return L}();O.lexer=R;function k(){this.yy={}}return o(k,"Parser"),k.prototype=O,O.Parser=k,new k}();AO.parser=AO;Rhe=AO});var Mhe=Ii((_O,DO)=>{"use strict";(function(t,e){typeof _O=="object"&&typeof DO<"u"?DO.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_isoWeek=e()})(_O,function(){"use strict";var t="day";return function(e,r,n){var i=o(function(l){return l.add(4-l.isoWeekday(),t)},"a"),a=r.prototype;a.isoWeekYear=function(){return i(this).year()},a.isoWeek=function(l){if(!this.$utils().u(l))return this.add(7*(l-this.isoWeek()),t);var u,h,f,d,p=i(this),m=(u=this.isoWeekYear(),h=this.$u,f=(h?n.utc:n)().year(u).startOf("year"),d=4-f.isoWeekday(),f.isoWeekday()>4&&(d+=7),f.add(d,t));return p.diff(m,"week")+1},a.isoWeekday=function(l){return this.$utils().u(l)?this.day()||7:this.day(this.day()%7?l:l-7)};var s=a.startOf;a.startOf=function(l,u){var h=this.$utils(),f=!!h.u(u)||u;return h.p(l)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):s.bind(this)(l,u)}}})});var Ihe=Ii((LO,RO)=>{"use strict";(function(t,e){typeof LO=="object"&&typeof RO<"u"?RO.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_customParseFormat=e()})(LO,function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,r=/\d/,n=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,s={},l=o(function(g){return(g=+g)+(g>68?1900:2e3)},"a"),u=o(function(g){return function(y){this[g]=+y}},"f"),h=[/[+-]\d\d:?(\d\d)?|Z/,function(g){(this.zone||(this.zone={})).offset=function(y){if(!y||y==="Z")return 0;var v=y.match(/([+-]|\d\d)/g),x=60*v[1]+(+v[2]||0);return x===0?0:v[0]==="+"?-x:x}(g)}],f=o(function(g){var y=s[g];return y&&(y.indexOf?y:y.s.concat(y.f))},"u"),d=o(function(g,y){var v,x=s.meridiem;if(x){for(var b=1;b<=24;b+=1)if(g.indexOf(x(b,0,y))>-1){v=b>12;break}}else v=g===(y?"pm":"PM");return v},"d"),p={A:[a,function(g){this.afternoon=d(g,!1)}],a:[a,function(g){this.afternoon=d(g,!0)}],Q:[r,function(g){this.month=3*(g-1)+1}],S:[r,function(g){this.milliseconds=100*+g}],SS:[n,function(g){this.milliseconds=10*+g}],SSS:[/\d{3}/,function(g){this.milliseconds=+g}],s:[i,u("seconds")],ss:[i,u("seconds")],m:[i,u("minutes")],mm:[i,u("minutes")],H:[i,u("hours")],h:[i,u("hours")],HH:[i,u("hours")],hh:[i,u("hours")],D:[i,u("day")],DD:[n,u("day")],Do:[a,function(g){var y=s.ordinal,v=g.match(/\d+/);if(this.day=v[0],y)for(var x=1;x<=31;x+=1)y(x).replace(/\[|\]/g,"")===g&&(this.day=x)}],w:[i,u("week")],ww:[n,u("week")],M:[i,u("month")],MM:[n,u("month")],MMM:[a,function(g){var y=f("months"),v=(f("monthsShort")||y.map(function(x){return x.slice(0,3)})).indexOf(g)+1;if(v<1)throw new Error;this.month=v%12||v}],MMMM:[a,function(g){var y=f("months").indexOf(g)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,u("year")],YY:[n,function(g){this.year=l(g)}],YYYY:[/\d{4}/,u("year")],Z:h,ZZ:h};function m(g){var y,v;y=g,v=s&&s.formats;for(var x=(g=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(A,D,O){var R=O&&O.toUpperCase();return D||v[O]||t[O]||v[R].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(k,L,S){return L||S.slice(1)})})).match(e),b=x.length,T=0;T-1)return new Date((M==="X"?1e3:1)*I);var F=m(M)(I),z=F.year,$=F.month,U=F.day,K=F.hours,ee=F.minutes,Y=F.seconds,ce=F.milliseconds,Z=F.zone,ue=F.week,Q=new Date,j=U||(z||$?1:Q.getDate()),ne=z||Q.getFullYear(),te=0;z&&!$||(te=$>0?$-1:Q.getMonth());var he,le=K||0,J=ee||0,Se=Y||0,se=ce||0;return Z?new Date(Date.UTC(ne,te,j,le,J,Se,se+60*Z.offset*1e3)):P?new Date(Date.UTC(ne,te,j,le,J,Se,se)):(he=new Date(ne,te,j,le,J,Se,se),ue&&(he=B(he).week(ue).toDate()),he)}catch{return new Date("")}}(C,_,w,v),this.init(),R&&R!==!0&&(this.$L=this.locale(R).$L),O&&C!=this.format(_)&&(this.$d=new Date("")),s={}}else if(_ instanceof Array)for(var k=_.length,L=1;L<=k;L+=1){E[1]=_[L-1];var S=v.apply(this,E);if(S.isValid()){this.$d=S.$d,this.$L=S.$L,this.init();break}L===k&&(this.$d=new Date(""))}else b.call(this,T)}}})});var Ohe=Ii((NO,MO)=>{"use strict";(function(t,e){typeof NO=="object"&&typeof MO<"u"?MO.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis<"u"?globalThis:t||self).dayjs_plugin_advancedFormat=e()})(NO,function(){"use strict";return function(t,e){var r=e.prototype,n=r.format;r.format=function(i){var a=this,s=this.$locale();if(!this.isValid())return n.bind(this)(i);var l=this.$utils(),u=(i||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(h){switch(h){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return s.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return s.ordinal(a.week(),"W");case"w":case"ww":return l.s(a.week(),h==="w"?1:2,"0");case"W":case"WW":return l.s(a.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return l.s(String(a.$H===0?24:a.$H),h==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return h}});return n.bind(this)(u)}}})});function Qhe(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){let a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}var Fhe,fo,$he,zhe,Ghe,Phe,Hc,BO,FO,$O,Sb,Cb,zO,GO,_S,C1,VO,Vhe,UO,Ab,HO,WO,DS,IO,MGe,IGe,OGe,PGe,BGe,FGe,$Ge,zGe,GGe,VGe,UGe,HGe,WGe,qGe,YGe,XGe,jGe,KGe,QGe,ZGe,JGe,eVe,tVe,Uhe,rVe,nVe,iVe,Hhe,aVe,OO,Whe,qhe,CS,S1,sVe,oVe,PO,AS,Gi,Yhe,lVe,Np,cVe,Bhe,uVe,Xhe,hVe,jhe,fVe,dVe,Khe,Zhe=N(()=>{"use strict";Fhe=Sa(Y0(),1),fo=Sa(W4(),1),$he=Sa(Mhe(),1),zhe=Sa(Ihe(),1),Ghe=Sa(Ohe(),1);yt();qt();nr();ci();fo.default.extend($he.default);fo.default.extend(zhe.default);fo.default.extend(Ghe.default);Phe={friday:5,saturday:6},Hc="",BO="",$O="",Sb=[],Cb=[],zO=new Map,GO=[],_S=[],C1="",VO="",Vhe=["active","done","crit","milestone","vert"],UO=[],Ab=!1,HO=!1,WO="sunday",DS="saturday",IO=0,MGe=o(function(){GO=[],_S=[],C1="",UO=[],CS=0,PO=void 0,AS=void 0,Gi=[],Hc="",BO="",VO="",FO=void 0,$O="",Sb=[],Cb=[],Ab=!1,HO=!1,IO=0,zO=new Map,wr(),WO="sunday",DS="saturday"},"clear"),IGe=o(function(t){BO=t},"setAxisFormat"),OGe=o(function(){return BO},"getAxisFormat"),PGe=o(function(t){FO=t},"setTickInterval"),BGe=o(function(){return FO},"getTickInterval"),FGe=o(function(t){$O=t},"setTodayMarker"),$Ge=o(function(){return $O},"getTodayMarker"),zGe=o(function(t){Hc=t},"setDateFormat"),GGe=o(function(){Ab=!0},"enableInclusiveEndDates"),VGe=o(function(){return Ab},"endDatesAreInclusive"),UGe=o(function(){HO=!0},"enableTopAxis"),HGe=o(function(){return HO},"topAxisEnabled"),WGe=o(function(t){VO=t},"setDisplayMode"),qGe=o(function(){return VO},"getDisplayMode"),YGe=o(function(){return Hc},"getDateFormat"),XGe=o(function(t){Sb=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),jGe=o(function(){return Sb},"getIncludes"),KGe=o(function(t){Cb=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),QGe=o(function(){return Cb},"getExcludes"),ZGe=o(function(){return zO},"getLinks"),JGe=o(function(t){C1=t,GO.push(t)},"addSection"),eVe=o(function(){return GO},"getSections"),tVe=o(function(){let t=Bhe(),e=10,r=0;for(;!t&&r[\d\w- ]+)/.exec(r);if(i!==null){let s=null;for(let u of i.groups.ids.split(" ")){let h=Np(u);h!==void 0&&(!s||h.endTime>s.endTime)&&(s=h)}if(s)return s.endTime;let l=new Date;return l.setHours(0,0,0,0),l}let a=(0,fo.default)(r,e.trim(),!0);if(a.isValid())return a.toDate();{X.debug("Invalid date:"+r),X.debug("With date format:"+e.trim());let s=new Date(r);if(s===void 0||isNaN(s.getTime())||s.getFullYear()<-1e4||s.getFullYear()>1e4)throw new Error("Invalid date:"+r);return s}},"getStartDate"),Whe=o(function(t){let e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),qhe=o(function(t,e,r,n=!1){r=r.trim();let a=/^until\s+(?[\d\w- ]+)/.exec(r);if(a!==null){let f=null;for(let p of a.groups.ids.split(" ")){let m=Np(p);m!==void 0&&(!f||m.startTime{window.open(r,"_self")}),zO.set(n,r))}),Xhe(t,"clickable")},"setLink"),Xhe=o(function(t,e){t.split(",").forEach(function(r){let n=Np(r);n!==void 0&&n.classes.push(e)})},"setClass"),hVe=o(function(t,e,r){if(ge().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a{Vt.runFunc(e,...n)})},"setClickFun"),jhe=o(function(t,e){UO.push(function(){let r=document.querySelector(`[id="${t}"]`);r!==null&&r.addEventListener("click",function(){e()})},function(){let r=document.querySelector(`[id="${t}-text"]`);r!==null&&r.addEventListener("click",function(){e()})})},"pushFun"),fVe=o(function(t,e,r){t.split(",").forEach(function(n){hVe(n,e,r)}),Xhe(t,"clickable")},"setClickEvent"),dVe=o(function(t){UO.forEach(function(e){e(t)})},"bindFunctions"),Khe={getConfig:o(()=>ge().gantt,"getConfig"),clear:MGe,setDateFormat:zGe,getDateFormat:YGe,enableInclusiveEndDates:GGe,endDatesAreInclusive:VGe,enableTopAxis:UGe,topAxisEnabled:HGe,setAxisFormat:IGe,getAxisFormat:OGe,setTickInterval:PGe,getTickInterval:BGe,setTodayMarker:FGe,getTodayMarker:$Ge,setAccTitle:Cr,getAccTitle:_r,setDiagramTitle:Ir,getDiagramTitle:Rr,setDisplayMode:WGe,getDisplayMode:qGe,setAccDescription:Dr,getAccDescription:Lr,addSection:JGe,getSections:eVe,getTasks:tVe,addTask:lVe,findTaskById:Np,addTaskOrg:cVe,setIncludes:XGe,getIncludes:jGe,setExcludes:KGe,getExcludes:QGe,setClickEvent:fVe,setLink:uVe,getLinks:ZGe,bindFunctions:dVe,parseDuration:Whe,isInvalidDate:Uhe,setWeekday:rVe,getWeekday:nVe,setWeekend:iVe};o(Qhe,"getTaskTags")});var LS,pVe,Jhe,mVe,ju,gVe,efe,tfe=N(()=>{"use strict";LS=Sa(W4(),1);yt();pr();dr();qt();yi();pVe=o(function(){X.debug("Something is calling, setConf, remove the call")},"setConf"),Jhe={monday:_h,tuesday:N5,wednesday:M5,thursday:uc,friday:I5,saturday:O5,sunday:bl},mVe=o((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(let a of n)for(let s=0;s=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),gVe=o(function(t,e,r,n){let i=ge().gantt,a=ge().securityLevel,s;a==="sandbox"&&(s=Ge("#i"+e));let l=a==="sandbox"?Ge(s.nodes()[0].contentDocument.body):Ge("body"),u=a==="sandbox"?s.nodes()[0].contentDocument:document,h=u.getElementById(e);ju=h.parentElement.offsetWidth,ju===void 0&&(ju=1200),i.useWidth!==void 0&&(ju=i.useWidth);let f=n.db.getTasks(),d=[];for(let A of f)d.push(A.type);d=_(d);let p={},m=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){let A={};for(let O of f)A[O.section]===void 0?A[O.section]=[O]:A[O.section].push(O);let D=0;for(let O of Object.keys(A)){let R=mVe(A[O],D)+1;D+=R,m+=R*(i.barHeight+i.barGap),p[O]=R}}else{m+=f.length*(i.barHeight+i.barGap);for(let A of d)p[A]=f.filter(D=>D.type===A).length}h.setAttribute("viewBox","0 0 "+ju+" "+m);let g=l.select(`[id="${e}"]`),y=F5().domain([U3(f,function(A){return A.startTime}),V3(f,function(A){return A.endTime})]).rangeRound([0,ju-i.leftPadding-i.rightPadding]);function v(A,D){let O=A.startTime,R=D.startTime,k=0;return O>R?k=1:Oz.vert===$.vert?0:z.vert?1:-1);let M=[...new Set(A.map(z=>z.order))].map(z=>A.find($=>$.order===z));g.append("g").selectAll("rect").data(M).enter().append("rect").attr("x",0).attr("y",function(z,$){return $=z.order,$*D+O-2}).attr("width",function(){return S-i.rightPadding/2}).attr("height",D).attr("class",function(z){for(let[$,U]of d.entries())if(z.type===U)return"section section"+$%i.numberSectionStyles;return"section section0"}).enter();let P=g.append("g").selectAll("rect").data(A).enter(),B=n.db.getLinks();if(P.append("rect").attr("id",function(z){return z.id}).attr("rx",3).attr("ry",3).attr("x",function(z){return z.milestone?y(z.startTime)+R+.5*(y(z.endTime)-y(z.startTime))-.5*k:y(z.startTime)+R}).attr("y",function(z,$){return $=z.order,z.vert?i.gridLineStartPadding:$*D+O}).attr("width",function(z){return z.milestone?k:z.vert?.08*k:y(z.renderEndTime||z.endTime)-y(z.startTime)}).attr("height",function(z){return z.vert?f.length*(i.barHeight+i.barGap)+i.barHeight*2:k}).attr("transform-origin",function(z,$){return $=z.order,(y(z.startTime)+R+.5*(y(z.endTime)-y(z.startTime))).toString()+"px "+($*D+O+.5*k).toString()+"px"}).attr("class",function(z){let $="task",U="";z.classes.length>0&&(U=z.classes.join(" "));let K=0;for(let[Y,ce]of d.entries())z.type===ce&&(K=Y%i.numberSectionStyles);let ee="";return z.active?z.crit?ee+=" activeCrit":ee=" active":z.done?z.crit?ee=" doneCrit":ee=" done":z.crit&&(ee+=" crit"),ee.length===0&&(ee=" task"),z.milestone&&(ee=" milestone "+ee),z.vert&&(ee=" vert "+ee),ee+=K,ee+=" "+U,$+ee}),P.append("text").attr("id",function(z){return z.id+"-text"}).text(function(z){return z.task}).attr("font-size",i.fontSize).attr("x",function(z){let $=y(z.startTime),U=y(z.renderEndTime||z.endTime);if(z.milestone&&($+=.5*(y(z.endTime)-y(z.startTime))-.5*k,U=$+k),z.vert)return y(z.startTime)+R;let K=this.getBBox().width;return K>U-$?U+K+1.5*i.leftPadding>S?$+R-5:U+R+5:(U-$)/2+$+R}).attr("y",function(z,$){return z.vert?i.gridLineStartPadding+f.length*(i.barHeight+i.barGap)+60:($=z.order,$*D+i.barHeight/2+(i.fontSize/2-2)+O)}).attr("text-height",k).attr("class",function(z){let $=y(z.startTime),U=y(z.endTime);z.milestone&&(U=$+k);let K=this.getBBox().width,ee="";z.classes.length>0&&(ee=z.classes.join(" "));let Y=0;for(let[Z,ue]of d.entries())z.type===ue&&(Y=Z%i.numberSectionStyles);let ce="";return z.active&&(z.crit?ce="activeCritText"+Y:ce="activeText"+Y),z.done?z.crit?ce=ce+" doneCritText"+Y:ce=ce+" doneText"+Y:z.crit&&(ce=ce+" critText"+Y),z.milestone&&(ce+=" milestoneText"),z.vert&&(ce+=" vertText"),K>U-$?U+K+1.5*i.leftPadding>S?ee+" taskTextOutsideLeft taskTextOutside"+Y+" "+ce:ee+" taskTextOutsideRight taskTextOutside"+Y+" "+ce+" width-"+K:ee+" taskText taskText"+Y+" "+ce+" width-"+K}),ge().securityLevel==="sandbox"){let z;z=Ge("#i"+e);let $=z.nodes()[0].contentDocument;P.filter(function(U){return B.has(U.id)}).each(function(U){var K=$.querySelector("#"+U.id),ee=$.querySelector("#"+U.id+"-text");let Y=K.parentNode;var ce=$.createElement("a");ce.setAttribute("xlink:href",B.get(U.id)),ce.setAttribute("target","_top"),Y.appendChild(ce),ce.appendChild(K),ce.appendChild(ee)})}}o(b,"drawRects");function T(A,D,O,R,k,L,S,I){if(S.length===0&&I.length===0)return;let M,P;for(let{startTime:K,endTime:ee}of L)(M===void 0||KP)&&(P=ee);if(!M||!P)return;if((0,LS.default)(P).diff((0,LS.default)(M),"year")>5){X.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}let B=n.db.getDateFormat(),F=[],z=null,$=(0,LS.default)(M);for(;$.valueOf()<=P;)n.db.isInvalidDate($,B,S,I)?z?z.end=$:z={start:$,end:$}:z&&(F.push(z),z=null),$=$.add(1,"d");g.append("g").selectAll("rect").data(F).enter().append("rect").attr("id",K=>"exclude-"+K.start.format("YYYY-MM-DD")).attr("x",K=>y(K.start.startOf("day"))+O).attr("y",i.gridLineStartPadding).attr("width",K=>y(K.end.endOf("day"))-y(K.start.startOf("day"))).attr("height",k-D-i.gridLineStartPadding).attr("transform-origin",function(K,ee){return(y(K.start)+O+.5*(y(K.end)-y(K.start))).toString()+"px "+(ee*A+.5*k).toString()+"px"}).attr("class","exclude-range")}o(T,"drawExcludeDays");function C(A,D,O,R){let k=n.db.getDateFormat(),L=n.db.getAxisFormat(),S;L?S=L:k==="D"?S="%d":S=i.axisFormat??"%Y-%m-%d";let I=BA(y).tickSize(-R+D+i.gridLineStartPadding).tickFormat(kd(S)),P=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(P!==null){let B=P[1],F=P[2],z=n.db.getWeekday()||i.weekday;switch(F){case"millisecond":I.ticks(lc.every(B));break;case"second":I.ticks(Zs.every(B));break;case"minute":I.ticks(bu.every(B));break;case"hour":I.ticks(Tu.every(B));break;case"day":I.ticks(Do.every(B));break;case"week":I.ticks(Jhe[z].every(B));break;case"month":I.ticks(wu.every(B));break}}if(g.append("g").attr("class","grid").attr("transform","translate("+A+", "+(R-50)+")").call(I).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let B=PA(y).tickSize(-R+D+i.gridLineStartPadding).tickFormat(kd(S));if(P!==null){let F=P[1],z=P[2],$=n.db.getWeekday()||i.weekday;switch(z){case"millisecond":B.ticks(lc.every(F));break;case"second":B.ticks(Zs.every(F));break;case"minute":B.ticks(bu.every(F));break;case"hour":B.ticks(Tu.every(F));break;case"day":B.ticks(Do.every(F));break;case"week":B.ticks(Jhe[$].every(F));break;case"month":B.ticks(wu.every(F));break}}g.append("g").attr("class","grid").attr("transform","translate("+A+", "+D+")").call(B).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}o(C,"makeGrid");function w(A,D){let O=0,R=Object.keys(p).map(k=>[k,p[k]]);g.append("g").selectAll("text").data(R).enter().append(function(k){let L=k[0].split(Ze.lineBreakRegex),S=-(L.length-1)/2,I=u.createElementNS("http://www.w3.org/2000/svg","text");I.setAttribute("dy",S+"em");for(let[M,P]of L.entries()){let B=u.createElementNS("http://www.w3.org/2000/svg","tspan");B.setAttribute("alignment-baseline","central"),B.setAttribute("x","10"),M>0&&B.setAttribute("dy","1em"),B.textContent=P,I.appendChild(B)}return I}).attr("x",10).attr("y",function(k,L){if(L>0)for(let S=0;S{"use strict";yVe=o(t=>` + .mermaid-main-font { + font-family: ${t.fontFamily}; + } + + .exclude-range { + fill: ${t.excludeBkgColor}; + } + + .section { + stroke: none; + opacity: 0.2; + } + + .section0 { + fill: ${t.sectionBkgColor}; + } + + .section2 { + fill: ${t.sectionBkgColor2}; + } + + .section1, + .section3 { + fill: ${t.altSectionBkgColor}; + opacity: 0.2; + } + + .sectionTitle0 { + fill: ${t.titleColor}; + } + + .sectionTitle1 { + fill: ${t.titleColor}; + } + + .sectionTitle2 { + fill: ${t.titleColor}; + } + + .sectionTitle3 { + fill: ${t.titleColor}; + } + + .sectionTitle { + text-anchor: start; + font-family: ${t.fontFamily}; + } + + + /* Grid and axis */ + + .grid .tick { + stroke: ${t.gridColor}; + opacity: 0.8; + shape-rendering: crispEdges; + } + + .grid .tick text { + font-family: ${t.fontFamily}; + fill: ${t.textColor}; + } + + .grid path { + stroke-width: 0; + } + + + /* Today line */ + + .today { + fill: none; + stroke: ${t.todayLineColor}; + stroke-width: 2px; + } + + + /* Task styling */ + + /* Default task */ + + .task { + stroke-width: 2; + } + + .taskText { + text-anchor: middle; + font-family: ${t.fontFamily}; + } + + .taskTextOutsideRight { + fill: ${t.taskTextDarkColor}; + text-anchor: start; + font-family: ${t.fontFamily}; + } + + .taskTextOutsideLeft { + fill: ${t.taskTextDarkColor}; + text-anchor: end; + } + + + /* Special case clickable */ + + .task.clickable { + cursor: pointer; + } + + .taskText.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideLeft.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + .taskTextOutsideRight.clickable { + cursor: pointer; + fill: ${t.taskTextClickableColor} !important; + font-weight: bold; + } + + + /* Specific task settings for the sections*/ + + .taskText0, + .taskText1, + .taskText2, + .taskText3 { + fill: ${t.taskTextColor}; + } + + .task0, + .task1, + .task2, + .task3 { + fill: ${t.taskBkgColor}; + stroke: ${t.taskBorderColor}; + } + + .taskTextOutside0, + .taskTextOutside2 + { + fill: ${t.taskTextOutsideColor}; + } + + .taskTextOutside1, + .taskTextOutside3 { + fill: ${t.taskTextOutsideColor}; + } + + + /* Active task */ + + .active0, + .active1, + .active2, + .active3 { + fill: ${t.activeTaskBkgColor}; + stroke: ${t.activeTaskBorderColor}; + } + + .activeText0, + .activeText1, + .activeText2, + .activeText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Completed task */ + + .done0, + .done1, + .done2, + .done3 { + stroke: ${t.doneTaskBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + } + + .doneText0, + .doneText1, + .doneText2, + .doneText3 { + fill: ${t.taskTextDarkColor} !important; + } + + + /* Tasks on the critical line */ + + .crit0, + .crit1, + .crit2, + .crit3 { + stroke: ${t.critBorderColor}; + fill: ${t.critBkgColor}; + stroke-width: 2; + } + + .activeCrit0, + .activeCrit1, + .activeCrit2, + .activeCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.activeTaskBkgColor}; + stroke-width: 2; + } + + .doneCrit0, + .doneCrit1, + .doneCrit2, + .doneCrit3 { + stroke: ${t.critBorderColor}; + fill: ${t.doneTaskBkgColor}; + stroke-width: 2; + cursor: pointer; + shape-rendering: crispEdges; + } + + .milestone { + transform: rotate(45deg) scale(0.8,0.8); + } + + .milestoneText { + font-style: italic; + } + .doneCritText0, + .doneCritText1, + .doneCritText2, + .doneCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .vert { + stroke: ${t.vertLineColor}; + } + + .vertText { + font-size: 15px; + text-anchor: middle; + fill: ${t.vertLineColor} !important; + } + + .activeCritText0, + .activeCritText1, + .activeCritText2, + .activeCritText3 { + fill: ${t.taskTextDarkColor} !important; + } + + .titleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.titleColor||t.textColor}; + font-family: ${t.fontFamily}; + } +`,"getStyles"),rfe=yVe});var ife={};hr(ife,{diagram:()=>vVe});var vVe,afe=N(()=>{"use strict";Nhe();Zhe();tfe();nfe();vVe={parser:Rhe,db:Khe,renderer:efe,styles:rfe}});var lfe,cfe=N(()=>{"use strict";gf();yt();lfe={parse:o(async t=>{let e=await ps("info",t);X.debug(e)},"parse")}});var _b,qO=N(()=>{_b={name:"mermaid",version:"11.10.0",description:"Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.",type:"module",module:"./dist/mermaid.core.mjs",types:"./dist/mermaid.d.ts",exports:{".":{types:"./dist/mermaid.d.ts",import:"./dist/mermaid.core.mjs",default:"./dist/mermaid.core.mjs"},"./*":"./*"},keywords:["diagram","markdown","flowchart","sequence diagram","gantt","class diagram","git graph","mindmap","packet diagram","c4 diagram","er diagram","pie chart","pie diagram","quadrant chart","requirement diagram","graph"],scripts:{clean:"rimraf dist",dev:"pnpm -w dev","docs:code":"typedoc src/defaultConfig.ts src/config.ts src/mermaid.ts && prettier --write ./src/docs/config/setup","docs:build":"rimraf ../../docs && pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts","docs:verify":"pnpm docs:code && pnpm docs:spellcheck && tsx scripts/docs.cli.mts --verify","docs:pre:vitepress":"pnpm --filter ./src/docs prefetch && rimraf src/vitepress && pnpm docs:code && tsx scripts/docs.cli.mts --vitepress && pnpm --filter ./src/vitepress install --no-frozen-lockfile --ignore-scripts","docs:build:vitepress":"pnpm docs:pre:vitepress && (cd src/vitepress && pnpm run build) && cpy --flat src/docs/landing/ ./src/vitepress/.vitepress/dist/landing","docs:dev":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:dev:docker":'pnpm docs:pre:vitepress && concurrently "pnpm --filter ./src/vitepress dev:docker" "tsx scripts/docs.cli.mts --watch --vitepress"',"docs:serve":"pnpm docs:build:vitepress && vitepress serve src/vitepress","docs:spellcheck":'cspell "src/docs/**/*.md"',"docs:release-version":"tsx scripts/update-release-version.mts","docs:verify-version":"tsx scripts/update-release-version.mts --verify","types:build-config":"tsx scripts/create-types-from-json-schema.mts","types:verify-config":"tsx scripts/create-types-from-json-schema.mts --verify",checkCircle:"npx madge --circular ./src",prepublishOnly:"pnpm docs:verify-version"},repository:{type:"git",url:"https://github.com/mermaid-js/mermaid"},author:"Knut Sveidqvist",license:"MIT",standard:{ignore:["**/parser/*.js","dist/**/*.js","cypress/**/*.js"],globals:["page"]},dependencies:{"@braintree/sanitize-url":"^7.0.4","@iconify/utils":"^2.1.33","@mermaid-js/parser":"workspace:^","@types/d3":"^7.4.3",cytoscape:"^3.29.3","cytoscape-cose-bilkent":"^4.1.0","cytoscape-fcose":"^2.2.0",d3:"^7.9.0","d3-sankey":"^0.12.3","dagre-d3-es":"7.0.11",dayjs:"^1.11.13",dompurify:"^3.2.5",katex:"^0.16.22",khroma:"^2.1.0","lodash-es":"^4.17.21",marked:"^16.0.0",roughjs:"^4.6.6",stylis:"^4.3.6","ts-dedent":"^2.2.0",uuid:"^11.1.0"},devDependencies:{"@adobe/jsonschema2md":"^8.0.2","@iconify/types":"^2.0.0","@types/cytoscape":"^3.21.9","@types/cytoscape-fcose":"^2.2.4","@types/d3-sankey":"^0.12.4","@types/d3-scale":"^4.0.9","@types/d3-scale-chromatic":"^3.1.0","@types/d3-selection":"^3.0.11","@types/d3-shape":"^3.1.7","@types/jsdom":"^21.1.7","@types/katex":"^0.16.7","@types/lodash-es":"^4.17.12","@types/micromatch":"^4.0.9","@types/stylis":"^4.2.7","@types/uuid":"^10.0.0",ajv:"^8.17.1",canvas:"^3.1.0",chokidar:"3.6.0",concurrently:"^9.1.2","csstree-validator":"^4.0.1",globby:"^14.0.2",jison:"^0.4.18","js-base64":"^3.7.7",jsdom:"^26.1.0","json-schema-to-typescript":"^15.0.4",micromatch:"^4.0.8","path-browserify":"^1.0.1",prettier:"^3.5.2",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1",rimraf:"^6.0.1","start-server-and-test":"^2.0.10","type-fest":"^4.35.0",typedoc:"^0.27.8","typedoc-plugin-markdown":"^4.4.2",typescript:"~5.7.3","unist-util-flatmap":"^1.0.0","unist-util-visit":"^5.0.0",vitepress:"^1.0.2","vitepress-plugin-search":"1.0.4-alpha.22"},files:["dist/","README.md"],publishConfig:{access:"public"}}});var kVe,EVe,ufe,hfe=N(()=>{"use strict";qO();kVe={version:_b.version+""},EVe=o(()=>kVe.version,"getVersion"),ufe={getVersion:EVe}});var Di,zl=N(()=>{"use strict";pr();qt();Di=o(t=>{let{securityLevel:e}=ge(),r=Ge("body");if(e==="sandbox"){let a=Ge(`#i${t}`).node()?.contentDocument??document;r=Ge(a.body)}return r.select(`#${t}`)},"selectSvgElement")});var SVe,ffe,dfe=N(()=>{"use strict";yt();zl();yi();SVe=o((t,e,r)=>{X.debug(`rendering info diagram +`+t);let n=Di(e);hn(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),ffe={draw:SVe}});var pfe={};hr(pfe,{diagram:()=>CVe});var CVe,mfe=N(()=>{"use strict";cfe();hfe();dfe();CVe={parser:lfe,db:ufe,renderer:ffe}});var vfe,YO,RS,XO,DVe,LVe,RVe,NVe,MVe,IVe,OVe,NS,jO=N(()=>{"use strict";yt();ci();Ca();vfe=lr.pie,YO={sections:new Map,showData:!1,config:vfe},RS=YO.sections,XO=YO.showData,DVe=structuredClone(vfe),LVe=o(()=>structuredClone(DVe),"getConfig"),RVe=o(()=>{RS=new Map,XO=YO.showData,wr()},"clear"),NVe=o(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);RS.has(t)||(RS.set(t,e),X.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),MVe=o(()=>RS,"getSections"),IVe=o(t=>{XO=t},"setShowData"),OVe=o(()=>XO,"getShowData"),NS={getConfig:LVe,clear:RVe,setDiagramTitle:Ir,getDiagramTitle:Rr,setAccTitle:Cr,getAccTitle:_r,setAccDescription:Dr,getAccDescription:Lr,addSection:NVe,getSections:MVe,setShowData:IVe,getShowData:OVe}});var PVe,xfe,bfe=N(()=>{"use strict";gf();yt();Dp();jO();PVe=o((t,e)=>{Qo(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),xfe={parse:o(async t=>{let e=await ps("pie",t);X.debug(e),PVe(e,NS)},"parse")}});var BVe,Tfe,wfe=N(()=>{"use strict";BVe=o(t=>` + .pieCircle{ + stroke: ${t.pieStrokeColor}; + stroke-width : ${t.pieStrokeWidth}; + opacity : ${t.pieOpacity}; + } + .pieOuterCircle{ + stroke: ${t.pieOuterStrokeColor}; + stroke-width: ${t.pieOuterStrokeWidth}; + fill: none; + } + .pieTitleText { + text-anchor: middle; + font-size: ${t.pieTitleTextSize}; + fill: ${t.pieTitleTextColor}; + font-family: ${t.fontFamily}; + } + .slice { + font-family: ${t.fontFamily}; + fill: ${t.pieSectionTextColor}; + font-size:${t.pieSectionTextSize}; + // fill: white; + } + .legend text { + fill: ${t.pieLegendTextColor}; + font-family: ${t.fontFamily}; + font-size: ${t.pieLegendTextSize}; + } +`,"getStyles"),Tfe=BVe});var FVe,$Ve,kfe,Efe=N(()=>{"use strict";pr();qt();yt();zl();yi();nr();FVe=o(t=>{let e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1).sort((i,a)=>a.value-i.value);return H5().value(i=>i.value)(r)},"createPieArcs"),$Ve=o((t,e,r,n)=>{X.debug(`rendering pie chart +`+t);let i=n.db,a=ge(),s=Fn(i.getConfig(),a.pie),l=40,u=18,h=4,f=450,d=f,p=Di(e),m=p.append("g");m.attr("transform","translate("+d/2+","+f/2+")");let{themeVariables:g}=a,[y]=Fo(g.pieOuterStrokeWidth);y??=2;let v=s.textPosition,x=Math.min(d,f)/2-l,b=kl().innerRadius(0).outerRadius(x),T=kl().innerRadius(x*v).outerRadius(x*v);m.append("circle").attr("cx",0).attr("cy",0).attr("r",x+y/2).attr("class","pieOuterCircle");let C=i.getSections(),w=FVe(C),E=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12],_=0;C.forEach(S=>{_+=S});let A=w.filter(S=>(S.data.value/_*100).toFixed(0)!=="0"),D=Qs(E);m.selectAll("mySlices").data(A).enter().append("path").attr("d",b).attr("fill",S=>D(S.data.label)).attr("class","pieCircle"),m.selectAll("mySlices").data(A).enter().append("text").text(S=>(S.data.value/_*100).toFixed(0)+"%").attr("transform",S=>"translate("+T.centroid(S)+")").style("text-anchor","middle").attr("class","slice"),m.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-(f-50)/2).attr("class","pieTitleText");let O=[...C.entries()].map(([S,I])=>({label:S,value:I})),R=m.selectAll(".legend").data(O).enter().append("g").attr("class","legend").attr("transform",(S,I)=>{let M=u+h,P=M*O.length/2,B=12*u,F=I*M-P;return"translate("+B+","+F+")"});R.append("rect").attr("width",u).attr("height",u).style("fill",S=>D(S.label)).style("stroke",S=>D(S.label)),R.append("text").attr("x",u+h).attr("y",u-h).text(S=>i.getShowData()?`${S.label} [${S.value}]`:S.label);let k=Math.max(...R.selectAll("text").nodes().map(S=>S?.getBoundingClientRect().width??0)),L=d+l+u+h+k;p.attr("viewBox",`0 0 ${L} ${f}`),hn(p,f,L,s.useMaxWidth)},"draw"),kfe={draw:$Ve}});var Sfe={};hr(Sfe,{diagram:()=>zVe});var zVe,Cfe=N(()=>{"use strict";bfe();jO();wfe();Efe();zVe={parser:xfe,db:NS,renderer:kfe,styles:Tfe}});var KO,Dfe,Lfe=N(()=>{"use strict";KO=function(){var t=o(function(Te,W,pe,ve){for(pe=pe||{},ve=Te.length;ve--;pe[Te[ve]]=W);return pe},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],u=[55,56,57],h=[2,36],f=[1,37],d=[1,36],p=[1,38],m=[1,35],g=[1,43],y=[1,41],v=[1,14],x=[1,23],b=[1,18],T=[1,19],C=[1,20],w=[1,21],E=[1,22],_=[1,24],A=[1,25],D=[1,26],O=[1,27],R=[1,28],k=[1,29],L=[1,32],S=[1,33],I=[1,34],M=[1,39],P=[1,40],B=[1,42],F=[1,44],z=[1,62],$=[1,61],U=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],K=[1,65],ee=[1,66],Y=[1,67],ce=[1,68],Z=[1,69],ue=[1,70],Q=[1,71],j=[1,72],ne=[1,73],te=[1,74],he=[1,75],le=[1,76],J=[4,5,6,7,8,9,10,11,12,13,14,15,18],Se=[1,90],se=[1,91],ae=[1,92],Oe=[1,99],ye=[1,93],Be=[1,96],He=[1,94],ze=[1,95],Le=[1,97],Ie=[1,98],xe=[1,102],q=[10,55,56,57],de=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],ie={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:o(function(W,pe,ve,Pe,_e,be,Ve){var De=be.length-1;switch(_e){case 23:this.$=be[De];break;case 24:this.$=be[De-1]+""+be[De];break;case 26:this.$=be[De-1]+be[De];break;case 27:this.$=[be[De].trim()];break;case 28:be[De-2].push(be[De].trim()),this.$=be[De-2];break;case 29:this.$=be[De-4],Pe.addClass(be[De-2],be[De]);break;case 37:this.$=[];break;case 42:this.$=be[De].trim(),Pe.setDiagramTitle(this.$);break;case 43:this.$=be[De].trim(),Pe.setAccTitle(this.$);break;case 44:case 45:this.$=be[De].trim(),Pe.setAccDescription(this.$);break;case 46:Pe.addSection(be[De].substr(8)),this.$=be[De].substr(8);break;case 47:Pe.addPoint(be[De-3],"",be[De-1],be[De],[]);break;case 48:Pe.addPoint(be[De-4],be[De-3],be[De-1],be[De],[]);break;case 49:Pe.addPoint(be[De-4],"",be[De-2],be[De-1],be[De]);break;case 50:Pe.addPoint(be[De-5],be[De-4],be[De-2],be[De-1],be[De]);break;case 51:Pe.setXAxisLeftText(be[De-2]),Pe.setXAxisRightText(be[De]);break;case 52:be[De-1].text+=" \u27F6 ",Pe.setXAxisLeftText(be[De-1]);break;case 53:Pe.setXAxisLeftText(be[De]);break;case 54:Pe.setYAxisBottomText(be[De-2]),Pe.setYAxisTopText(be[De]);break;case 55:be[De-1].text+=" \u27F6 ",Pe.setYAxisBottomText(be[De-1]);break;case 56:Pe.setYAxisBottomText(be[De]);break;case 57:Pe.setQuadrant1Text(be[De]);break;case 58:Pe.setQuadrant2Text(be[De]);break;case 59:Pe.setQuadrant3Text(be[De]);break;case 60:Pe.setQuadrant4Text(be[De]);break;case 64:this.$={text:be[De],type:"text"};break;case 65:this.$={text:be[De-1].text+""+be[De],type:be[De-1].type};break;case 66:this.$={text:be[De],type:"text"};break;case 67:this.$={text:be[De],type:"markdown"};break;case 68:this.$=be[De];break;case 69:this.$=be[De-1]+""+be[De];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(u,h,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:C,41:w,42:E,48:_,50:A,51:D,52:O,53:R,54:k,60:L,61:S,63:I,64:M,65:P,66:B,67:F}),t(s,[2,34]),{27:45,55:n,56:i,57:a},t(u,[2,37]),t(u,h,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:f,5:d,10:p,12:m,13:g,14:y,18:v,25:x,35:b,37:T,39:C,41:w,42:E,48:_,50:A,51:D,52:O,53:R,54:k,60:L,61:S,63:I,64:M,65:P,66:B,67:F}),t(u,[2,39]),t(u,[2,40]),t(u,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(u,[2,45]),t(u,[2,46]),{18:[1,50]},{4:f,5:d,10:p,12:m,13:g,14:y,43:51,58:31,60:L,61:S,63:I,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:52,58:31,60:L,61:S,63:I,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:53,58:31,60:L,61:S,63:I,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:54,58:31,60:L,61:S,63:I,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:55,58:31,60:L,61:S,63:I,64:M,65:P,66:B,67:F},{4:f,5:d,10:p,12:m,13:g,14:y,43:56,58:31,60:L,61:S,63:I,64:M,65:P,66:B,67:F},{4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:$,44:[1,57],47:[1,58],58:60,59:59,63:I,64:M,65:P,66:B,67:F},t(U,[2,64]),t(U,[2,66]),t(U,[2,67]),t(U,[2,70]),t(U,[2,71]),t(U,[2,72]),t(U,[2,73]),t(U,[2,74]),t(U,[2,75]),t(U,[2,76]),t(U,[2,77]),t(U,[2,78]),t(U,[2,79]),t(U,[2,80]),t(s,[2,35]),t(u,[2,38]),t(u,[2,42]),t(u,[2,43]),t(u,[2,44]),{3:64,4:K,5:ee,6:Y,7:ce,8:Z,9:ue,10:Q,11:j,12:ne,13:te,14:he,15:le,21:63},t(u,[2,53],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:$,49:[1,77],63:I,64:M,65:P,66:B,67:F}),t(u,[2,56],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:$,49:[1,78],63:I,64:M,65:P,66:B,67:F}),t(u,[2,57],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:$,63:I,64:M,65:P,66:B,67:F}),t(u,[2,58],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:$,63:I,64:M,65:P,66:B,67:F}),t(u,[2,59],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:$,63:I,64:M,65:P,66:B,67:F}),t(u,[2,60],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:$,63:I,64:M,65:P,66:B,67:F}),{45:[1,79]},{44:[1,80]},t(U,[2,65]),t(U,[2,81]),t(U,[2,82]),t(U,[2,83]),{3:82,4:K,5:ee,6:Y,7:ce,8:Z,9:ue,10:Q,11:j,12:ne,13:te,14:he,15:le,18:[1,81]},t(J,[2,23]),t(J,[2,1]),t(J,[2,2]),t(J,[2,3]),t(J,[2,4]),t(J,[2,5]),t(J,[2,6]),t(J,[2,7]),t(J,[2,8]),t(J,[2,9]),t(J,[2,10]),t(J,[2,11]),t(J,[2,12]),t(u,[2,52],{58:31,43:83,4:f,5:d,10:p,12:m,13:g,14:y,60:L,61:S,63:I,64:M,65:P,66:B,67:F}),t(u,[2,55],{58:31,43:84,4:f,5:d,10:p,12:m,13:g,14:y,60:L,61:S,63:I,64:M,65:P,66:B,67:F}),{46:[1,85]},{45:[1,86]},{4:Se,5:se,6:ae,8:Oe,11:ye,13:Be,16:89,17:He,18:ze,19:Le,20:Ie,22:88,23:87},t(J,[2,24]),t(u,[2,51],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:$,63:I,64:M,65:P,66:B,67:F}),t(u,[2,54],{59:59,58:60,4:f,5:d,8:z,10:p,12:m,13:g,14:y,18:$,63:I,64:M,65:P,66:B,67:F}),t(u,[2,47],{22:88,16:89,23:100,4:Se,5:se,6:ae,8:Oe,11:ye,13:Be,17:He,18:ze,19:Le,20:Ie}),{46:[1,101]},t(u,[2,29],{10:xe}),t(q,[2,27],{16:103,4:Se,5:se,6:ae,8:Oe,11:ye,13:Be,17:He,18:ze,19:Le,20:Ie}),t(de,[2,25]),t(de,[2,13]),t(de,[2,14]),t(de,[2,15]),t(de,[2,16]),t(de,[2,17]),t(de,[2,18]),t(de,[2,19]),t(de,[2,20]),t(de,[2,21]),t(de,[2,22]),t(u,[2,49],{10:xe}),t(u,[2,48],{22:88,16:89,23:104,4:Se,5:se,6:ae,8:Oe,11:ye,13:Be,17:He,18:ze,19:Le,20:Ie}),{4:Se,5:se,6:ae,8:Oe,11:ye,13:Be,16:89,17:He,18:ze,19:Le,20:Ie,22:105},t(de,[2,26]),t(u,[2,50],{10:xe}),t(q,[2,28],{16:103,4:Se,5:se,6:ae,8:Oe,11:ye,13:Be,17:He,18:ze,19:Le,20:Ie})],defaultActions:{8:[2,30],9:[2,31]},parseError:o(function(W,pe){if(pe.recoverable)this.trace(W);else{var ve=new Error(W);throw ve.hash=pe,ve}},"parseError"),parse:o(function(W){var pe=this,ve=[0],Pe=[],_e=[null],be=[],Ve=this.table,De="",Ye=0,at=0,Rt=0,st=2,Ue=1,ut=be.slice.call(arguments,1),We=Object.create(this.lexer),lt={yy:{}};for(var Xt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Xt)&&(lt.yy[Xt]=this.yy[Xt]);We.setInput(W,lt.yy),lt.yy.lexer=We,lt.yy.parser=this,typeof We.yylloc>"u"&&(We.yylloc={});var Tt=We.yylloc;be.push(Tt);var Mt=We.options&&We.options.ranges;typeof lt.yy.parseError=="function"?this.parseError=lt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function bt(Ce){ve.length=ve.length-2*Ce,_e.length=_e.length-Ce,be.length=be.length-Ce}o(bt,"popStack");function ht(){var Ce;return Ce=Pe.pop()||We.lex()||Ue,typeof Ce!="number"&&(Ce instanceof Array&&(Pe=Ce,Ce=Pe.pop()),Ce=pe.symbols_[Ce]||Ce),Ce}o(ht,"lex");for(var St,ft,vt,nt,dn,kt,In={},en,Nr,Mr,On;;){if(vt=ve[ve.length-1],this.defaultActions[vt]?nt=this.defaultActions[vt]:((St===null||typeof St>"u")&&(St=ht()),nt=Ve[vt]&&Ve[vt][St]),typeof nt>"u"||!nt.length||!nt[0]){var Dt="";On=[];for(en in Ve[vt])this.terminals_[en]&&en>st&&On.push("'"+this.terminals_[en]+"'");We.showPosition?Dt="Parse error on line "+(Ye+1)+`: +`+We.showPosition()+` +Expecting `+On.join(", ")+", got '"+(this.terminals_[St]||St)+"'":Dt="Parse error on line "+(Ye+1)+": Unexpected "+(St==Ue?"end of input":"'"+(this.terminals_[St]||St)+"'"),this.parseError(Dt,{text:We.match,token:this.terminals_[St]||St,line:We.yylineno,loc:Tt,expected:On})}if(nt[0]instanceof Array&&nt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+vt+", token: "+St);switch(nt[0]){case 1:ve.push(St),_e.push(We.yytext),be.push(We.yylloc),ve.push(nt[1]),St=null,ft?(St=ft,ft=null):(at=We.yyleng,De=We.yytext,Ye=We.yylineno,Tt=We.yylloc,Rt>0&&Rt--);break;case 2:if(Nr=this.productions_[nt[1]][1],In.$=_e[_e.length-Nr],In._$={first_line:be[be.length-(Nr||1)].first_line,last_line:be[be.length-1].last_line,first_column:be[be.length-(Nr||1)].first_column,last_column:be[be.length-1].last_column},Mt&&(In._$.range=[be[be.length-(Nr||1)].range[0],be[be.length-1].range[1]]),kt=this.performAction.apply(In,[De,at,Ye,lt.yy,nt[1],_e,be].concat(ut)),typeof kt<"u")return kt;Nr&&(ve=ve.slice(0,-1*Nr*2),_e=_e.slice(0,-1*Nr),be=be.slice(0,-1*Nr)),ve.push(this.productions_[nt[1]][0]),_e.push(In.$),be.push(In._$),Mr=Ve[ve[ve.length-2]][ve[ve.length-1]],ve.push(Mr);break;case 3:return!0}}return!0},"parse")},oe=function(){var Te={EOF:1,parseError:o(function(pe,ve){if(this.yy.parser)this.yy.parser.parseError(pe,ve);else throw new Error(pe)},"parseError"),setInput:o(function(W,pe){return this.yy=pe||this.yy||{},this._input=W,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var W=this._input[0];this.yytext+=W,this.yyleng++,this.offset++,this.match+=W,this.matched+=W;var pe=W.match(/(?:\r\n?|\n).*/g);return pe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),W},"input"),unput:o(function(W){var pe=W.length,ve=W.split(/(?:\r\n?|\n)/g);this._input=W+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-pe),this.offset-=pe;var Pe=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),ve.length-1&&(this.yylineno-=ve.length-1);var _e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:ve?(ve.length===Pe.length?this.yylloc.first_column:0)+Pe[Pe.length-ve.length].length-ve[0].length:this.yylloc.first_column-pe},this.options.ranges&&(this.yylloc.range=[_e[0],_e[0]+this.yyleng-pe]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(W){this.unput(this.match.slice(W))},"less"),pastInput:o(function(){var W=this.matched.substr(0,this.matched.length-this.match.length);return(W.length>20?"...":"")+W.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var W=this.match;return W.length<20&&(W+=this._input.substr(0,20-W.length)),(W.substr(0,20)+(W.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var W=this.pastInput(),pe=new Array(W.length+1).join("-");return W+this.upcomingInput()+` +`+pe+"^"},"showPosition"),test_match:o(function(W,pe){var ve,Pe,_e;if(this.options.backtrack_lexer&&(_e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(_e.yylloc.range=this.yylloc.range.slice(0))),Pe=W[0].match(/(?:\r\n?|\n).*/g),Pe&&(this.yylineno+=Pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Pe?Pe[Pe.length-1].length-Pe[Pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+W[0].length},this.yytext+=W[0],this.match+=W[0],this.matches=W,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(W[0].length),this.matched+=W[0],ve=this.performAction.call(this,this.yy,this,pe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ve)return ve;if(this._backtrack){for(var be in _e)this[be]=_e[be];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var W,pe,ve,Pe;this._more||(this.yytext="",this.match="");for(var _e=this._currentRules(),be=0;be<_e.length;be++)if(ve=this._input.match(this.rules[_e[be]]),ve&&(!pe||ve[0].length>pe[0].length)){if(pe=ve,Pe=be,this.options.backtrack_lexer){if(W=this.test_match(ve,_e[be]),W!==!1)return W;if(this._backtrack){pe=!1;continue}else return!1}else if(!this.options.flex)break}return pe?(W=this.test_match(pe,_e[Pe]),W!==!1?W:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var pe=this.next();return pe||this.lex()},"lex"),begin:o(function(pe){this.conditionStack.push(pe)},"begin"),popState:o(function(){var pe=this.conditionStack.length-1;return pe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(pe){return pe=this.conditionStack.length-1-Math.abs(pe||0),pe>=0?this.conditionStack[pe]:"INITIAL"},"topState"),pushState:o(function(pe){this.begin(pe)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(pe,ve,Pe,_e){var be=_e;switch(Pe){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;break;case 5:return this.popState(),"title_value";break;case 6:return this.begin("acc_title"),37;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),39;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;break;case 29:return this.begin("point_start"),44;break;case 30:return this.begin("point_x"),45;break;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;break;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:return 65;case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}};return Te}();ie.lexer=oe;function V(){this.yy={}}return o(V,"Parser"),V.prototype=ie,ie.Parser=V,new V}();KO.parser=KO;Dfe=KO});var ms,MS,Rfe=N(()=>{"use strict";pr();Ca();yt();Ny();ms=ch(),MS=class{constructor(){this.classes=new Map;this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{o(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:lr.quadrantChart?.chartWidth||500,chartWidth:lr.quadrantChart?.chartHeight||500,titlePadding:lr.quadrantChart?.titlePadding||10,titleFontSize:lr.quadrantChart?.titleFontSize||20,quadrantPadding:lr.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:lr.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:lr.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:lr.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:lr.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:lr.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:lr.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:lr.quadrantChart?.pointTextPadding||5,pointLabelFontSize:lr.quadrantChart?.pointLabelFontSize||12,pointRadius:lr.quadrantChart?.pointRadius||5,xAxisPosition:lr.quadrantChart?.xAxisPosition||"top",yAxisPosition:lr.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:lr.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:lr.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:ms.quadrant1Fill,quadrant2Fill:ms.quadrant2Fill,quadrant3Fill:ms.quadrant3Fill,quadrant4Fill:ms.quadrant4Fill,quadrant1TextFill:ms.quadrant1TextFill,quadrant2TextFill:ms.quadrant2TextFill,quadrant3TextFill:ms.quadrant3TextFill,quadrant4TextFill:ms.quadrant4TextFill,quadrantPointFill:ms.quadrantPointFill,quadrantPointTextFill:ms.quadrantPointTextFill,quadrantXAxisTextFill:ms.quadrantXAxisTextFill,quadrantYAxisTextFill:ms.quadrantYAxisTextFill,quadrantTitleFill:ms.quadrantTitleFill,quadrantInternalBorderStrokeFill:ms.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:ms.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,X.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){X.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){X.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){let a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},l=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,u={left:this.config.yAxisPosition==="left"&&n?l:0,right:this.config.yAxisPosition==="right"&&n?l:0},h=this.config.titleFontSize+this.config.titlePadding*2,f={top:i?h:0},d=this.config.quadrantPadding+u.left,p=this.config.quadrantPadding+s.top+f.top,m=this.config.chartWidth-this.config.quadrantPadding*2-u.left-u.right,g=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-f.top,y=m/2,v=g/2;return{xAxisSpace:s,yAxisSpace:u,titleSpace:f,quadrantSpace:{quadrantLeft:d,quadrantTop:p,quadrantWidth:m,quadrantHalfWidth:y,quadrantHeight:g,quadrantHalfHeight:v}}}getAxisLabels(e,r,n,i){let{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:l,quadrantHeight:u,quadrantLeft:h,quadrantHalfWidth:f,quadrantTop:d,quadrantWidth:p}=a,m=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,y=[];return this.data.xAxisLeftText&&r&&y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:h+f+(m?f/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+d+u+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:m?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+u-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+h+p+this.config.quadrantPadding,y:d+l-(g?l/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),y}getQuadrants(e){let{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,l=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s,width:a,height:n,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(let u of l)u.text.x=u.x+u.width/2,this.data.points.length===0?(u.text.y=u.y+u.height/2,u.text.horizontalPos="middle"):(u.text.y=u.y+this.config.quadrantTextTopPadding,u.text.horizontalPos="top");return l}getQuadrantPoints(e){let{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,l=xl().domain([0,1]).range([i,s+i]),u=xl().domain([0,1]).range([n+a,a]);return this.data.points.map(f=>{let d=this.classes.get(f.className);return d&&(f={...d,...f}),{x:l(f.x),y:u(f.y),fill:f.color??this.themeConfig.quadrantPointFill,radius:f.radius??this.config.pointRadius,text:{text:f.text,fill:this.themeConfig.quadrantPointTextFill,x:l(f.x),y:u(f.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:f.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:f.strokeWidth??"0px"}})}getBorders(e){let r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:l,quadrantTop:u,quadrantWidth:h}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u,x2:s+h+r,y2:u},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+h,y1:u+r,x2:s+h,y2:u+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:u+a,x2:s+h+r,y2:u+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:u+r,x2:s,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+l,y1:u+r,x2:s+l,y2:u+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:u+i,x2:s+h-r,y2:u+i}]}getTitle(e){if(e)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}}});function QO(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function Nfe(t){return!/^\d+$/.test(t)}function Mfe(t){return!/^\d+px$/.test(t)}var Mp,Ife=N(()=>{"use strict";Mp=class extends Error{static{o(this,"InvalidStyleError")}constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}};o(QO,"validateHexCode");o(Nfe,"validateNumber");o(Mfe,"validateSizeInPixels")});function Ku(t){return ar(t.trim(),UVe)}function HVe(t){ba.setData({quadrant1Text:Ku(t.text)})}function WVe(t){ba.setData({quadrant2Text:Ku(t.text)})}function qVe(t){ba.setData({quadrant3Text:Ku(t.text)})}function YVe(t){ba.setData({quadrant4Text:Ku(t.text)})}function XVe(t){ba.setData({xAxisLeftText:Ku(t.text)})}function jVe(t){ba.setData({xAxisRightText:Ku(t.text)})}function KVe(t){ba.setData({yAxisTopText:Ku(t.text)})}function QVe(t){ba.setData({yAxisBottomText:Ku(t.text)})}function ZO(t){let e={};for(let r of t){let[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(Nfe(i))throw new Mp(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(QO(i))throw new Mp(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(QO(i))throw new Mp(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(Mfe(i))throw new Mp(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}function ZVe(t,e,r,n,i){let a=ZO(i);ba.addPoints([{x:r,y:n,text:Ku(t.text),className:e,...a}])}function JVe(t,e){ba.addClass(t,ZO(e))}function eUe(t){ba.setConfig({chartWidth:t})}function tUe(t){ba.setConfig({chartHeight:t})}function rUe(){let t=ge(),{themeVariables:e,quadrantChart:r}=t;return r&&ba.setConfig(r),ba.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),ba.setData({titleText:Rr()}),ba.build()}var UVe,ba,nUe,Ofe,Pfe=N(()=>{"use strict";qt();dr();ci();Rfe();Ife();UVe=ge();o(Ku,"textSanitizer");ba=new MS;o(HVe,"setQuadrant1Text");o(WVe,"setQuadrant2Text");o(qVe,"setQuadrant3Text");o(YVe,"setQuadrant4Text");o(XVe,"setXAxisLeftText");o(jVe,"setXAxisRightText");o(KVe,"setYAxisTopText");o(QVe,"setYAxisBottomText");o(ZO,"parseStyles");o(ZVe,"addPoint");o(JVe,"addClass");o(eUe,"setWidth");o(tUe,"setHeight");o(rUe,"getQuadrantData");nUe=o(function(){ba.clear(),wr()},"clear"),Ofe={setWidth:eUe,setHeight:tUe,setQuadrant1Text:HVe,setQuadrant2Text:WVe,setQuadrant3Text:qVe,setQuadrant4Text:YVe,setXAxisLeftText:XVe,setXAxisRightText:jVe,setYAxisTopText:KVe,setYAxisBottomText:QVe,parseStyles:ZO,addPoint:ZVe,addClass:JVe,getQuadrantData:rUe,clear:nUe,setAccTitle:Cr,getAccTitle:_r,setDiagramTitle:Ir,getDiagramTitle:Rr,getAccDescription:Lr,setAccDescription:Dr}});var iUe,Bfe,Ffe=N(()=>{"use strict";pr();qt();yt();yi();iUe=o((t,e,r,n)=>{function i(A){return A==="top"?"hanging":"middle"}o(i,"getDominantBaseLine");function a(A){return A==="left"?"start":"middle"}o(a,"getTextAnchor");function s(A){return`translate(${A.x}, ${A.y}) rotate(${A.rotation||0})`}o(s,"getTransformation");let l=ge();X.debug(`Rendering quadrant chart +`+t);let u=l.securityLevel,h;u==="sandbox"&&(h=Ge("#i"+e));let d=(u==="sandbox"?Ge(h.nodes()[0].contentDocument.body):Ge("body")).select(`[id="${e}"]`),p=d.append("g").attr("class","main"),m=l.quadrantChart?.chartWidth??500,g=l.quadrantChart?.chartHeight??500;hn(d,g,m,l.quadrantChart?.useMaxWidth??!0),d.attr("viewBox","0 0 "+m+" "+g),n.db.setHeight(g),n.db.setWidth(m);let y=n.db.getQuadrantData(),v=p.append("g").attr("class","quadrants"),x=p.append("g").attr("class","border"),b=p.append("g").attr("class","data-points"),T=p.append("g").attr("class","labels"),C=p.append("g").attr("class","title");y.title&&C.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",i(y.title.horizontalPos)).attr("text-anchor",a(y.title.verticalPos)).attr("transform",s(y.title)).text(y.title.text),y.borderLines&&x.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",A=>A.x1).attr("y1",A=>A.y1).attr("x2",A=>A.x2).attr("y2",A=>A.y2).style("stroke",A=>A.strokeFill).style("stroke-width",A=>A.strokeWidth);let w=v.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");w.append("rect").attr("x",A=>A.x).attr("y",A=>A.y).attr("width",A=>A.width).attr("height",A=>A.height).attr("fill",A=>A.fill),w.append("text").attr("x",0).attr("y",0).attr("fill",A=>A.text.fill).attr("font-size",A=>A.text.fontSize).attr("dominant-baseline",A=>i(A.text.horizontalPos)).attr("text-anchor",A=>a(A.text.verticalPos)).attr("transform",A=>s(A.text)).text(A=>A.text.text),T.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(A=>A.text).attr("fill",A=>A.fill).attr("font-size",A=>A.fontSize).attr("dominant-baseline",A=>i(A.horizontalPos)).attr("text-anchor",A=>a(A.verticalPos)).attr("transform",A=>s(A));let _=b.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");_.append("circle").attr("cx",A=>A.x).attr("cy",A=>A.y).attr("r",A=>A.radius).attr("fill",A=>A.fill).attr("stroke",A=>A.strokeColor).attr("stroke-width",A=>A.strokeWidth),_.append("text").attr("x",0).attr("y",0).text(A=>A.text.text).attr("fill",A=>A.text.fill).attr("font-size",A=>A.text.fontSize).attr("dominant-baseline",A=>i(A.text.horizontalPos)).attr("text-anchor",A=>a(A.text.verticalPos)).attr("transform",A=>s(A.text))},"draw"),Bfe={draw:iUe}});var $fe={};hr($fe,{diagram:()=>aUe});var aUe,zfe=N(()=>{"use strict";Lfe();Pfe();Ffe();aUe={parser:Dfe,db:Ofe,renderer:Bfe,styles:o(()=>"","styles")}});var JO,Ufe,Hfe=N(()=>{"use strict";JO=function(){var t=o(function(I,M,P,B){for(P=P||{},B=I.length;B--;P[I[B]]=M);return P},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],l=[1,5,10,12,14,16,18,19,21,23,34,35,36],u=[1,25],h=[1,26],f=[1,28],d=[1,29],p=[1,30],m=[1,31],g=[1,32],y=[1,33],v=[1,34],x=[1,35],b=[1,36],T=[1,37],C=[1,43],w=[1,42],E=[1,47],_=[1,50],A=[1,10,12,14,16,18,19,21,23,34,35,36],D=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],O=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],R=[1,64],k={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:o(function(M,P,B,F,z,$,U){var K=$.length-1;switch(z){case 5:F.setOrientation($[K]);break;case 9:F.setDiagramTitle($[K].text.trim());break;case 12:F.setLineData({text:"",type:"text"},$[K]);break;case 13:F.setLineData($[K-1],$[K]);break;case 14:F.setBarData({text:"",type:"text"},$[K]);break;case 15:F.setBarData($[K-1],$[K]);break;case 16:this.$=$[K].trim(),F.setAccTitle(this.$);break;case 17:case 18:this.$=$[K].trim(),F.setAccDescription(this.$);break;case 19:this.$=$[K-1];break;case 20:this.$=[Number($[K-2]),...$[K]];break;case 21:this.$=[Number($[K])];break;case 22:F.setXAxisTitle($[K]);break;case 23:F.setXAxisTitle($[K-1]);break;case 24:F.setXAxisTitle({type:"text",text:""});break;case 25:F.setXAxisBand($[K]);break;case 26:F.setXAxisRangeData(Number($[K-2]),Number($[K]));break;case 27:this.$=$[K-1];break;case 28:this.$=[$[K-2],...$[K]];break;case 29:this.$=[$[K]];break;case 30:F.setYAxisTitle($[K]);break;case 31:F.setYAxisTitle($[K-1]);break;case 32:F.setYAxisTitle({type:"text",text:""});break;case 33:F.setYAxisRangeData(Number($[K-2]),Number($[K]));break;case 37:this.$={text:$[K],type:"text"};break;case 38:this.$={text:$[K],type:"text"};break;case 39:this.$={text:$[K],type:"markdown"};break;case 40:this.$=$[K];break;case 41:this.$=$[K-1]+""+$[K];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,34:i,35:a,36:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,34:i,35:a,36:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],34:i,35:a,36:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(l,[2,34]),t(l,[2,35]),t(l,[2,36]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,34:i,35:a,36:s}),{1:[2,3]},t(l,[2,5]),t(e,[2,7],{4:22,34:i,35:a,36:s}),{11:23,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:39,13:38,24:C,27:w,29:40,30:41,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:45,15:44,27:E,33:46,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:49,17:48,24:_,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{11:52,17:51,24:_,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},{20:[1,53]},{22:[1,54]},t(A,[2,18]),{1:[2,2]},t(A,[2,8]),t(A,[2,9]),t(D,[2,37],{40:55,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T}),t(D,[2,38]),t(D,[2,39]),t(O,[2,40]),t(O,[2,42]),t(O,[2,43]),t(O,[2,44]),t(O,[2,45]),t(O,[2,46]),t(O,[2,47]),t(O,[2,48]),t(O,[2,49]),t(O,[2,50]),t(O,[2,51]),t(A,[2,10]),t(A,[2,22],{30:41,29:56,24:C,27:w}),t(A,[2,24]),t(A,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(A,[2,11]),t(A,[2,30],{33:60,27:E}),t(A,[2,32]),{31:[1,61]},t(A,[2,12]),{17:62,24:_},{25:63,27:R},t(A,[2,14]),{17:65,24:_},t(A,[2,16]),t(A,[2,17]),t(O,[2,41]),t(A,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(A,[2,31]),{27:[1,69]},t(A,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(A,[2,15]),t(A,[2,26]),t(A,[2,27]),{11:59,32:72,37:24,38:u,39:h,40:27,41:f,42:d,43:p,44:m,45:g,46:y,47:v,48:x,49:b,50:T},t(A,[2,33]),t(A,[2,19]),{25:73,27:R},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:o(function(M,P){if(P.recoverable)this.trace(M);else{var B=new Error(M);throw B.hash=P,B}},"parseError"),parse:o(function(M){var P=this,B=[0],F=[],z=[null],$=[],U=this.table,K="",ee=0,Y=0,ce=0,Z=2,ue=1,Q=$.slice.call(arguments,1),j=Object.create(this.lexer),ne={yy:{}};for(var te in this.yy)Object.prototype.hasOwnProperty.call(this.yy,te)&&(ne.yy[te]=this.yy[te]);j.setInput(M,ne.yy),ne.yy.lexer=j,ne.yy.parser=this,typeof j.yylloc>"u"&&(j.yylloc={});var he=j.yylloc;$.push(he);var le=j.options&&j.options.ranges;typeof ne.yy.parseError=="function"?this.parseError=ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function J(ie){B.length=B.length-2*ie,z.length=z.length-ie,$.length=$.length-ie}o(J,"popStack");function Se(){var ie;return ie=F.pop()||j.lex()||ue,typeof ie!="number"&&(ie instanceof Array&&(F=ie,ie=F.pop()),ie=P.symbols_[ie]||ie),ie}o(Se,"lex");for(var se,ae,Oe,ye,Be,He,ze={},Le,Ie,xe,q;;){if(Oe=B[B.length-1],this.defaultActions[Oe]?ye=this.defaultActions[Oe]:((se===null||typeof se>"u")&&(se=Se()),ye=U[Oe]&&U[Oe][se]),typeof ye>"u"||!ye.length||!ye[0]){var de="";q=[];for(Le in U[Oe])this.terminals_[Le]&&Le>Z&&q.push("'"+this.terminals_[Le]+"'");j.showPosition?de="Parse error on line "+(ee+1)+`: +`+j.showPosition()+` +Expecting `+q.join(", ")+", got '"+(this.terminals_[se]||se)+"'":de="Parse error on line "+(ee+1)+": Unexpected "+(se==ue?"end of input":"'"+(this.terminals_[se]||se)+"'"),this.parseError(de,{text:j.match,token:this.terminals_[se]||se,line:j.yylineno,loc:he,expected:q})}if(ye[0]instanceof Array&&ye.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Oe+", token: "+se);switch(ye[0]){case 1:B.push(se),z.push(j.yytext),$.push(j.yylloc),B.push(ye[1]),se=null,ae?(se=ae,ae=null):(Y=j.yyleng,K=j.yytext,ee=j.yylineno,he=j.yylloc,ce>0&&ce--);break;case 2:if(Ie=this.productions_[ye[1]][1],ze.$=z[z.length-Ie],ze._$={first_line:$[$.length-(Ie||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(Ie||1)].first_column,last_column:$[$.length-1].last_column},le&&(ze._$.range=[$[$.length-(Ie||1)].range[0],$[$.length-1].range[1]]),He=this.performAction.apply(ze,[K,Y,ee,ne.yy,ye[1],z,$].concat(Q)),typeof He<"u")return He;Ie&&(B=B.slice(0,-1*Ie*2),z=z.slice(0,-1*Ie),$=$.slice(0,-1*Ie)),B.push(this.productions_[ye[1]][0]),z.push(ze.$),$.push(ze._$),xe=U[B[B.length-2]][B[B.length-1]],B.push(xe);break;case 3:return!0}}return!0},"parse")},L=function(){var I={EOF:1,parseError:o(function(P,B){if(this.yy.parser)this.yy.parser.parseError(P,B);else throw new Error(P)},"parseError"),setInput:o(function(M,P){return this.yy=P||this.yy||{},this._input=M,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var M=this._input[0];this.yytext+=M,this.yyleng++,this.offset++,this.match+=M,this.matched+=M;var P=M.match(/(?:\r\n?|\n).*/g);return P?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),M},"input"),unput:o(function(M){var P=M.length,B=M.split(/(?:\r\n?|\n)/g);this._input=M+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-P),this.offset-=P;var F=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),B.length-1&&(this.yylineno-=B.length-1);var z=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:B?(B.length===F.length?this.yylloc.first_column:0)+F[F.length-B.length].length-B[0].length:this.yylloc.first_column-P},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-P]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(M){this.unput(this.match.slice(M))},"less"),pastInput:o(function(){var M=this.matched.substr(0,this.matched.length-this.match.length);return(M.length>20?"...":"")+M.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var M=this.match;return M.length<20&&(M+=this._input.substr(0,20-M.length)),(M.substr(0,20)+(M.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var M=this.pastInput(),P=new Array(M.length+1).join("-");return M+this.upcomingInput()+` +`+P+"^"},"showPosition"),test_match:o(function(M,P){var B,F,z;if(this.options.backtrack_lexer&&(z={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(z.yylloc.range=this.yylloc.range.slice(0))),F=M[0].match(/(?:\r\n?|\n).*/g),F&&(this.yylineno+=F.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:F?F[F.length-1].length-F[F.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+M[0].length},this.yytext+=M[0],this.match+=M[0],this.matches=M,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(M[0].length),this.matched+=M[0],B=this.performAction.call(this,this.yy,this,P,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),B)return B;if(this._backtrack){for(var $ in z)this[$]=z[$];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var M,P,B,F;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),$=0;$P[0].length)){if(P=B,F=$,this.options.backtrack_lexer){if(M=this.test_match(B,z[$]),M!==!1)return M;if(this._backtrack){P=!1;continue}else return!1}else if(!this.options.flex)break}return P?(M=this.test_match(P,z[F]),M!==!1?M:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var P=this.next();return P||this.lex()},"lex"),begin:o(function(P){this.conditionStack.push(P)},"begin"),popState:o(function(){var P=this.conditionStack.length-1;return P>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(P){return P=this.conditionStack.length-1-Math.abs(P||0),P>=0?this.conditionStack[P]:"INITIAL"},"topState"),pushState:o(function(P){this.begin(P)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(P,B,F,z){var $=z;switch(F){case 0:break;case 1:break;case 2:return this.popState(),34;break;case 3:return this.popState(),34;break;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.pushState("acc_descr"),21;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";break;case 18:return this.pushState("axis_data"),"Y_AXIS";break;case 19:return this.pushState("axis_band_data"),24;break;case 20:return 31;case 21:return this.pushState("data"),16;break;case 22:return this.pushState("data"),18;break;case 23:return this.pushState("data_inner"),24;break;case 24:return 27;case 25:return this.popState(),26;break;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 44:break;case 45:return 35;case 46:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:xychart\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return I}();k.lexer=L;function S(){this.yy={}}return o(S,"Parser"),S.prototype=k,k.Parser=S,new S}();JO.parser=JO;Ufe=JO});function eP(t){return t.type==="bar"}function IS(t){return t.type==="band"}function A1(t){return t.type==="linear"}var OS=N(()=>{"use strict";o(eP,"isBarPlot");o(IS,"isBandAxisData");o(A1,"isLinearAxisData")});var _1,tP=N(()=>{"use strict";no();_1=class{constructor(e){this.parentGroup=e}static{o(this,"TextDimensionCalculatorWithFont")}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};let n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(let a of e){let s=TQ(i,1,a),l=s?s.width:a.length*r,u=s?s.height:r;n.width=Math.max(n.width,l),n.height=Math.max(n.height,u)}return i.remove(),n}}});var D1,rP=N(()=>{"use strict";D1=class{constructor(e,r,n,i){this.axisConfig=e;this.title=r;this.textDimensionCalculator=n;this.axisThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0};this.axisPosition="left";this.showTitle=!1;this.showLabel=!1;this.showTick=!1;this.showAxisLine=!1;this.outerPadding=0;this.titleTextHeight=0;this.labelTextHeight=0;this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{o(this,"BaseAxis")}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){let e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height+this.axisConfig.labelPadding*2;this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let n=this.getLabelDimension(),i=.2*e.height;this.outerPadding=Math.min(n.height/2,i);let a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}getDrawableElementsForLeftAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForBottomAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElementsForTopAxis(){let e=[];if(this.showAxisLine){let r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),e}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}});var PS,Wfe=N(()=>{"use strict";pr();yt();rP();PS=class extends D1{static{o(this,"BandAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=B0().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=B0().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),X.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}}});var BS,qfe=N(()=>{"use strict";pr();rP();BS=class extends D1{static{o(this,"LinearAxis")}constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=xl().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=xl().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}}});function nP(t,e,r,n){let i=new _1(n);return IS(t)?new PS(e,r,t.categories,t.title,i):new BS(e,r,[t.min,t.max],t.title,i)}var Yfe=N(()=>{"use strict";OS();tP();Wfe();qfe();o(nP,"getAxis")});function Xfe(t,e,r,n){let i=new _1(n);return new iP(i,t,e,r)}var iP,jfe=N(()=>{"use strict";tP();iP=class{constructor(e,r,n,i){this.textDimensionCalculator=e;this.chartConfig=r;this.chartData=n;this.chartThemeConfig=i;this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{o(this,"ChartTitle")}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){let r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let e=[];return this.showChartTitle&&e.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),e}};o(Xfe,"getChartTitleComponent")});var FS,Kfe=N(()=>{"use strict";pr();FS=class{constructor(e,r,n,i,a){this.plotData=e;this.xAxis=r;this.yAxis=n;this.orientation=i;this.plotIndex=a}static{o(this,"LinePlot")}getDrawableElement(){let e=this.plotData.data.map(n=>[this.xAxis.getScaleValue(n[0]),this.yAxis.getScaleValue(n[1])]),r;return this.orientation==="horizontal"?r=El().y(n=>n[0]).x(n=>n[1])(e):r=El().x(n=>n[0]).y(n=>n[1])(e),r?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}});var $S,Qfe=N(()=>{"use strict";$S=class{constructor(e,r,n,i,a,s){this.barData=e;this.boundingRect=r;this.xAxis=n;this.yAxis=i;this.orientation=a;this.plotIndex=s}static{o(this,"BarPlot")}getDrawableElement(){let e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}});function Zfe(t,e,r){return new aP(t,e,r)}var aP,Jfe=N(()=>{"use strict";Kfe();Qfe();aP=class{constructor(e,r,n){this.chartConfig=e;this.chartData=r;this.chartThemeConfig=n;this.boundingRect={x:0,y:0,width:0,height:0}}static{o(this,"BasePlot")}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let e=[];for(let[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{let i=new FS(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{let i=new $S(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}};o(Zfe,"getPlotComponent")});var zS,ede=N(()=>{"use strict";Yfe();jfe();Jfe();OS();zS=class{constructor(e,r,n,i){this.chartConfig=e;this.chartData=r;this.componentStore={title:Xfe(e,r,n,i),plot:Zfe(e,r,n),xAxis:nP(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:nP(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}static{o(this,"Orchestrator")}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:a,height:s});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("bottom"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=l.height,this.componentStore.yAxis.setAxisPosition("left"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=l.width,e-=l.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(u=>eP(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),l=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),u=this.componentStore.plot.calculateSpace({width:s,height:l});e-=u.width,r-=u.height,u=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=u.height,r-=u.height,this.componentStore.xAxis.setAxisPosition("left"),u=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=u.width,i=u.width,this.componentStore.yAxis.setAxisPosition("top"),u=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=u.height,a=n+u.height,e>0&&(s+=e,e=0),r>0&&(l+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:l}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+l]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(h=>eP(h))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(let r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}}});var GS,tde=N(()=>{"use strict";ede();GS=class{static{o(this,"XYChartBuilder")}static build(e,r,n,i){return new zS(e,r,n,i).getDrawableElement()}}});function nde(){let t=ch(),e=Qt();return Fn(t.xyChart,e.themeVariables.xyChart)}function ide(){let t=Qt();return Fn(lr.xyChart,t.xyChart)}function ade(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function lP(t){let e=Qt();return ar(t.trim(),e)}function cUe(t){rde=t}function uUe(t){t==="horizontal"?Lb.chartOrientation="horizontal":Lb.chartOrientation="vertical"}function hUe(t){ln.xAxis.title=lP(t.text)}function sde(t,e){ln.xAxis={type:"linear",title:ln.xAxis.title,min:t,max:e},VS=!0}function fUe(t){ln.xAxis={type:"band",title:ln.xAxis.title,categories:t.map(e=>lP(e.text))},VS=!0}function dUe(t){ln.yAxis.title=lP(t.text)}function pUe(t,e){ln.yAxis={type:"linear",title:ln.yAxis.title,min:t,max:e},oP=!0}function mUe(t){let e=Math.min(...t),r=Math.max(...t),n=A1(ln.yAxis)?ln.yAxis.min:1/0,i=A1(ln.yAxis)?ln.yAxis.max:-1/0;ln.yAxis={type:"linear",title:ln.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}function ode(t){let e=[];if(t.length===0)return e;if(!VS){let r=A1(ln.xAxis)?ln.xAxis.min:1/0,n=A1(ln.xAxis)?ln.xAxis.max:-1/0;sde(Math.min(r,1),Math.max(n,t.length))}if(oP||mUe(t),IS(ln.xAxis)&&(e=ln.xAxis.categories.map((r,n)=>[r,t[n]])),A1(ln.xAxis)){let r=ln.xAxis.min,n=ln.xAxis.max,i=(n-r)/(t.length-1),a=[];for(let s=r;s<=n;s+=i)a.push(`${s}`);e=a.map((s,l)=>[s,t[l]])}return e}function lde(t){return sP[t===0?0:t%sP.length]}function gUe(t,e){let r=ode(e);ln.plots.push({type:"line",strokeFill:lde(Db),strokeWidth:2,data:r}),Db++}function yUe(t,e){let r=ode(e);ln.plots.push({type:"bar",fill:lde(Db),data:r}),Db++}function vUe(){if(ln.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return ln.title=Rr(),GS.build(Lb,ln,Rb,rde)}function xUe(){return Rb}function bUe(){return Lb}function TUe(){return ln}var Db,rde,Lb,Rb,ln,sP,VS,oP,wUe,cde,ude=N(()=>{"use strict";Jn();Ca();Ny();nr();dr();ci();tde();OS();Db=0,Lb=ide(),Rb=nde(),ln=ade(),sP=Rb.plotColorPalette.split(",").map(t=>t.trim()),VS=!1,oP=!1;o(nde,"getChartDefaultThemeConfig");o(ide,"getChartDefaultConfig");o(ade,"getChartDefaultData");o(lP,"textSanitizer");o(cUe,"setTmpSVGG");o(uUe,"setOrientation");o(hUe,"setXAxisTitle");o(sde,"setXAxisRangeData");o(fUe,"setXAxisBand");o(dUe,"setYAxisTitle");o(pUe,"setYAxisRangeData");o(mUe,"setYAxisRangeFromPlotData");o(ode,"transformDataWithoutCategory");o(lde,"getPlotColorFromPalette");o(gUe,"setLineData");o(yUe,"setBarData");o(vUe,"getDrawableElem");o(xUe,"getChartThemeConfig");o(bUe,"getChartConfig");o(TUe,"getXYChartData");wUe=o(function(){wr(),Db=0,Lb=ide(),ln=ade(),Rb=nde(),sP=Rb.plotColorPalette.split(",").map(t=>t.trim()),VS=!1,oP=!1},"clear"),cde={getDrawableElem:vUe,clear:wUe,setAccTitle:Cr,getAccTitle:_r,setDiagramTitle:Ir,getDiagramTitle:Rr,getAccDescription:Lr,setAccDescription:Dr,setOrientation:uUe,setXAxisTitle:hUe,setXAxisRangeData:sde,setXAxisBand:fUe,setYAxisTitle:dUe,setYAxisRangeData:pUe,setLineData:gUe,setBarData:yUe,setTmpSVGG:cUe,getChartThemeConfig:xUe,getChartConfig:bUe,getXYChartData:TUe}});var kUe,hde,fde=N(()=>{"use strict";yt();zl();yi();kUe=o((t,e,r,n)=>{let i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),l=i.getXYChartData().plots[0].data.map(T=>T[1]);function u(T){return T==="top"?"text-before-edge":"middle"}o(u,"getDominantBaseLine");function h(T){return T==="left"?"start":T==="right"?"end":"middle"}o(h,"getTextAnchor");function f(T){return`translate(${T.x}, ${T.y}) rotate(${T.rotation||0})`}o(f,"getTextTransformation"),X.debug(`Rendering xychart chart +`+t);let d=Di(e),p=d.append("g").attr("class","main"),m=p.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");hn(d,s.height,s.width,!0),d.attr("viewBox",`0 0 ${s.width} ${s.height}`),m.attr("fill",a.backgroundColor),i.setTmpSVGG(d.append("g").attr("class","mermaid-tmp-group"));let g=i.getDrawableElem(),y={};function v(T){let C=p,w="";for(let[E]of T.entries()){let _=p;E>0&&y[w]&&(_=y[w]),w+=T[E],C=y[w],C||(C=y[w]=_.append("g").attr("class",T[E]))}return C}o(v,"getGroup");for(let T of g){if(T.data.length===0)continue;let C=v(T.groupTexts);switch(T.type){case"rect":if(C.selectAll("rect").data(T.data).enter().append("rect").attr("x",w=>w.x).attr("y",w=>w.y).attr("width",w=>w.width).attr("height",w=>w.height).attr("fill",w=>w.fill).attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth),s.showDataLabel)if(s.chartOrientation==="horizontal"){let _=function(O,R){let{data:k,label:L}=O;return R*L.length*.7<=k.width-10};var x=_;o(_,"fitsHorizontally");let w=.7,E=T.data.map((O,R)=>({data:O,label:l[R].toString()})).filter(O=>O.data.width>0&&O.data.height>0),A=E.map(O=>{let{data:R}=O,k=R.height*.7;for(;!_(O,k)&&k>0;)k-=1;return k}),D=Math.floor(Math.min(...A));C.selectAll("text").data(E).enter().append("text").attr("x",O=>O.data.x+O.data.width-10).attr("y",O=>O.data.y+O.data.height/2).attr("text-anchor","end").attr("dominant-baseline","middle").attr("fill","black").attr("font-size",`${D}px`).text(O=>O.label)}else{let _=function(O,R,k){let{data:L,label:S}=O,M=R*S.length*.7,P=L.x+L.width/2,B=P-M/2,F=P+M/2,z=B>=L.x&&F<=L.x+L.width,$=L.y+k+R<=L.y+L.height;return z&&$};var b=_;o(_,"fitsInBar");let w=10,E=T.data.map((O,R)=>({data:O,label:l[R].toString()})).filter(O=>O.data.width>0&&O.data.height>0),A=E.map(O=>{let{data:R,label:k}=O,L=R.width/(k.length*.7);for(;!_(O,L,10)&&L>0;)L-=1;return L}),D=Math.floor(Math.min(...A));C.selectAll("text").data(E).enter().append("text").attr("x",O=>O.data.x+O.data.width/2).attr("y",O=>O.data.y+10).attr("text-anchor","middle").attr("dominant-baseline","hanging").attr("fill","black").attr("font-size",`${D}px`).text(O=>O.label)}break;case"text":C.selectAll("text").data(T.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",w=>w.fill).attr("font-size",w=>w.fontSize).attr("dominant-baseline",w=>u(w.verticalPos)).attr("text-anchor",w=>h(w.horizontalPos)).attr("transform",w=>f(w)).text(w=>w.text);break;case"path":C.selectAll("path").data(T.data).enter().append("path").attr("d",w=>w.path).attr("fill",w=>w.fill?w.fill:"none").attr("stroke",w=>w.strokeFill).attr("stroke-width",w=>w.strokeWidth);break}}},"draw"),hde={draw:kUe}});var dde={};hr(dde,{diagram:()=>EUe});var EUe,pde=N(()=>{"use strict";Hfe();ude();fde();EUe={parser:Ufe,db:cde,renderer:hde}});var cP,yde,vde=N(()=>{"use strict";cP=function(){var t=o(function(ie,oe,V,Te){for(V=V||{},Te=ie.length;Te--;V[ie[Te]]=oe);return V},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],l=[2,7],u=[1,26],h=[1,27],f=[1,28],d=[1,29],p=[1,33],m=[1,34],g=[1,35],y=[1,36],v=[1,37],x=[1,38],b=[1,24],T=[1,31],C=[1,32],w=[1,30],E=[1,39],_=[1,40],A=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],D=[1,61],O=[89,90],R=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],k=[27,29],L=[1,70],S=[1,71],I=[1,72],M=[1,73],P=[1,74],B=[1,75],F=[1,76],z=[1,83],$=[1,80],U=[1,84],K=[1,85],ee=[1,86],Y=[1,87],ce=[1,88],Z=[1,89],ue=[1,90],Q=[1,91],j=[1,92],ne=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],te=[63,64],he=[1,101],le=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],J=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],Se=[1,110],se=[1,106],ae=[1,107],Oe=[1,108],ye=[1,109],Be=[1,111],He=[1,116],ze=[1,117],Le=[1,114],Ie=[1,115],xe={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:o(function(oe,V,Te,W,pe,ve,Pe){var _e=ve.length-1;switch(pe){case 4:this.$=ve[_e].trim(),W.setAccTitle(this.$);break;case 5:case 6:this.$=ve[_e].trim(),W.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:W.setDirection("TB");break;case 18:W.setDirection("BT");break;case 19:W.setDirection("RL");break;case 20:W.setDirection("LR");break;case 21:W.addRequirement(ve[_e-3],ve[_e-4]);break;case 22:W.addRequirement(ve[_e-5],ve[_e-6]),W.setClass([ve[_e-5]],ve[_e-3]);break;case 23:W.setNewReqId(ve[_e-2]);break;case 24:W.setNewReqText(ve[_e-2]);break;case 25:W.setNewReqRisk(ve[_e-2]);break;case 26:W.setNewReqVerifyMethod(ve[_e-2]);break;case 29:this.$=W.RequirementType.REQUIREMENT;break;case 30:this.$=W.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=W.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=W.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=W.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=W.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=W.RiskLevel.LOW_RISK;break;case 36:this.$=W.RiskLevel.MED_RISK;break;case 37:this.$=W.RiskLevel.HIGH_RISK;break;case 38:this.$=W.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=W.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=W.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=W.VerifyType.VERIFY_TEST;break;case 42:W.addElement(ve[_e-3]);break;case 43:W.addElement(ve[_e-5]),W.setClass([ve[_e-5]],ve[_e-3]);break;case 44:W.setNewElementType(ve[_e-2]);break;case 45:W.setNewElementDocRef(ve[_e-2]);break;case 48:W.addRelationship(ve[_e-2],ve[_e],ve[_e-4]);break;case 49:W.addRelationship(ve[_e-2],ve[_e-4],ve[_e]);break;case 50:this.$=W.Relationships.CONTAINS;break;case 51:this.$=W.Relationships.COPIES;break;case 52:this.$=W.Relationships.DERIVES;break;case 53:this.$=W.Relationships.SATISFIES;break;case 54:this.$=W.Relationships.VERIFIES;break;case 55:this.$=W.Relationships.REFINES;break;case 56:this.$=W.Relationships.TRACES;break;case 57:this.$=ve[_e-2],W.defineClass(ve[_e-1],ve[_e]);break;case 58:W.setClass(ve[_e-1],ve[_e]);break;case 59:W.setClass([ve[_e-2]],ve[_e]);break;case 60:case 62:this.$=[ve[_e]];break;case 61:case 63:this.$=ve[_e-2].concat([ve[_e]]);break;case 64:this.$=ve[_e-2],W.setCssStyle(ve[_e-1],ve[_e]);break;case 65:this.$=[ve[_e]];break;case 66:ve[_e-2].push(ve[_e]),this.$=ve[_e-2];break;case 68:this.$=ve[_e-1]+ve[_e];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:C,77:w,89:E,90:_},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:C,77:w,89:E,90:_},{4:17,5:s,7:43,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:C,77:w,89:E,90:_},{4:17,5:s,7:44,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:C,77:w,89:E,90:_},{4:17,5:s,7:45,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:C,77:w,89:E,90:_},{4:17,5:s,7:46,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:C,77:w,89:E,90:_},{4:17,5:s,7:47,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:C,77:w,89:E,90:_},{4:17,5:s,7:48,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:C,77:w,89:E,90:_},{4:17,5:s,7:49,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:C,77:w,89:E,90:_},{4:17,5:s,7:50,8:l,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:u,22:h,23:f,24:d,25:23,33:25,41:p,42:m,43:g,44:y,45:v,46:x,54:b,72:T,74:C,77:w,89:E,90:_},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(A,[2,17]),t(A,[2,18]),t(A,[2,19]),t(A,[2,20]),{30:60,33:62,75:D,89:E,90:_},{30:63,33:62,75:D,89:E,90:_},{30:64,33:62,75:D,89:E,90:_},t(O,[2,29]),t(O,[2,30]),t(O,[2,31]),t(O,[2,32]),t(O,[2,33]),t(O,[2,34]),t(R,[2,81]),t(R,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(k,[2,79]),t(k,[2,80]),{27:[1,67],29:[1,68]},t(k,[2,85]),t(k,[2,86]),{62:69,65:L,66:S,67:I,68:M,69:P,70:B,71:F},{62:77,65:L,66:S,67:I,68:M,69:P,70:B,71:F},{30:78,33:62,75:D,89:E,90:_},{73:79,75:z,76:$,78:81,79:82,80:U,81:K,82:ee,83:Y,84:ce,85:Z,86:ue,87:Q,88:j},t(ne,[2,60]),t(ne,[2,62]),{73:93,75:z,76:$,78:81,79:82,80:U,81:K,82:ee,83:Y,84:ce,85:Z,86:ue,87:Q,88:j},{30:94,33:62,75:D,76:$,89:E,90:_},{5:[1,95]},{30:96,33:62,75:D,89:E,90:_},{5:[1,97]},{30:98,33:62,75:D,89:E,90:_},{63:[1,99]},t(te,[2,50]),t(te,[2,51]),t(te,[2,52]),t(te,[2,53]),t(te,[2,54]),t(te,[2,55]),t(te,[2,56]),{64:[1,100]},t(A,[2,59],{76:$}),t(A,[2,64],{76:he}),{33:103,75:[1,102],89:E,90:_},t(le,[2,65],{79:104,75:z,80:U,81:K,82:ee,83:Y,84:ce,85:Z,86:ue,87:Q,88:j}),t(J,[2,67]),t(J,[2,69]),t(J,[2,70]),t(J,[2,71]),t(J,[2,72]),t(J,[2,73]),t(J,[2,74]),t(J,[2,75]),t(J,[2,76]),t(J,[2,77]),t(J,[2,78]),t(A,[2,57],{76:he}),t(A,[2,58],{76:$}),{5:Se,28:105,31:se,34:ae,36:Oe,38:ye,40:Be},{27:[1,112],76:$},{5:He,40:ze,56:113,57:Le,59:Ie},{27:[1,118],76:$},{33:119,89:E,90:_},{33:120,89:E,90:_},{75:z,78:121,79:82,80:U,81:K,82:ee,83:Y,84:ce,85:Z,86:ue,87:Q,88:j},t(ne,[2,61]),t(ne,[2,63]),t(J,[2,68]),t(A,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:Se,28:126,31:se,34:ae,36:Oe,38:ye,40:Be},t(A,[2,28]),{5:[1,127]},t(A,[2,42]),{32:[1,128]},{32:[1,129]},{5:He,40:ze,56:130,57:Le,59:Ie},t(A,[2,47]),{5:[1,131]},t(A,[2,48]),t(A,[2,49]),t(le,[2,66],{79:104,75:z,80:U,81:K,82:ee,83:Y,84:ce,85:Z,86:ue,87:Q,88:j}),{33:132,89:E,90:_},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(A,[2,27]),{5:Se,28:145,31:se,34:ae,36:Oe,38:ye,40:Be},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(A,[2,46]),{5:He,40:ze,56:152,57:Le,59:Ie},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(A,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(A,[2,43]),{5:Se,28:159,31:se,34:ae,36:Oe,38:ye,40:Be},{5:Se,28:160,31:se,34:ae,36:Oe,38:ye,40:Be},{5:Se,28:161,31:se,34:ae,36:Oe,38:ye,40:Be},{5:Se,28:162,31:se,34:ae,36:Oe,38:ye,40:Be},{5:He,40:ze,56:163,57:Le,59:Ie},{5:He,40:ze,56:164,57:Le,59:Ie},t(A,[2,23]),t(A,[2,24]),t(A,[2,25]),t(A,[2,26]),t(A,[2,44]),t(A,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:o(function(oe,V){if(V.recoverable)this.trace(oe);else{var Te=new Error(oe);throw Te.hash=V,Te}},"parseError"),parse:o(function(oe){var V=this,Te=[0],W=[],pe=[null],ve=[],Pe=this.table,_e="",be=0,Ve=0,De=0,Ye=2,at=1,Rt=ve.slice.call(arguments,1),st=Object.create(this.lexer),Ue={yy:{}};for(var ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ut)&&(Ue.yy[ut]=this.yy[ut]);st.setInput(oe,Ue.yy),Ue.yy.lexer=st,Ue.yy.parser=this,typeof st.yylloc>"u"&&(st.yylloc={});var We=st.yylloc;ve.push(We);var lt=st.options&&st.options.ranges;typeof Ue.yy.parseError=="function"?this.parseError=Ue.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Xt(Mr){Te.length=Te.length-2*Mr,pe.length=pe.length-Mr,ve.length=ve.length-Mr}o(Xt,"popStack");function Tt(){var Mr;return Mr=W.pop()||st.lex()||at,typeof Mr!="number"&&(Mr instanceof Array&&(W=Mr,Mr=W.pop()),Mr=V.symbols_[Mr]||Mr),Mr}o(Tt,"lex");for(var Mt,bt,ht,St,ft,vt,nt={},dn,kt,In,en;;){if(ht=Te[Te.length-1],this.defaultActions[ht]?St=this.defaultActions[ht]:((Mt===null||typeof Mt>"u")&&(Mt=Tt()),St=Pe[ht]&&Pe[ht][Mt]),typeof St>"u"||!St.length||!St[0]){var Nr="";en=[];for(dn in Pe[ht])this.terminals_[dn]&&dn>Ye&&en.push("'"+this.terminals_[dn]+"'");st.showPosition?Nr="Parse error on line "+(be+1)+`: +`+st.showPosition()+` +Expecting `+en.join(", ")+", got '"+(this.terminals_[Mt]||Mt)+"'":Nr="Parse error on line "+(be+1)+": Unexpected "+(Mt==at?"end of input":"'"+(this.terminals_[Mt]||Mt)+"'"),this.parseError(Nr,{text:st.match,token:this.terminals_[Mt]||Mt,line:st.yylineno,loc:We,expected:en})}if(St[0]instanceof Array&&St.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ht+", token: "+Mt);switch(St[0]){case 1:Te.push(Mt),pe.push(st.yytext),ve.push(st.yylloc),Te.push(St[1]),Mt=null,bt?(Mt=bt,bt=null):(Ve=st.yyleng,_e=st.yytext,be=st.yylineno,We=st.yylloc,De>0&&De--);break;case 2:if(kt=this.productions_[St[1]][1],nt.$=pe[pe.length-kt],nt._$={first_line:ve[ve.length-(kt||1)].first_line,last_line:ve[ve.length-1].last_line,first_column:ve[ve.length-(kt||1)].first_column,last_column:ve[ve.length-1].last_column},lt&&(nt._$.range=[ve[ve.length-(kt||1)].range[0],ve[ve.length-1].range[1]]),vt=this.performAction.apply(nt,[_e,Ve,be,Ue.yy,St[1],pe,ve].concat(Rt)),typeof vt<"u")return vt;kt&&(Te=Te.slice(0,-1*kt*2),pe=pe.slice(0,-1*kt),ve=ve.slice(0,-1*kt)),Te.push(this.productions_[St[1]][0]),pe.push(nt.$),ve.push(nt._$),In=Pe[Te[Te.length-2]][Te[Te.length-1]],Te.push(In);break;case 3:return!0}}return!0},"parse")},q=function(){var ie={EOF:1,parseError:o(function(V,Te){if(this.yy.parser)this.yy.parser.parseError(V,Te);else throw new Error(V)},"parseError"),setInput:o(function(oe,V){return this.yy=V||this.yy||{},this._input=oe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var oe=this._input[0];this.yytext+=oe,this.yyleng++,this.offset++,this.match+=oe,this.matched+=oe;var V=oe.match(/(?:\r\n?|\n).*/g);return V?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),oe},"input"),unput:o(function(oe){var V=oe.length,Te=oe.split(/(?:\r\n?|\n)/g);this._input=oe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-V),this.offset-=V;var W=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Te.length-1&&(this.yylineno-=Te.length-1);var pe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Te?(Te.length===W.length?this.yylloc.first_column:0)+W[W.length-Te.length].length-Te[0].length:this.yylloc.first_column-V},this.options.ranges&&(this.yylloc.range=[pe[0],pe[0]+this.yyleng-V]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(oe){this.unput(this.match.slice(oe))},"less"),pastInput:o(function(){var oe=this.matched.substr(0,this.matched.length-this.match.length);return(oe.length>20?"...":"")+oe.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var oe=this.match;return oe.length<20&&(oe+=this._input.substr(0,20-oe.length)),(oe.substr(0,20)+(oe.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var oe=this.pastInput(),V=new Array(oe.length+1).join("-");return oe+this.upcomingInput()+` +`+V+"^"},"showPosition"),test_match:o(function(oe,V){var Te,W,pe;if(this.options.backtrack_lexer&&(pe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(pe.yylloc.range=this.yylloc.range.slice(0))),W=oe[0].match(/(?:\r\n?|\n).*/g),W&&(this.yylineno+=W.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:W?W[W.length-1].length-W[W.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+oe[0].length},this.yytext+=oe[0],this.match+=oe[0],this.matches=oe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(oe[0].length),this.matched+=oe[0],Te=this.performAction.call(this,this.yy,this,V,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Te)return Te;if(this._backtrack){for(var ve in pe)this[ve]=pe[ve];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var oe,V,Te,W;this._more||(this.yytext="",this.match="");for(var pe=this._currentRules(),ve=0;veV[0].length)){if(V=Te,W=ve,this.options.backtrack_lexer){if(oe=this.test_match(Te,pe[ve]),oe!==!1)return oe;if(this._backtrack){V=!1;continue}else return!1}else if(!this.options.flex)break}return V?(oe=this.test_match(V,pe[W]),oe!==!1?oe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var V=this.next();return V||this.lex()},"lex"),begin:o(function(V){this.conditionStack.push(V)},"begin"),popState:o(function(){var V=this.conditionStack.length-1;return V>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(V){return V=this.conditionStack.length-1-Math.abs(V||0),V>=0?this.conditionStack[V]:"INITIAL"},"topState"),pushState:o(function(V){this.begin(V)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(V,Te,W,pe){var ve=pe;switch(W){case 0:return"title";case 1:return this.begin("acc_title"),9;break;case 2:return this.popState(),"acc_title_value";break;case 3:return this.begin("acc_descr"),11;break;case 4:return this.popState(),"acc_descr_value";break;case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:return 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;break;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;break;case 60:return this.begin("style"),74;break;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return Te.yytext=Te.yytext.trim(),89;break;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),rules:[/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/i,/^(?::)/i,/^(?:id\b)/i,/^(?:text\b)/i,/^(?:risk\b)/i,/^(?:verifyMethod\b)/i,/^(?:requirement\b)/i,/^(?:functionalRequirement\b)/i,/^(?:interfaceRequirement\b)/i,/^(?:performanceRequirement\b)/i,/^(?:physicalRequirement\b)/i,/^(?:designConstraint\b)/i,/^(?:low\b)/i,/^(?:medium\b)/i,/^(?:high\b)/i,/^(?:analysis\b)/i,/^(?:demonstration\b)/i,/^(?:inspection\b)/i,/^(?:test\b)/i,/^(?:element\b)/i,/^(?:contains\b)/i,/^(?:copies\b)/i,/^(?:derives\b)/i,/^(?:satisfies\b)/i,/^(?:verifies\b)/i,/^(?:refines\b)/i,/^(?:traces\b)/i,/^(?:type\b)/i,/^(?:docref\b)/i,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return ie}();xe.lexer=q;function de(){this.yy={}}return o(de,"Parser"),de.prototype=xe,xe.Parser=de,new de}();cP.parser=cP;yde=cP});var US,xde=N(()=>{"use strict";qt();yt();ci();US=class{constructor(){this.relations=[];this.latestRequirement=this.getInitialRequirement();this.requirements=new Map;this.latestElement=this.getInitialElement();this.elements=new Map;this.classes=new Map;this.direction="TB";this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"};this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"};this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"};this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"};this.setAccTitle=Cr;this.getAccTitle=_r;this.setAccDescription=Dr;this.getAccDescription=Lr;this.setDiagramTitle=Ir;this.getDiagramTitle=Rr;this.getConfig=o(()=>ge().requirement,"getConfig");this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}static{o(this,"RequirementDB")}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),X.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,wr()}setCssStyle(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(let a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){for(let n of e){let i=this.requirements.get(n)??this.elements.get(n);if(i)for(let a of r){i.classes.push(a);let s=this.classes.get(a)?.styles;s&&i.cssStyles.push(...s)}}}defineClass(e,r){for(let n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){let e=ge(),r=[],n=[];for(let i of this.requirements.values()){let a=i;a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),a.shape="requirementBox",a.look=e.look,r.push(a)}for(let i of this.elements.values()){let a=i;a.shape="requirementBox",a.look=e.look,a.id=i.name,a.cssStyles=i.cssStyles,a.cssClasses=i.classes.join(" "),r.push(a)}for(let i of this.relations){let a=0,s=i.type===this.Relationships.CONTAINS,l={id:`${i.src}-${i.dst}-${a}`,start:this.requirements.get(i.src)?.name??this.elements.get(i.src)?.name,end:this.requirements.get(i.dst)?.name??this.elements.get(i.dst)?.name,label:`<<${i.type}>>`,classes:"relationshipLine",style:["fill:none",s?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:s?"normal":"dashed",arrowTypeStart:s?"requirement_contains":"",arrowTypeEnd:s?"":"requirement_arrow",look:e.look};n.push(l),a++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}}});var _Ue,bde,Tde=N(()=>{"use strict";_Ue=o(t=>` + + marker { + fill: ${t.relationColor}; + stroke: ${t.relationColor}; + } + + marker.cross { + stroke: ${t.lineColor}; + } + + svg { + font-family: ${t.fontFamily}; + font-size: ${t.fontSize}; + } + + .reqBox { + fill: ${t.requirementBackground}; + fill-opacity: 1.0; + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + + .reqTitle, .reqLabel{ + fill: ${t.requirementTextColor}; + } + .reqLabelBox { + fill: ${t.relationLabelBackground}; + fill-opacity: 1.0; + } + + .req-title-line { + stroke: ${t.requirementBorderColor}; + stroke-width: ${t.requirementBorderSize}; + } + .relationshipLine { + stroke: ${t.relationColor}; + stroke-width: 1; + } + .relationshipLabel { + fill: ${t.relationLabelColor}; + } + .divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; + } + .label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + .label text,span { + fill: ${t.nodeTextColor||t.textColor}; + color: ${t.nodeTextColor||t.textColor}; + } + .labelBkg { + background-color: ${t.edgeLabelBackground}; + } + +`,"getStyles"),bde=_Ue});var uP={};hr(uP,{draw:()=>DUe});var DUe,wde=N(()=>{"use strict";qt();yt();xm();Zd();Jd();nr();DUe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing requirement diagram (unified)",e);let{securityLevel:i,state:a,layout:s}=ge(),l=n.db.getData(),u=bc(e,i);l.type=n.type,l.layoutAlgorithm=sf(s),l.nodeSpacing=a?.nodeSpacing??50,l.rankSpacing=a?.rankSpacing??50,l.markers=["requirement_contains","requirement_arrow"],l.diagramId=e,await Dc(l,u);let h=8;Vt.insertTitle(u,"requirementDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),Wo(u,h,"requirementDiagram",a?.useMaxWidth??!0)},"draw")});var kde={};hr(kde,{diagram:()=>LUe});var LUe,Ede=N(()=>{"use strict";vde();xde();Tde();wde();LUe={parser:yde,get db(){return new US},renderer:uP,styles:bde}});var hP,Ade,_de=N(()=>{"use strict";hP=function(){var t=o(function(Q,j,ne,te){for(ne=ne||{},te=Q.length;te--;ne[Q[te]]=j);return ne},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,13],u=[1,14],h=[1,16],f=[1,17],d=[1,18],p=[1,24],m=[1,25],g=[1,26],y=[1,27],v=[1,28],x=[1,29],b=[1,30],T=[1,31],C=[1,32],w=[1,33],E=[1,34],_=[1,35],A=[1,36],D=[1,37],O=[1,38],R=[1,39],k=[1,41],L=[1,42],S=[1,43],I=[1,44],M=[1,45],P=[1,46],B=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],F=[4,5,16,50,52,53],z=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],$=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],U=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],K=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],ee=[68,69,70],Y=[1,122],ce={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,BIDIRECTIONAL_SOLID_ARROW:74,DOTTED_ARROW:75,BIDIRECTIONAL_DOTTED_ARROW:76,SOLID_CROSS:77,DOTTED_CROSS:78,SOLID_POINT:79,DOTTED_POINT:80,TXT:81,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"BIDIRECTIONAL_SOLID_ARROW",75:"DOTTED_ARROW",76:"BIDIRECTIONAL_DOTTED_ARROW",77:"SOLID_CROSS",78:"DOTTED_CROSS",79:"SOLID_POINT",80:"DOTTED_POINT",81:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:o(function(j,ne,te,he,le,J,Se){var se=J.length-1;switch(le){case 3:return he.apply(J[se]),J[se];break;case 4:case 9:this.$=[];break;case 5:case 10:J[se-1].push(J[se]),this.$=J[se-1];break;case 6:case 7:case 11:case 12:this.$=J[se];break;case 8:case 13:this.$=[];break;case 15:J[se].type="createParticipant",this.$=J[se];break;case 16:J[se-1].unshift({type:"boxStart",boxData:he.parseBoxData(J[se-2])}),J[se-1].push({type:"boxEnd",boxText:J[se-2]}),this.$=J[se-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(J[se-2]),sequenceIndexStep:Number(J[se-1]),sequenceVisible:!0,signalType:he.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(J[se-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:he.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:he.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:he.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:he.LINETYPE.ACTIVE_START,actor:J[se-1].actor};break;case 23:this.$={type:"activeEnd",signalType:he.LINETYPE.ACTIVE_END,actor:J[se-1].actor};break;case 29:he.setDiagramTitle(J[se].substring(6)),this.$=J[se].substring(6);break;case 30:he.setDiagramTitle(J[se].substring(7)),this.$=J[se].substring(7);break;case 31:this.$=J[se].trim(),he.setAccTitle(this.$);break;case 32:case 33:this.$=J[se].trim(),he.setAccDescription(this.$);break;case 34:J[se-1].unshift({type:"loopStart",loopText:he.parseMessage(J[se-2]),signalType:he.LINETYPE.LOOP_START}),J[se-1].push({type:"loopEnd",loopText:J[se-2],signalType:he.LINETYPE.LOOP_END}),this.$=J[se-1];break;case 35:J[se-1].unshift({type:"rectStart",color:he.parseMessage(J[se-2]),signalType:he.LINETYPE.RECT_START}),J[se-1].push({type:"rectEnd",color:he.parseMessage(J[se-2]),signalType:he.LINETYPE.RECT_END}),this.$=J[se-1];break;case 36:J[se-1].unshift({type:"optStart",optText:he.parseMessage(J[se-2]),signalType:he.LINETYPE.OPT_START}),J[se-1].push({type:"optEnd",optText:he.parseMessage(J[se-2]),signalType:he.LINETYPE.OPT_END}),this.$=J[se-1];break;case 37:J[se-1].unshift({type:"altStart",altText:he.parseMessage(J[se-2]),signalType:he.LINETYPE.ALT_START}),J[se-1].push({type:"altEnd",signalType:he.LINETYPE.ALT_END}),this.$=J[se-1];break;case 38:J[se-1].unshift({type:"parStart",parText:he.parseMessage(J[se-2]),signalType:he.LINETYPE.PAR_START}),J[se-1].push({type:"parEnd",signalType:he.LINETYPE.PAR_END}),this.$=J[se-1];break;case 39:J[se-1].unshift({type:"parStart",parText:he.parseMessage(J[se-2]),signalType:he.LINETYPE.PAR_OVER_START}),J[se-1].push({type:"parEnd",signalType:he.LINETYPE.PAR_END}),this.$=J[se-1];break;case 40:J[se-1].unshift({type:"criticalStart",criticalText:he.parseMessage(J[se-2]),signalType:he.LINETYPE.CRITICAL_START}),J[se-1].push({type:"criticalEnd",signalType:he.LINETYPE.CRITICAL_END}),this.$=J[se-1];break;case 41:J[se-1].unshift({type:"breakStart",breakText:he.parseMessage(J[se-2]),signalType:he.LINETYPE.BREAK_START}),J[se-1].push({type:"breakEnd",optText:he.parseMessage(J[se-2]),signalType:he.LINETYPE.BREAK_END}),this.$=J[se-1];break;case 43:this.$=J[se-3].concat([{type:"option",optionText:he.parseMessage(J[se-1]),signalType:he.LINETYPE.CRITICAL_OPTION},J[se]]);break;case 45:this.$=J[se-3].concat([{type:"and",parText:he.parseMessage(J[se-1]),signalType:he.LINETYPE.PAR_AND},J[se]]);break;case 47:this.$=J[se-3].concat([{type:"else",altText:he.parseMessage(J[se-1]),signalType:he.LINETYPE.ALT_ELSE},J[se]]);break;case 48:J[se-3].draw="participant",J[se-3].type="addParticipant",J[se-3].description=he.parseMessage(J[se-1]),this.$=J[se-3];break;case 49:J[se-1].draw="participant",J[se-1].type="addParticipant",this.$=J[se-1];break;case 50:J[se-3].draw="actor",J[se-3].type="addParticipant",J[se-3].description=he.parseMessage(J[se-1]),this.$=J[se-3];break;case 51:J[se-1].draw="actor",J[se-1].type="addParticipant",this.$=J[se-1];break;case 52:J[se-1].type="destroyParticipant",this.$=J[se-1];break;case 53:this.$=[J[se-1],{type:"addNote",placement:J[se-2],actor:J[se-1].actor,text:J[se]}];break;case 54:J[se-2]=[].concat(J[se-1],J[se-1]).slice(0,2),J[se-2][0]=J[se-2][0].actor,J[se-2][1]=J[se-2][1].actor,this.$=[J[se-1],{type:"addNote",placement:he.PLACEMENT.OVER,actor:J[se-2].slice(0,2),text:J[se]}];break;case 55:this.$=[J[se-1],{type:"addLinks",actor:J[se-1].actor,text:J[se]}];break;case 56:this.$=[J[se-1],{type:"addALink",actor:J[se-1].actor,text:J[se]}];break;case 57:this.$=[J[se-1],{type:"addProperties",actor:J[se-1].actor,text:J[se]}];break;case 58:this.$=[J[se-1],{type:"addDetails",actor:J[se-1].actor,text:J[se]}];break;case 61:this.$=[J[se-2],J[se]];break;case 62:this.$=J[se];break;case 63:this.$=he.PLACEMENT.LEFTOF;break;case 64:this.$=he.PLACEMENT.RIGHTOF;break;case 65:this.$=[J[se-4],J[se-1],{type:"addMessage",from:J[se-4].actor,to:J[se-1].actor,signalType:J[se-3],msg:J[se],activate:!0},{type:"activeStart",signalType:he.LINETYPE.ACTIVE_START,actor:J[se-1].actor}];break;case 66:this.$=[J[se-4],J[se-1],{type:"addMessage",from:J[se-4].actor,to:J[se-1].actor,signalType:J[se-3],msg:J[se]},{type:"activeEnd",signalType:he.LINETYPE.ACTIVE_END,actor:J[se-4].actor}];break;case 67:this.$=[J[se-3],J[se-1],{type:"addMessage",from:J[se-3].actor,to:J[se-1].actor,signalType:J[se-2],msg:J[se]}];break;case 68:this.$={type:"addParticipant",actor:J[se]};break;case 69:this.$=he.LINETYPE.SOLID_OPEN;break;case 70:this.$=he.LINETYPE.DOTTED_OPEN;break;case 71:this.$=he.LINETYPE.SOLID;break;case 72:this.$=he.LINETYPE.BIDIRECTIONAL_SOLID;break;case 73:this.$=he.LINETYPE.DOTTED;break;case 74:this.$=he.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 75:this.$=he.LINETYPE.SOLID_CROSS;break;case 76:this.$=he.LINETYPE.DOTTED_CROSS;break;case 77:this.$=he.LINETYPE.SOLID_POINT;break;case 78:this.$=he.LINETYPE.DOTTED_POINT;break;case 79:this.$=he.parseMessage(J[se].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:C,41:w,43:E,44:_,46:A,50:D,52:O,53:R,54:k,59:L,60:S,61:I,62:M,70:P},t(B,[2,5]),{9:47,12:12,13:l,14:u,17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:C,41:w,43:E,44:_,46:A,50:D,52:O,53:R,54:k,59:L,60:S,61:I,62:M,70:P},t(B,[2,7]),t(B,[2,8]),t(B,[2,14]),{12:48,50:D,52:O,53:R},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:P},{22:55,70:P},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},t(B,[2,29]),t(B,[2,30]),{32:[1,61]},{34:[1,62]},t(B,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:P},{22:72,70:P},{22:73,70:P},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82],79:[1,83],80:[1,84]},{55:85,57:[1,86],65:[1,87],66:[1,88]},{22:89,70:P},{22:90,70:P},{22:91,70:P},{22:92,70:P},t([5,51,64,71,72,73,74,75,76,77,78,79,80,81],[2,68]),t(B,[2,6]),t(B,[2,15]),t(F,[2,9],{10:93}),t(B,[2,17]),{5:[1,95],19:[1,94]},{5:[1,96]},t(B,[2,21]),{5:[1,97]},{5:[1,98]},t(B,[2,24]),t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),t(B,[2,31]),t(B,[2,32]),t(z,i,{7:99}),t(z,i,{7:100}),t(z,i,{7:101}),t($,i,{40:102,7:103}),t(U,i,{42:104,7:105}),t(U,i,{7:105,42:106}),t(K,i,{45:107,7:108}),t(z,i,{7:109}),{5:[1,111],51:[1,110]},{5:[1,113],51:[1,112]},{5:[1,114]},{22:117,68:[1,115],69:[1,116],70:P},t(ee,[2,69]),t(ee,[2,70]),t(ee,[2,71]),t(ee,[2,72]),t(ee,[2,73]),t(ee,[2,74]),t(ee,[2,75]),t(ee,[2,76]),t(ee,[2,77]),t(ee,[2,78]),{22:118,70:P},{22:120,58:119,70:P},{70:[2,63]},{70:[2,64]},{56:121,81:Y},{56:123,81:Y},{56:124,81:Y},{56:125,81:Y},{4:[1,128],5:[1,130],11:127,12:129,16:[1,126],50:D,52:O,53:R},{5:[1,131]},t(B,[2,19]),t(B,[2,20]),t(B,[2,22]),t(B,[2,23]),{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,132],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:C,41:w,43:E,44:_,46:A,50:D,52:O,53:R,54:k,59:L,60:S,61:I,62:M,70:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,133],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:C,41:w,43:E,44:_,46:A,50:D,52:O,53:R,54:k,59:L,60:S,61:I,62:M,70:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,134],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:C,41:w,43:E,44:_,46:A,50:D,52:O,53:R,54:k,59:L,60:S,61:I,62:M,70:P},{16:[1,135]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,46],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:C,41:w,43:E,44:_,46:A,49:[1,136],50:D,52:O,53:R,54:k,59:L,60:S,61:I,62:M,70:P},{16:[1,137]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,44],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:C,41:w,43:E,44:_,46:A,48:[1,138],50:D,52:O,53:R,54:k,59:L,60:S,61:I,62:M,70:P},{16:[1,139]},{16:[1,140]},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[2,42],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:C,41:w,43:E,44:_,46:A,47:[1,141],50:D,52:O,53:R,54:k,59:L,60:S,61:I,62:M,70:P},{4:a,5:s,8:8,9:10,12:12,13:l,14:u,16:[1,142],17:15,18:h,21:f,22:40,23:d,24:19,25:20,26:21,27:22,28:23,29:p,30:m,31:g,33:y,35:v,36:x,37:b,38:T,39:C,41:w,43:E,44:_,46:A,50:D,52:O,53:R,54:k,59:L,60:S,61:I,62:M,70:P},{15:[1,143]},t(B,[2,49]),{15:[1,144]},t(B,[2,51]),t(B,[2,52]),{22:145,70:P},{22:146,70:P},{56:147,81:Y},{56:148,81:Y},{56:149,81:Y},{64:[1,150],81:[2,62]},{5:[2,55]},{5:[2,79]},{5:[2,56]},{5:[2,57]},{5:[2,58]},t(B,[2,16]),t(F,[2,10]),{12:151,50:D,52:O,53:R},t(F,[2,12]),t(F,[2,13]),t(B,[2,18]),t(B,[2,34]),t(B,[2,35]),t(B,[2,36]),t(B,[2,37]),{15:[1,152]},t(B,[2,38]),{15:[1,153]},t(B,[2,39]),t(B,[2,40]),{15:[1,154]},t(B,[2,41]),{5:[1,155]},{5:[1,156]},{56:157,81:Y},{56:158,81:Y},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:159,70:P},t(F,[2,11]),t($,i,{7:103,40:160}),t(U,i,{7:105,42:161}),t(K,i,{7:108,45:162}),t(B,[2,48]),t(B,[2,50]),{5:[2,65]},{5:[2,66]},{81:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],87:[2,63],88:[2,64],121:[2,55],122:[2,79],123:[2,56],124:[2,57],125:[2,58],147:[2,67],148:[2,53],149:[2,54],157:[2,65],158:[2,66],159:[2,61],160:[2,47],161:[2,45],162:[2,43]},parseError:o(function(j,ne){if(ne.recoverable)this.trace(j);else{var te=new Error(j);throw te.hash=ne,te}},"parseError"),parse:o(function(j){var ne=this,te=[0],he=[],le=[null],J=[],Se=this.table,se="",ae=0,Oe=0,ye=0,Be=2,He=1,ze=J.slice.call(arguments,1),Le=Object.create(this.lexer),Ie={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(Ie.yy[xe]=this.yy[xe]);Le.setInput(j,Ie.yy),Ie.yy.lexer=Le,Ie.yy.parser=this,typeof Le.yylloc>"u"&&(Le.yylloc={});var q=Le.yylloc;J.push(q);var de=Le.options&&Le.options.ranges;typeof Ie.yy.parseError=="function"?this.parseError=Ie.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ie(Rt){te.length=te.length-2*Rt,le.length=le.length-Rt,J.length=J.length-Rt}o(ie,"popStack");function oe(){var Rt;return Rt=he.pop()||Le.lex()||He,typeof Rt!="number"&&(Rt instanceof Array&&(he=Rt,Rt=he.pop()),Rt=ne.symbols_[Rt]||Rt),Rt}o(oe,"lex");for(var V,Te,W,pe,ve,Pe,_e={},be,Ve,De,Ye;;){if(W=te[te.length-1],this.defaultActions[W]?pe=this.defaultActions[W]:((V===null||typeof V>"u")&&(V=oe()),pe=Se[W]&&Se[W][V]),typeof pe>"u"||!pe.length||!pe[0]){var at="";Ye=[];for(be in Se[W])this.terminals_[be]&&be>Be&&Ye.push("'"+this.terminals_[be]+"'");Le.showPosition?at="Parse error on line "+(ae+1)+`: +`+Le.showPosition()+` +Expecting `+Ye.join(", ")+", got '"+(this.terminals_[V]||V)+"'":at="Parse error on line "+(ae+1)+": Unexpected "+(V==He?"end of input":"'"+(this.terminals_[V]||V)+"'"),this.parseError(at,{text:Le.match,token:this.terminals_[V]||V,line:Le.yylineno,loc:q,expected:Ye})}if(pe[0]instanceof Array&&pe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+V);switch(pe[0]){case 1:te.push(V),le.push(Le.yytext),J.push(Le.yylloc),te.push(pe[1]),V=null,Te?(V=Te,Te=null):(Oe=Le.yyleng,se=Le.yytext,ae=Le.yylineno,q=Le.yylloc,ye>0&&ye--);break;case 2:if(Ve=this.productions_[pe[1]][1],_e.$=le[le.length-Ve],_e._$={first_line:J[J.length-(Ve||1)].first_line,last_line:J[J.length-1].last_line,first_column:J[J.length-(Ve||1)].first_column,last_column:J[J.length-1].last_column},de&&(_e._$.range=[J[J.length-(Ve||1)].range[0],J[J.length-1].range[1]]),Pe=this.performAction.apply(_e,[se,Oe,ae,Ie.yy,pe[1],le,J].concat(ze)),typeof Pe<"u")return Pe;Ve&&(te=te.slice(0,-1*Ve*2),le=le.slice(0,-1*Ve),J=J.slice(0,-1*Ve)),te.push(this.productions_[pe[1]][0]),le.push(_e.$),J.push(_e._$),De=Se[te[te.length-2]][te[te.length-1]],te.push(De);break;case 3:return!0}}return!0},"parse")},Z=function(){var Q={EOF:1,parseError:o(function(ne,te){if(this.yy.parser)this.yy.parser.parseError(ne,te);else throw new Error(ne)},"parseError"),setInput:o(function(j,ne){return this.yy=ne||this.yy||{},this._input=j,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var j=this._input[0];this.yytext+=j,this.yyleng++,this.offset++,this.match+=j,this.matched+=j;var ne=j.match(/(?:\r\n?|\n).*/g);return ne?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),j},"input"),unput:o(function(j){var ne=j.length,te=j.split(/(?:\r\n?|\n)/g);this._input=j+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ne),this.offset-=ne;var he=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),te.length-1&&(this.yylineno-=te.length-1);var le=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:te?(te.length===he.length?this.yylloc.first_column:0)+he[he.length-te.length].length-te[0].length:this.yylloc.first_column-ne},this.options.ranges&&(this.yylloc.range=[le[0],le[0]+this.yyleng-ne]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(j){this.unput(this.match.slice(j))},"less"),pastInput:o(function(){var j=this.matched.substr(0,this.matched.length-this.match.length);return(j.length>20?"...":"")+j.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var j=this.match;return j.length<20&&(j+=this._input.substr(0,20-j.length)),(j.substr(0,20)+(j.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var j=this.pastInput(),ne=new Array(j.length+1).join("-");return j+this.upcomingInput()+` +`+ne+"^"},"showPosition"),test_match:o(function(j,ne){var te,he,le;if(this.options.backtrack_lexer&&(le={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(le.yylloc.range=this.yylloc.range.slice(0))),he=j[0].match(/(?:\r\n?|\n).*/g),he&&(this.yylineno+=he.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:he?he[he.length-1].length-he[he.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+j[0].length},this.yytext+=j[0],this.match+=j[0],this.matches=j,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(j[0].length),this.matched+=j[0],te=this.performAction.call(this,this.yy,this,ne,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),te)return te;if(this._backtrack){for(var J in le)this[J]=le[J];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var j,ne,te,he;this._more||(this.yytext="",this.match="");for(var le=this._currentRules(),J=0;Jne[0].length)){if(ne=te,he=J,this.options.backtrack_lexer){if(j=this.test_match(te,le[J]),j!==!1)return j;if(this._backtrack){ne=!1;continue}else return!1}else if(!this.options.flex)break}return ne?(j=this.test_match(ne,le[he]),j!==!1?j:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var ne=this.next();return ne||this.lex()},"lex"),begin:o(function(ne){this.conditionStack.push(ne)},"begin"),popState:o(function(){var ne=this.conditionStack.length-1;return ne>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(ne){return ne=this.conditionStack.length-1-Math.abs(ne||0),ne>=0?this.conditionStack[ne]:"INITIAL"},"topState"),pushState:o(function(ne){this.begin(ne)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(ne,te,he,le){var J=le;switch(he){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 19;case 7:return this.begin("LINE"),14;break;case 8:return this.begin("ID"),50;break;case 9:return this.begin("ID"),52;break;case 10:return 13;case 11:return this.begin("ID"),53;break;case 12:return te.yytext=te.yytext.trim(),this.begin("ALIAS"),70;break;case 13:return this.popState(),this.popState(),this.begin("LINE"),51;break;case 14:return this.popState(),this.popState(),5;break;case 15:return this.begin("LINE"),36;break;case 16:return this.begin("LINE"),37;break;case 17:return this.begin("LINE"),38;break;case 18:return this.begin("LINE"),39;break;case 19:return this.begin("LINE"),49;break;case 20:return this.begin("LINE"),41;break;case 21:return this.begin("LINE"),43;break;case 22:return this.begin("LINE"),48;break;case 23:return this.begin("LINE"),44;break;case 24:return this.begin("LINE"),47;break;case 25:return this.begin("LINE"),46;break;case 26:return this.popState(),15;break;case 27:return 16;case 28:return 65;case 29:return 66;case 30:return 59;case 31:return 60;case 32:return 61;case 33:return 62;case 34:return 57;case 35:return 54;case 36:return this.begin("ID"),21;break;case 37:return this.begin("ID"),23;break;case 38:return 29;case 39:return 30;case 40:return this.begin("acc_title"),31;break;case 41:return this.popState(),"acc_title_value";break;case 42:return this.begin("acc_descr"),33;break;case 43:return this.popState(),"acc_descr_value";break;case 44:this.begin("acc_descr_multiline");break;case 45:this.popState();break;case 46:return"acc_descr_multiline_value";case 47:return 6;case 48:return 18;case 49:return 20;case 50:return 64;case 51:return 5;case 52:return te.yytext=te.yytext.trim(),70;break;case 53:return 73;case 54:return 74;case 55:return 75;case 56:return 76;case 57:return 71;case 58:return 72;case 59:return 77;case 60:return 78;case 61:return 79;case 62:return 80;case 63:return 81;case 64:return 81;case 65:return 68;case 66:return 69;case 67:return 5;case 68:return"INVALID"}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[0-9]+(?=[ \n]+))/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/i,/^(?:[^<\->\->:\n,;]+?([\-]*[^<\->\->:\n,;]+?)*?(?=((?!\n)\s)+as(?!\n)\s|[#\n;]|$))/i,/^(?:as\b)/i,/^(?:(?:))/i,/^(?:loop\b)/i,/^(?:rect\b)/i,/^(?:opt\b)/i,/^(?:alt\b)/i,/^(?:else\b)/i,/^(?:par\b)/i,/^(?:par_over\b)/i,/^(?:and\b)/i,/^(?:critical\b)/i,/^(?:option\b)/i,/^(?:break\b)/i,/^(?:(?:[:]?(?:no)?wrap)?[^#\n;]*)/i,/^(?:end\b)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:links\b)/i,/^(?:link\b)/i,/^(?:properties\b)/i,/^(?:details\b)/i,/^(?:over\b)/i,/^(?:note\b)/i,/^(?:activate\b)/i,/^(?:deactivate\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:title:\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:sequenceDiagram\b)/i,/^(?:autonumber\b)/i,/^(?:off\b)/i,/^(?:,)/i,/^(?:;)/i,/^(?:[^+<\->\->:\n,;]+((?!(-x|--x|-\)|--\)))[\-]*[^\+<\->\->:\n,;]+)*)/i,/^(?:->>)/i,/^(?:<<->>)/i,/^(?:-->>)/i,/^(?:<<-->>)/i,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[45,46],inclusive:!1},acc_descr:{rules:[43],inclusive:!1},acc_title:{rules:[41],inclusive:!1},ID:{rules:[2,3,12],inclusive:!1},ALIAS:{rules:[2,3,13,14],inclusive:!1},LINE:{rules:[2,3,26],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,7,8,9,10,11,15,16,17,18,19,20,21,22,23,24,25,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,44,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68],inclusive:!0}}};return Q}();ce.lexer=Z;function ue(){this.yy={}}return o(ue,"Parser"),ue.prototype=ce,ce.Parser=ue,new ue}();hP.parser=hP;Ade=hP});var IUe,OUe,PUe,HS,Dde=N(()=>{"use strict";qt();yt();EO();dr();ci();IUe={SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25,AUTONUMBER:26,CRITICAL_START:27,CRITICAL_OPTION:28,CRITICAL_END:29,BREAK_START:30,BREAK_END:31,PAR_OVER_START:32,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34},OUe={FILLED:0,OPEN:1},PUe={LEFTOF:0,RIGHTOF:1,OVER:2},HS=class{constructor(){this.state=new E1(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0}));this.setAccTitle=Cr;this.setAccDescription=Dr;this.setDiagramTitle=Ir;this.getAccTitle=_r;this.getAccDescription=Lr;this.getDiagramTitle=Rr;this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(ge().wrap),this.LINETYPE=IUe,this.ARROWTYPE=OUe,this.PLACEMENT=PUe}static{o(this,"SequenceDB")}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i){let a=this.state.records.currentBox,s=this.state.records.actors.get(e);if(s){if(this.state.records.currentBox&&s.box&&this.state.records.currentBox!==s.box)throw new Error(`A same participant should only be defined in one Box: ${s.name} can't be in '${s.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(a=s.box?s.box:this.state.records.currentBox,s.box=a,s&&r===s.name&&n==null)return}if(n?.text==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:a,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){let l=this.state.records.actors.get(this.state.records.prevActor);l&&(l.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n?.text??"",wrap:n?.wrap??this.autoWrap(),type:i,activate:a}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();let r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:ge().sequence?.wrap??!1}clear(){this.state.reset(),wr()}parseMessage(e){let r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return X.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){let r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e),n=r?.[1]?r[1].trim():"transparent",i=r?.[2]?r[2].trim():void 0;if(window?.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{let l=new Option().style;l.color=n,l.color!==n&&(n="transparent",i=e.trim())}let{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?ar(s,ge()):void 0,color:n,wrap:a}}addNote(e,r,n){let i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){let n=this.getActor(e);try{let i=ar(r.text,ge());i=i.replace(/=/g,"="),i=i.replace(/&/g,"&");let a=JSON.parse(i);this.insertLinks(n,a)}catch(i){X.error("error while parsing actor link text",i)}}addALink(e,r){let n=this.getActor(e);try{let i={},a=ar(r.text,ge()),s=a.indexOf("@");a=a.replace(/=/g,"="),a=a.replace(/&/g,"&");let l=a.slice(0,s-1).trim(),u=a.slice(s+1).trim();i[l]=u,this.insertLinks(n,i)}catch(i){X.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(let n in r)e.links[n]=r[n]}addProperties(e,r){let n=this.getActor(e);try{let i=ar(r.text,ge()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){X.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(let n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){let n=this.getActor(e),i=document.getElementById(r.text);try{let a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){X.error("error while parsing actor details text",a)}}getActorProperty(e,r){if(e?.properties!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw);break;case"createParticipant":if(this.state.records.actors.has(e.actor))throw new Error("It is not possible to have actors with the same id, even if one is destroyed before the next is created. Use 'AS' aliases to simulate the behavior");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":Cr(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return ge().sequence}}});var BUe,Lde,Rde=N(()=>{"use strict";BUe=o(t=>`.actor { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + + text.actor > tspan { + fill: ${t.actorTextColor}; + stroke: none; + } + + .actor-line { + stroke: ${t.actorLineColor}; + } + + .messageLine0 { + stroke-width: 1.5; + stroke-dasharray: none; + stroke: ${t.signalColor}; + } + + .messageLine1 { + stroke-width: 1.5; + stroke-dasharray: 2, 2; + stroke: ${t.signalColor}; + } + + #arrowhead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .sequenceNumber { + fill: ${t.sequenceNumberColor}; + } + + #sequencenumber { + fill: ${t.signalColor}; + } + + #crosshead path { + fill: ${t.signalColor}; + stroke: ${t.signalColor}; + } + + .messageText { + fill: ${t.signalTextColor}; + stroke: none; + } + + .labelBox { + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBkgColor}; + } + + .labelText, .labelText > tspan { + fill: ${t.labelTextColor}; + stroke: none; + } + + .loopText, .loopText > tspan { + fill: ${t.loopTextColor}; + stroke: none; + } + + .loopLine { + stroke-width: 2px; + stroke-dasharray: 2, 2; + stroke: ${t.labelBoxBorderColor}; + fill: ${t.labelBoxBorderColor}; + } + + .note { + //stroke: #decc93; + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + } + + .noteText, .noteText > tspan { + fill: ${t.noteTextColor}; + stroke: none; + } + + .activation0 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation1 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .activation2 { + fill: ${t.activationBkgColor}; + stroke: ${t.activationBorderColor}; + } + + .actorPopupMenu { + position: absolute; + } + + .actorPopupMenuPanel { + position: absolute; + fill: ${t.actorBkg}; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + filter: drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4)); +} + .actor-man line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + } + .actor-man circle, line { + stroke: ${t.actorBorder}; + fill: ${t.actorBkg}; + stroke-width: 2px; + } +`,"getStyles"),Lde=BUe});var fP,bf,Mde,Ide,FUe,Nde,dP,$Ue,zUe,Nb,Ip,Ode,Wc,pP,GUe,VUe,UUe,HUe,WUe,qUe,YUe,Pde,XUe,jUe,KUe,QUe,ZUe,JUe,eHe,Bde,tHe,mP,rHe,di,Fde=N(()=>{"use strict";fP=Sa(Y0(),1);Jn();nr();dr();Jv();bf=18*2,Mde="actor-top",Ide="actor-bottom",FUe="actor-box",Nde="actor-man",dP=o(function(t,e){return Sd(t,e)},"drawRect"),$Ue=o(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};let a=e.links,s=e.actorCnt,l=e.rectData;var u="none";i&&(u="block !important");let h=t.append("g");h.attr("id","actor"+s+"_popup"),h.attr("class","actorPopupMenu"),h.attr("display",u);var f="";l.class!==void 0&&(f=" "+l.class);let d=l.width>r?l.width:r,p=h.append("rect");if(p.attr("class","actorPopupMenuPanel"+f),p.attr("x",l.x),p.attr("y",l.height),p.attr("fill",l.fill),p.attr("stroke",l.stroke),p.attr("width",d),p.attr("height",l.height),p.attr("rx",l.rx),p.attr("ry",l.ry),a!=null){var m=20;for(let v in a){var g=h.append("a"),y=(0,fP.sanitizeUrl)(a[v]);g.attr("xlink:href",y),g.attr("target","_blank"),rHe(n)(v,g,l.x+10,l.height+m,d,20,{class:"actor"},n),m+=30}}return p.attr("height",m),{height:l.height+m,width:d}},"drawPopup"),zUe=o(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),Nb=o(async function(t,e,r=null){let n=t.append("foreignObject"),i=await yh(e.text,Qt()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){let l=t.node().firstChild;l.setAttribute("height",s.height+2*e.textMargin);let u=l.getBBox();n.attr("x",Math.round(u.x+u.width/2-s.width/2)).attr("y",Math.round(u.y+u.height/2-s.height/2))}else if(r){let{startx:l,stopx:u,starty:h}=r;if(l>u){let f=l;l=u,u=f}n.attr("x",Math.round(l+Math.abs(l-u)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(h)):n.attr("y",Math.round(h-s.height))}return[n]},"drawKatex"),Ip=o(function(t,e){let r=0,n=0,i=e.text.split(Ze.lineBreakRegex),[a,s]=Fo(e.fontSize),l=[],u=0,h=o(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":h=o(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":h=o(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":h=o(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");break}if(e.anchor!==void 0&&e.textMargin!==void 0&&e.width!==void 0)switch(e.anchor){case"left":case"start":e.x=Math.round(e.x+e.textMargin),e.anchor="start",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"middle":case"center":e.x=Math.round(e.x+e.width/2),e.anchor="middle",e.dominantBaseline="middle",e.alignmentBaseline="middle";break;case"right":case"end":e.x=Math.round(e.x+e.width-e.textMargin),e.anchor="end",e.dominantBaseline="middle",e.alignmentBaseline="middle";break}for(let[f,d]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(u=f*a);let p=t.append("text");p.attr("x",e.x),p.attr("y",h()),e.anchor!==void 0&&p.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&p.style("font-family",e.fontFamily),s!==void 0&&p.style("font-size",s),e.fontWeight!==void 0&&p.style("font-weight",e.fontWeight),e.fill!==void 0&&p.attr("fill",e.fill),e.class!==void 0&&p.attr("class",e.class),e.dy!==void 0?p.attr("dy",e.dy):u!==0&&p.attr("dy",u);let m=d||k9;if(e.tspan){let g=p.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(m)}else p.text(m);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(p._groups||p)[0][0].getBBox().height,r=n),l.push(p)}return l},"drawText"),Ode=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,Ip(t,e),n},"drawLabel"),Wc=-1,pP=o((t,e,r,n)=>{t.select&&r.forEach(i=>{let a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),GUe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+e.height,l=t.append("g").lower();var u=l;n||(Wc++,Object.keys(e.links||{}).length&&!r.forceMenus&&u.attr("onclick",zUe(`actor${Wc}_popup`)).attr("cursor","pointer"),u.append("line").attr("id","actor"+Wc).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),u=l.append("g"),e.actorCnt=Wc,e.links!=null&&u.attr("id","root-"+Wc));let h=Sl();var f="actor";e.properties?.class?f=e.properties.class:h.fill="#eaeaea",n?f+=` ${Ide}`:f+=` ${Mde}`,h.x=e.x,h.y=i,h.width=e.width,h.height=e.height,h.class=f,h.rx=3,h.ry=3,h.name=e.name;let d=dP(u,h);if(e.rectData=h,e.properties?.icon){let m=e.properties.icon.trim();m.charAt(0)==="@"?jY(u,h.x+h.width-20,h.y+10,m.substr(1)):XY(u,h.x+h.width-20,h.y+10,m)}mP(r,gi(e.description))(e.description,u,h.x,h.y,h.width,h.height,{class:`actor ${FUe}`},r);let p=e.height;if(d.node){let m=d.node().getBBox();e.height=m.height,p=m.height}return p},"drawActorTypeParticipant"),VUe=o(function(t,e,r,n){let i=n?e.stopy:e.starty,a=e.x+e.width/2,s=i+80,l=t.append("g").lower();n||(Wc++,l.append("line").attr("id","actor"+Wc).attr("x1",a).attr("y1",s).attr("x2",a).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name),e.actorCnt=Wc);let u=t.append("g"),h=Nde;n?h+=` ${Ide}`:h+=` ${Mde}`,u.attr("class",h),u.attr("name",e.name);let f=Sl();f.x=e.x,f.y=i,f.fill="#eaeaea",f.width=e.width,f.height=e.height,f.class="actor",f.rx=3,f.ry=3,u.append("line").attr("id","actor-man-torso"+Wc).attr("x1",a).attr("y1",i+25).attr("x2",a).attr("y2",i+45),u.append("line").attr("id","actor-man-arms"+Wc).attr("x1",a-bf/2).attr("y1",i+33).attr("x2",a+bf/2).attr("y2",i+33),u.append("line").attr("x1",a-bf/2).attr("y1",i+60).attr("x2",a).attr("y2",i+45),u.append("line").attr("x1",a).attr("y1",i+45).attr("x2",a+bf/2-2).attr("y2",i+60);let d=u.append("circle");d.attr("cx",e.x+e.width/2),d.attr("cy",i+10),d.attr("r",15),d.attr("width",e.width),d.attr("height",e.height);let p=u.node().getBBox();return e.height=p.height,mP(r,gi(e.description))(e.description,u,f.x,f.y+35,f.width,f.height,{class:`actor ${Nde}`},r),e.height},"drawActorTypeActor"),UUe=o(async function(t,e,r,n){switch(e.type){case"actor":return await VUe(t,e,r,n);case"participant":return await GUe(t,e,r,n)}},"drawActor"),HUe=o(function(t,e,r){let i=t.append("g");Pde(i,e),e.name&&mP(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),WUe=o(function(t){return t.append("g")},"anchorElement"),qUe=o(function(t,e,r,n,i){let a=Sl(),s=e.anchored;a.x=e.startx,a.y=e.starty,a.class="activation"+i%3,a.width=e.stopx-e.startx,a.height=r-e.starty,dP(s,a)},"drawActivation"),YUe=o(async function(t,e,r,n){let{boxMargin:i,boxTextMargin:a,labelBoxHeight:s,labelBoxWidth:l,messageFontFamily:u,messageFontSize:h,messageFontWeight:f}=n,d=t.append("g"),p=o(function(y,v,x,b){return d.append("line").attr("x1",y).attr("y1",v).attr("x2",x).attr("y2",b).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(y){p(e.startx,y.y,e.stopx,y.y).style("stroke-dasharray","3, 3")});let m=Zv();m.text=r,m.x=e.startx,m.y=e.starty,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.anchor="middle",m.valign="middle",m.tspan=!1,m.width=l||50,m.height=s||20,m.textMargin=a,m.class="labelText",Ode(d,m),m=Bde(),m.text=e.title,m.x=e.startx+l/2+(e.stopx-e.startx)/2,m.y=e.starty+i+a,m.anchor="middle",m.valign="middle",m.textMargin=a,m.class="loopText",m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=!0;let g=gi(m.text)?await Nb(d,m,e):Ip(d,m);if(e.sectionTitles!==void 0){for(let[y,v]of Object.entries(e.sectionTitles))if(v.message){m.text=v.message,m.x=e.startx+(e.stopx-e.startx)/2,m.y=e.sections[y].y+i+a,m.class="loopText",m.anchor="middle",m.valign="middle",m.tspan=!1,m.fontFamily=u,m.fontSize=h,m.fontWeight=f,m.wrap=e.wrap,gi(m.text)?(e.starty=e.sections[y].y,await Nb(d,m,e)):Ip(d,m);let x=Math.round(g.map(b=>(b._groups||b)[0][0].getBBox().height).reduce((b,T)=>b+T));e.sections[y].height+=x-(i+a)}}return e.height=Math.round(e.stopy-e.starty),d},"drawLoop"),Pde=o(function(t,e){rT(t,e)},"drawBackgroundRect"),XUe=o(function(t){t.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),jUe=o(function(t){t.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),KUe=o(function(t){t.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),QUe=o(function(t){t.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),ZUe=o(function(t){t.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"insertArrowFilledHead"),JUe=o(function(t){t.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},"insertSequenceNumber"),eHe=o(function(t){t.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},"insertArrowCrossHead"),Bde=o(function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},"getTextObj"),tHe=o(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),mP=function(){function t(a,s,l,u,h,f,d){let p=s.append("text").attr("x",l+h/2).attr("y",u+f/2+5).style("text-anchor","middle").text(a);i(p,d)}o(t,"byText");function e(a,s,l,u,h,f,d,p){let{actorFontSize:m,actorFontFamily:g,actorFontWeight:y}=p,[v,x]=Fo(m),b=a.split(Ze.lineBreakRegex);for(let T=0;T{let s=Op(Ne),l=a.actorKeys.reduce((f,d)=>f+=t.get(d).width+(t.get(d).margin||0),0);l-=2*Ne.boxTextMargin,a.wrap&&(a.name=Vt.wrapLabel(a.name,l-2*Ne.wrapPadding,s));let u=Vt.calculateTextDimensions(a.name,s);i=Ze.getMax(u.height,i);let h=Ze.getMax(l,u.width+2*Ne.wrapPadding);if(a.margin=Ne.boxTextMargin,la.textMaxHeight=i),Ze.getMax(n,Ne.height)}var Ne,rt,nHe,Op,L1,gP,aHe,sHe,yP,zde,Gde,WS,$de,lHe,uHe,fHe,dHe,pHe,Vde,Ude=N(()=>{"use strict";pr();Fde();yt();dr();dr();Jv();qt();c0();nr();yi();Ne={},rt={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:o(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.height||0))+(this.loops.length===0?0:this.loops.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.messages.length===0?0:this.messages.map(t=>t.height||0).reduce((t,e)=>t+e))+(this.notes.length===0?0:this.notes.map(t=>t.height||0).reduce((t,e)=>t+e))},"getHeight"),clear:o(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:o(function(t){this.boxes.push(t)},"addBox"),addActor:o(function(t){this.actors.push(t)},"addActor"),addLoop:o(function(t){this.loops.push(t)},"addLoop"),addMessage:o(function(t){this.messages.push(t)},"addMessage"),addNote:o(function(t){this.notes.push(t)},"addNote"),lastActor:o(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:o(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:o(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:o(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:o(function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,Gde(ge())},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=this,a=0;function s(l){return o(function(h){a++;let f=i.sequenceItems.length-a+1;i.updateVal(h,"starty",e-f*Ne.boxMargin,Math.min),i.updateVal(h,"stopy",n+f*Ne.boxMargin,Math.max),i.updateVal(rt.data,"startx",t-f*Ne.boxMargin,Math.min),i.updateVal(rt.data,"stopx",r+f*Ne.boxMargin,Math.max),l!=="activation"&&(i.updateVal(h,"startx",t-f*Ne.boxMargin,Math.min),i.updateVal(h,"stopx",r+f*Ne.boxMargin,Math.max),i.updateVal(rt.data,"starty",e-f*Ne.boxMargin,Math.min),i.updateVal(rt.data,"stopy",n+f*Ne.boxMargin,Math.max))},"updateItemBounds")}o(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:o(function(t,e,r,n){let i=Ze.getMin(t,r),a=Ze.getMax(t,r),s=Ze.getMin(e,n),l=Ze.getMax(e,n);this.updateVal(rt.data,"startx",i,Math.min),this.updateVal(rt.data,"starty",s,Math.min),this.updateVal(rt.data,"stopx",a,Math.max),this.updateVal(rt.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),newActivation:o(function(t,e,r){let n=r.get(t.from),i=WS(t.from).length||0,a=n.x+n.width/2+(i-1)*Ne.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+Ne.activationWidth,stopy:void 0,actor:t.from,anchored:di.anchorElement(e)})},"newActivation"),endActivation:o(function(t){let e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:t.message,wrap:t.wrap,width:t.width,height:0,fill:e}},"createLoop"),newLoop:o(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:o(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:o(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:o(function(t){let e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:rt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:o(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:o(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=Ze.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return{bounds:this.data,models:this.models}},"getBounds")},nHe=o(async function(t,e){rt.bumpVerticalPos(Ne.boxMargin),e.height=Ne.boxMargin,e.starty=rt.getVerticalPos();let r=Sl();r.x=e.startx,r.y=e.starty,r.width=e.width||Ne.width,r.class="note";let n=t.append("g"),i=di.drawRect(n,r),a=Zv();a.x=e.startx,a.y=e.starty,a.width=r.width,a.dy="1em",a.text=e.message,a.class="noteText",a.fontFamily=Ne.noteFontFamily,a.fontSize=Ne.noteFontSize,a.fontWeight=Ne.noteFontWeight,a.anchor=Ne.noteAlign,a.textMargin=Ne.noteMargin,a.valign="center";let s=gi(a.text)?await Nb(n,a):Ip(n,a),l=Math.round(s.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,h)=>u+h));i.attr("height",l+2*Ne.noteMargin),e.height+=l+2*Ne.noteMargin,rt.bumpVerticalPos(l+2*Ne.noteMargin),e.stopy=e.starty+l+2*Ne.noteMargin,e.stopx=e.startx+r.width,rt.insert(e.startx,e.starty,e.stopx,e.stopy),rt.models.addNote(e)},"drawNote"),Op=o(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),L1=o(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),gP=o(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");o(iHe,"boundMessage");aHe=o(async function(t,e,r,n){let{startx:i,stopx:a,starty:s,message:l,type:u,sequenceIndex:h,sequenceVisible:f}=e,d=Vt.calculateTextDimensions(l,Op(Ne)),p=Zv();p.x=i,p.y=s+10,p.width=a-i,p.class="messageText",p.dy="1em",p.text=l,p.fontFamily=Ne.messageFontFamily,p.fontSize=Ne.messageFontSize,p.fontWeight=Ne.messageFontWeight,p.anchor=Ne.messageAlign,p.valign="center",p.textMargin=Ne.wrapPadding,p.tspan=!1,gi(p.text)?await Nb(t,p,{startx:i,stopx:a,starty:r}):Ip(t,p);let m=d.width,g;i===a?Ne.rightAngles?g=t.append("path").attr("d",`M ${i},${r} H ${i+Ze.getMax(Ne.width/2,m/2)} V ${r+25} H ${i}`):g=t.append("path").attr("d","M "+i+","+r+" C "+(i+60)+","+(r-10)+" "+(i+60)+","+(r+30)+" "+i+","+(r+20)):(g=t.append("line"),g.attr("x1",i),g.attr("y1",r),g.attr("x2",a),g.attr("y2",r)),u===n.db.LINETYPE.DOTTED||u===n.db.LINETYPE.DOTTED_CROSS||u===n.db.LINETYPE.DOTTED_POINT||u===n.db.LINETYPE.DOTTED_OPEN||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED?(g.style("stroke-dasharray","3, 3"),g.attr("class","messageLine1")):g.attr("class","messageLine0");let y="";Ne.arrowMarkerAbsolute&&(y=fu(!0)),g.attr("stroke-width",2),g.attr("stroke","none"),g.style("fill","none"),(u===n.db.LINETYPE.SOLID||u===n.db.LINETYPE.DOTTED)&&g.attr("marker-end","url("+y+"#arrowhead)"),(u===n.db.LINETYPE.BIDIRECTIONAL_SOLID||u===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(g.attr("marker-start","url("+y+"#arrowhead)"),g.attr("marker-end","url("+y+"#arrowhead)")),(u===n.db.LINETYPE.SOLID_POINT||u===n.db.LINETYPE.DOTTED_POINT)&&g.attr("marker-end","url("+y+"#filled-head)"),(u===n.db.LINETYPE.SOLID_CROSS||u===n.db.LINETYPE.DOTTED_CROSS)&&g.attr("marker-end","url("+y+"#crosshead)"),(f||Ne.showSequenceNumbers)&&(g.attr("marker-start","url("+y+"#sequencenumber)"),t.append("text").attr("x",i).attr("y",r+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(h))},"drawMessage"),sHe=o(function(t,e,r,n,i,a,s){let l=0,u=0,h,f=0;for(let d of n){let p=e.get(d),m=p.box;h&&h!=m&&(s||rt.models.addBox(h),u+=Ne.boxMargin+h.margin),m&&m!=h&&(s||(m.x=l+u,m.y=i),u+=m.margin),p.width=p.width||Ne.width,p.height=Ze.getMax(p.height||Ne.height,Ne.height),p.margin=p.margin||Ne.actorMargin,f=Ze.getMax(f,p.height),r.get(p.name)&&(u+=p.width/2),p.x=l+u,p.starty=rt.getVerticalPos(),rt.insert(p.x,i,p.x+p.width,p.height),l+=p.width+u,p.box&&(p.box.width=l+m.margin-p.box.x),u=p.margin,h=p.box,rt.models.addActor(p)}h&&!s&&rt.models.addBox(h),rt.bumpVerticalPos(f)},"addActorRenderingData"),yP=o(async function(t,e,r,n){if(n){let i=0;rt.bumpVerticalPos(Ne.boxMargin*2);for(let a of r){let s=e.get(a);s.stopy||(s.stopy=rt.getVerticalPos());let l=await di.drawActor(t,s,Ne,!0);i=Ze.getMax(i,l)}rt.bumpVerticalPos(i+Ne.boxMargin)}else for(let i of r){let a=e.get(i);await di.drawActor(t,a,Ne,!1)}},"drawActors"),zde=o(function(t,e,r,n){let i=0,a=0;for(let s of r){let l=e.get(s),u=uHe(l),h=di.drawPopup(t,l,u,Ne,Ne.forceMenus,n);h.height>i&&(i=h.height),h.width+l.x>a&&(a=h.width+l.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),Gde=o(function(t){Gn(Ne,t),t.fontFamily&&(Ne.actorFontFamily=Ne.noteFontFamily=Ne.messageFontFamily=t.fontFamily),t.fontSize&&(Ne.actorFontSize=Ne.noteFontSize=Ne.messageFontSize=t.fontSize),t.fontWeight&&(Ne.actorFontWeight=Ne.noteFontWeight=Ne.messageFontWeight=t.fontWeight)},"setConf"),WS=o(function(t){return rt.activations.filter(function(e){return e.actor===t})},"actorActivations"),$de=o(function(t,e){let r=e.get(t),n=WS(t),i=n.reduce(function(s,l){return Ze.getMin(s,l.startx)},r.x+r.width/2-1),a=n.reduce(function(s,l){return Ze.getMax(s,l.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");o(qc,"adjustLoopHeightForWrap");o(oHe,"adjustCreatedDestroyedData");lHe=o(async function(t,e,r,n){let{securityLevel:i,sequence:a}=ge();Ne=a;let s;i==="sandbox"&&(s=Ge("#i"+e));let l=i==="sandbox"?Ge(s.nodes()[0].contentDocument.body):Ge("body"),u=i==="sandbox"?s.nodes()[0].contentDocument:document;rt.init(),X.debug(n.db);let h=i==="sandbox"?l.select(`[id="${e}"]`):Ge(`[id="${e}"]`),f=n.db.getActors(),d=n.db.getCreatedActors(),p=n.db.getDestroyedActors(),m=n.db.getBoxes(),g=n.db.getActorKeys(),y=n.db.getMessages(),v=n.db.getDiagramTitle(),x=n.db.hasAtLeastOneBox(),b=n.db.hasAtLeastOneBoxWithTitle(),T=await cHe(f,y,n);if(Ne.height=await hHe(f,T,m),di.insertComputerIcon(h),di.insertDatabaseIcon(h),di.insertClockIcon(h),x&&(rt.bumpVerticalPos(Ne.boxMargin),b&&rt.bumpVerticalPos(m[0].textMaxHeight)),Ne.hideUnusedParticipants===!0){let B=new Set;y.forEach(F=>{B.add(F.from),B.add(F.to)}),g=g.filter(F=>B.has(F))}sHe(h,f,d,g,0,y,!1);let C=await pHe(y,f,T,n);di.insertArrowHead(h),di.insertArrowCrossHead(h),di.insertArrowFilledHead(h),di.insertSequenceNumber(h);function w(B,F){let z=rt.endActivation(B);z.starty+18>F&&(z.starty=F-6,F+=12),di.drawActivation(h,z,F,Ne,WS(B.from).length),rt.insert(z.startx,F-10,z.stopx,F)}o(w,"activeEnd");let E=1,_=1,A=[],D=[],O=0;for(let B of y){let F,z,$;switch(B.type){case n.db.LINETYPE.NOTE:rt.resetVerticalPos(),z=B.noteModel,await nHe(h,z);break;case n.db.LINETYPE.ACTIVE_START:rt.newActivation(B,h,f);break;case n.db.LINETYPE.ACTIVE_END:w(B,rt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:qc(C,B,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,U=>rt.newLoop(U));break;case n.db.LINETYPE.LOOP_END:F=rt.endLoop(),await di.drawLoop(h,F,"loop",Ne),rt.bumpVerticalPos(F.stopy-rt.getVerticalPos()),rt.models.addLoop(F);break;case n.db.LINETYPE.RECT_START:qc(C,B,Ne.boxMargin,Ne.boxMargin,U=>rt.newLoop(void 0,U.message));break;case n.db.LINETYPE.RECT_END:F=rt.endLoop(),D.push(F),rt.models.addLoop(F),rt.bumpVerticalPos(F.stopy-rt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:qc(C,B,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,U=>rt.newLoop(U));break;case n.db.LINETYPE.OPT_END:F=rt.endLoop(),await di.drawLoop(h,F,"opt",Ne),rt.bumpVerticalPos(F.stopy-rt.getVerticalPos()),rt.models.addLoop(F);break;case n.db.LINETYPE.ALT_START:qc(C,B,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,U=>rt.newLoop(U));break;case n.db.LINETYPE.ALT_ELSE:qc(C,B,Ne.boxMargin+Ne.boxTextMargin,Ne.boxMargin,U=>rt.addSectionToLoop(U));break;case n.db.LINETYPE.ALT_END:F=rt.endLoop(),await di.drawLoop(h,F,"alt",Ne),rt.bumpVerticalPos(F.stopy-rt.getVerticalPos()),rt.models.addLoop(F);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:qc(C,B,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,U=>rt.newLoop(U)),rt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:qc(C,B,Ne.boxMargin+Ne.boxTextMargin,Ne.boxMargin,U=>rt.addSectionToLoop(U));break;case n.db.LINETYPE.PAR_END:F=rt.endLoop(),await di.drawLoop(h,F,"par",Ne),rt.bumpVerticalPos(F.stopy-rt.getVerticalPos()),rt.models.addLoop(F);break;case n.db.LINETYPE.AUTONUMBER:E=B.message.start||E,_=B.message.step||_,B.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:qc(C,B,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,U=>rt.newLoop(U));break;case n.db.LINETYPE.CRITICAL_OPTION:qc(C,B,Ne.boxMargin+Ne.boxTextMargin,Ne.boxMargin,U=>rt.addSectionToLoop(U));break;case n.db.LINETYPE.CRITICAL_END:F=rt.endLoop(),await di.drawLoop(h,F,"critical",Ne),rt.bumpVerticalPos(F.stopy-rt.getVerticalPos()),rt.models.addLoop(F);break;case n.db.LINETYPE.BREAK_START:qc(C,B,Ne.boxMargin,Ne.boxMargin+Ne.boxTextMargin,U=>rt.newLoop(U));break;case n.db.LINETYPE.BREAK_END:F=rt.endLoop(),await di.drawLoop(h,F,"break",Ne),rt.bumpVerticalPos(F.stopy-rt.getVerticalPos()),rt.models.addLoop(F);break;default:try{$=B.msgModel,$.starty=rt.getVerticalPos(),$.sequenceIndex=E,$.sequenceVisible=n.db.showSequenceNumbers();let U=await iHe(h,$);oHe(B,$,U,O,f,d,p),A.push({messageModel:$,lineStartY:U}),rt.models.addMessage($)}catch(U){X.error("error while drawing message",U)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(B.type)&&(E=E+_),O++}X.debug("createdActors",d),X.debug("destroyedActors",p),await yP(h,f,g,!1);for(let B of A)await aHe(h,B.messageModel,B.lineStartY,n);Ne.mirrorActors&&await yP(h,f,g,!0),D.forEach(B=>di.drawBackgroundRect(h,B)),pP(h,f,g,Ne);for(let B of rt.models.boxes)B.height=rt.getVerticalPos()-B.y,rt.insert(B.x,B.y,B.x+B.width,B.height),B.startx=B.x,B.starty=B.y,B.stopx=B.startx+B.width,B.stopy=B.starty+B.height,B.stroke="rgb(0,0,0, 0.5)",di.drawBox(h,B,Ne);x&&rt.bumpVerticalPos(Ne.boxMargin);let R=zde(h,f,g,u),{bounds:k}=rt.getBounds();k.startx===void 0&&(k.startx=0),k.starty===void 0&&(k.starty=0),k.stopx===void 0&&(k.stopx=0),k.stopy===void 0&&(k.stopy=0);let L=k.stopy-k.starty;L2,d=o(y=>l?-y:y,"adjustValue");t.from===t.to?h=u:(t.activate&&!f&&(h+=d(Ne.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN].includes(t.type)||(h+=d(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type)&&(u-=d(3)));let p=[n,i,a,s],m=Math.abs(u-h);t.wrap&&t.message&&(t.message=Vt.wrapLabel(t.message,Ze.getMax(m+2*Ne.wrapPadding,Ne.width),Op(Ne)));let g=Vt.calculateTextDimensions(t.message,Op(Ne));return{width:Ze.getMax(t.wrap?0:g.width+2*Ne.wrapPadding,m+2*Ne.wrapPadding,Ne.width),height:0,startx:u,stopx:h,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),pHe=o(async function(t,e,r,n){let i={},a=[],s,l,u;for(let h of t){switch(h.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:h.id,msg:h.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:h.message&&(s=a.pop(),i[s.id]=s,i[h.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{let d=e.get(h.from?h.from:h.to.actor),p=WS(h.from?h.from:h.to.actor).length,m=d.x+d.width/2+(p-1)*Ne.activationWidth/2,g={startx:m,stopx:m+Ne.activationWidth,actor:h.from,enabled:!0};rt.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{let d=rt.activations.map(p=>p.actor).lastIndexOf(h.from);rt.activations.splice(d,1).splice(0,1)}break}h.placement!==void 0?(l=await fHe(h,e,n),h.noteModel=l,a.forEach(d=>{s=d,s.from=Ze.getMin(s.from,l.startx),s.to=Ze.getMax(s.to,l.startx+l.width),s.width=Ze.getMax(s.width,Math.abs(s.from-s.to))-Ne.labelBoxWidth})):(u=dHe(h,e,n),h.msgModel=u,u.startx&&u.stopx&&a.length>0&&a.forEach(d=>{if(s=d,u.startx===u.stopx){let p=e.get(h.from),m=e.get(h.to);s.from=Ze.getMin(p.x-u.width/2,p.x-p.width/2,s.from),s.to=Ze.getMax(m.x+u.width/2,m.x+p.width/2,s.to),s.width=Ze.getMax(s.width,Math.abs(s.to-s.from))-Ne.labelBoxWidth}else s.from=Ze.getMin(u.startx,s.from),s.to=Ze.getMax(u.stopx,s.to),s.width=Ze.getMax(s.width,u.width)-Ne.labelBoxWidth}))}return rt.activations=[],X.debug("Loop type widths:",i),i},"calculateLoopBounds"),Vde={bounds:rt,drawActors:yP,drawActorsPopup:zde,setConf:Gde,draw:lHe}});var Hde={};hr(Hde,{diagram:()=>mHe});var mHe,Wde=N(()=>{"use strict";_de();Dde();Rde();qt();Ude();mHe={parser:Ade,get db(){return new HS},renderer:Vde,styles:Lde,init:o(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,ev({sequence:{wrap:t.wrap}}))},"init")}});var vP,qS,xP=N(()=>{"use strict";vP=function(){var t=o(function(Ie,xe,q,de){for(q=q||{},de=Ie.length;de--;q[Ie[de]]=xe);return q},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,42],s=[1,26],l=[1,24],u=[1,25],h=[1,32],f=[1,33],d=[1,34],p=[1,45],m=[1,35],g=[1,36],y=[1,37],v=[1,38],x=[1,27],b=[1,28],T=[1,29],C=[1,30],w=[1,31],E=[1,44],_=[1,46],A=[1,43],D=[1,47],O=[1,9],R=[1,8,9],k=[1,58],L=[1,59],S=[1,60],I=[1,61],M=[1,62],P=[1,63],B=[1,64],F=[1,8,9,41],z=[1,76],$=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],U=[1,8,9,12,13,18,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],K=[13,58,84,99,101,102],ee=[13,58,71,72,84,99,101,102],Y=[13,58,66,67,68,69,70,84,99,101,102],ce=[1,99],Z=[1,116],ue=[1,108],Q=[1,114],j=[1,109],ne=[1,110],te=[1,111],he=[1,112],le=[1,113],J=[1,115],Se=[22,58,59,80,84,85,86,87,88,89],se=[1,8,9,39,41,44],ae=[1,8,9,22],Oe=[1,144],ye=[1,8,9,59],Be=[1,8,9,22,58,59,80,84,85,86,87,88,89],He={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[17,1],[53,1]],performAction:o(function(xe,q,de,ie,oe,V,Te){var W=V.length-1;switch(oe){case 8:this.$=V[W-1];break;case 9:case 10:case 13:case 15:this.$=V[W];break;case 11:case 14:this.$=V[W-2]+"."+V[W];break;case 12:case 16:this.$=V[W-1]+V[W];break;case 17:case 18:this.$=V[W-1]+"~"+V[W]+"~";break;case 19:ie.addRelation(V[W]);break;case 20:V[W-1].title=ie.cleanupLabel(V[W]),ie.addRelation(V[W-1]);break;case 31:this.$=V[W].trim(),ie.setAccTitle(this.$);break;case 32:case 33:this.$=V[W].trim(),ie.setAccDescription(this.$);break;case 34:ie.addClassesToNamespace(V[W-3],V[W-1]);break;case 35:ie.addClassesToNamespace(V[W-4],V[W-1]);break;case 36:this.$=V[W],ie.addNamespace(V[W]);break;case 37:this.$=[V[W]];break;case 38:this.$=[V[W-1]];break;case 39:V[W].unshift(V[W-2]),this.$=V[W];break;case 41:ie.setCssClass(V[W-2],V[W]);break;case 42:ie.addMembers(V[W-3],V[W-1]);break;case 43:ie.setCssClass(V[W-5],V[W-3]),ie.addMembers(V[W-5],V[W-1]);break;case 44:this.$=V[W],ie.addClass(V[W]);break;case 45:this.$=V[W-1],ie.addClass(V[W-1]),ie.setClassLabel(V[W-1],V[W]);break;case 46:ie.addAnnotation(V[W],V[W-2]);break;case 47:case 60:this.$=[V[W]];break;case 48:V[W].push(V[W-1]),this.$=V[W];break;case 49:break;case 50:ie.addMember(V[W-1],ie.cleanupLabel(V[W]));break;case 51:break;case 52:break;case 53:this.$={id1:V[W-2],id2:V[W],relation:V[W-1],relationTitle1:"none",relationTitle2:"none"};break;case 54:this.$={id1:V[W-3],id2:V[W],relation:V[W-1],relationTitle1:V[W-2],relationTitle2:"none"};break;case 55:this.$={id1:V[W-3],id2:V[W],relation:V[W-2],relationTitle1:"none",relationTitle2:V[W-1]};break;case 56:this.$={id1:V[W-4],id2:V[W],relation:V[W-2],relationTitle1:V[W-3],relationTitle2:V[W-1]};break;case 57:ie.addNote(V[W],V[W-1]);break;case 58:ie.addNote(V[W]);break;case 59:this.$=V[W-2],ie.defineClass(V[W-1],V[W]);break;case 61:this.$=V[W-2].concat([V[W]]);break;case 62:ie.setDirection("TB");break;case 63:ie.setDirection("BT");break;case 64:ie.setDirection("RL");break;case 65:ie.setDirection("LR");break;case 66:this.$={type1:V[W-2],type2:V[W],lineType:V[W-1]};break;case 67:this.$={type1:"none",type2:V[W],lineType:V[W-1]};break;case 68:this.$={type1:V[W-1],type2:"none",lineType:V[W]};break;case 69:this.$={type1:"none",type2:"none",lineType:V[W]};break;case 70:this.$=ie.relationType.AGGREGATION;break;case 71:this.$=ie.relationType.EXTENSION;break;case 72:this.$=ie.relationType.COMPOSITION;break;case 73:this.$=ie.relationType.DEPENDENCY;break;case 74:this.$=ie.relationType.LOLLIPOP;break;case 75:this.$=ie.lineType.LINE;break;case 76:this.$=ie.lineType.DOTTED_LINE;break;case 77:case 83:this.$=V[W-2],ie.setClickEvent(V[W-1],V[W]);break;case 78:case 84:this.$=V[W-3],ie.setClickEvent(V[W-2],V[W-1]),ie.setTooltip(V[W-2],V[W]);break;case 79:this.$=V[W-2],ie.setLink(V[W-1],V[W]);break;case 80:this.$=V[W-3],ie.setLink(V[W-2],V[W-1],V[W]);break;case 81:this.$=V[W-3],ie.setLink(V[W-2],V[W-1]),ie.setTooltip(V[W-2],V[W]);break;case 82:this.$=V[W-4],ie.setLink(V[W-3],V[W-2],V[W]),ie.setTooltip(V[W-3],V[W-1]);break;case 85:this.$=V[W-3],ie.setClickEvent(V[W-2],V[W-1],V[W]);break;case 86:this.$=V[W-4],ie.setClickEvent(V[W-3],V[W-2],V[W-1]),ie.setTooltip(V[W-3],V[W]);break;case 87:this.$=V[W-3],ie.setLink(V[W-2],V[W]);break;case 88:this.$=V[W-4],ie.setLink(V[W-3],V[W-1],V[W]);break;case 89:this.$=V[W-4],ie.setLink(V[W-3],V[W-1]),ie.setTooltip(V[W-3],V[W]);break;case 90:this.$=V[W-5],ie.setLink(V[W-4],V[W-2],V[W]),ie.setTooltip(V[W-4],V[W-1]);break;case 91:this.$=V[W-2],ie.setCssStyle(V[W-1],V[W]);break;case 92:ie.setCssClass(V[W-1],V[W]);break;case 93:this.$=[V[W]];break;case 94:V[W-2].push(V[W]),this.$=V[W-2];break;case 96:this.$=V[W-1]+V[W];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,47:s,49:l,50:u,52:h,54:f,55:d,58:p,60:m,61:g,62:y,63:v,73:x,74:b,76:T,80:C,81:w,84:E,99:_,101:A,102:D},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(O,[2,5],{8:[1,48]}),{8:[1,49]},t(R,[2,19],{22:[1,50]}),t(R,[2,21]),t(R,[2,22]),t(R,[2,23]),t(R,[2,24]),t(R,[2,25]),t(R,[2,26]),t(R,[2,27]),t(R,[2,28]),t(R,[2,29]),t(R,[2,30]),{34:[1,51]},{36:[1,52]},t(R,[2,33]),t(R,[2,49],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:k,67:L,68:S,69:I,70:M,71:P,72:B}),{39:[1,65]},t(F,[2,40],{39:[1,67],44:[1,66]}),t(R,[2,51]),t(R,[2,52]),{16:68,58:p,84:E,99:_,101:A},{16:39,17:40,19:69,58:p,84:E,99:_,101:A,102:D},{16:39,17:40,19:70,58:p,84:E,99:_,101:A,102:D},{16:39,17:40,19:71,58:p,84:E,99:_,101:A,102:D},{58:[1,72]},{13:[1,73]},{16:39,17:40,19:74,58:p,84:E,99:_,101:A,102:D},{13:z,53:75},{56:77,58:[1,78]},t(R,[2,62]),t(R,[2,63]),t(R,[2,64]),t(R,[2,65]),t($,[2,13],{16:39,17:40,19:80,18:[1,79],20:[1,81],58:p,84:E,99:_,101:A,102:D}),t($,[2,15],{20:[1,82]}),{15:83,16:84,17:85,58:p,84:E,99:_,101:A,102:D},{16:39,17:40,19:86,58:p,84:E,99:_,101:A,102:D},t(U,[2,119]),t(U,[2,120]),t(U,[2,121]),t(U,[2,122]),t([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,123]),t(O,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:87,33:e,35:r,37:n,42:i,46:a,47:s,49:l,50:u,52:h,54:f,55:d,58:p,60:m,61:g,62:y,63:v,73:x,74:b,76:T,80:C,81:w,84:E,99:_,101:A,102:D}),{5:88,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,47:s,49:l,50:u,52:h,54:f,55:d,58:p,60:m,61:g,62:y,63:v,73:x,74:b,76:T,80:C,81:w,84:E,99:_,101:A,102:D},t(R,[2,20]),t(R,[2,31]),t(R,[2,32]),{13:[1,90],16:39,17:40,19:89,58:p,84:E,99:_,101:A,102:D},{51:91,64:56,65:57,66:k,67:L,68:S,69:I,70:M,71:P,72:B},t(R,[2,50]),{65:92,71:P,72:B},t(K,[2,69],{64:93,66:k,67:L,68:S,69:I,70:M}),t(ee,[2,70]),t(ee,[2,71]),t(ee,[2,72]),t(ee,[2,73]),t(ee,[2,74]),t(Y,[2,75]),t(Y,[2,76]),{8:[1,95],24:96,40:94,43:23,46:a},{16:97,58:p,84:E,99:_,101:A},{45:98,49:ce},{48:[1,100]},{13:[1,101]},{13:[1,102]},{77:[1,103],79:[1,104]},{22:Z,57:105,58:ue,80:Q,82:106,83:107,84:j,85:ne,86:te,87:he,88:le,89:J},{58:[1,117]},{13:z,53:118},t(R,[2,58]),t(R,[2,124]),{22:Z,57:119,58:ue,59:[1,120],80:Q,82:106,83:107,84:j,85:ne,86:te,87:he,88:le,89:J},t(Se,[2,60]),{16:39,17:40,19:121,58:p,84:E,99:_,101:A,102:D},t($,[2,16]),t($,[2,17]),t($,[2,18]),{39:[2,36]},{15:123,16:84,17:85,18:[1,122],39:[2,9],58:p,84:E,99:_,101:A,102:D},{39:[2,10]},t(se,[2,44],{11:124,12:[1,125]}),t(O,[2,7]),{9:[1,126]},t(ae,[2,53]),{16:39,17:40,19:127,58:p,84:E,99:_,101:A,102:D},{13:[1,129],16:39,17:40,19:128,58:p,84:E,99:_,101:A,102:D},t(K,[2,68],{64:130,66:k,67:L,68:S,69:I,70:M}),t(K,[2,67]),{41:[1,131]},{24:96,40:132,43:23,46:a},{8:[1,133],41:[2,37]},t(F,[2,41],{39:[1,134]}),{41:[1,135]},{41:[2,47],45:136,49:ce},{16:39,17:40,19:137,58:p,84:E,99:_,101:A,102:D},t(R,[2,77],{13:[1,138]}),t(R,[2,79],{13:[1,140],75:[1,139]}),t(R,[2,83],{13:[1,141],78:[1,142]}),{13:[1,143]},t(R,[2,91],{59:Oe}),t(ye,[2,93],{83:145,22:Z,58:ue,80:Q,84:j,85:ne,86:te,87:he,88:le,89:J}),t(Be,[2,95]),t(Be,[2,97]),t(Be,[2,98]),t(Be,[2,99]),t(Be,[2,100]),t(Be,[2,101]),t(Be,[2,102]),t(Be,[2,103]),t(Be,[2,104]),t(Be,[2,105]),t(R,[2,92]),t(R,[2,57]),t(R,[2,59],{59:Oe}),{58:[1,146]},t($,[2,14]),{15:147,16:84,17:85,58:p,84:E,99:_,101:A,102:D},{39:[2,12]},t(se,[2,45]),{13:[1,148]},{1:[2,4]},t(ae,[2,55]),t(ae,[2,54]),{16:39,17:40,19:149,58:p,84:E,99:_,101:A,102:D},t(K,[2,66]),t(R,[2,34]),{41:[1,150]},{24:96,40:151,41:[2,38],43:23,46:a},{45:152,49:ce},t(F,[2,42]),{41:[2,48]},t(R,[2,46]),t(R,[2,78]),t(R,[2,80]),t(R,[2,81],{75:[1,153]}),t(R,[2,84]),t(R,[2,85],{13:[1,154]}),t(R,[2,87],{13:[1,156],75:[1,155]}),{22:Z,58:ue,80:Q,82:157,83:107,84:j,85:ne,86:te,87:he,88:le,89:J},t(Be,[2,96]),t(Se,[2,61]),{39:[2,11]},{14:[1,158]},t(ae,[2,56]),t(R,[2,35]),{41:[2,39]},{41:[1,159]},t(R,[2,82]),t(R,[2,86]),t(R,[2,88]),t(R,[2,89],{75:[1,160]}),t(ye,[2,94],{83:145,22:Z,58:ue,80:Q,84:j,85:ne,86:te,87:he,88:le,89:J}),t(se,[2,8]),t(F,[2,43]),t(R,[2,90])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,36],85:[2,10],123:[2,12],126:[2,4],136:[2,48],147:[2,11],151:[2,39]},parseError:o(function(xe,q){if(q.recoverable)this.trace(xe);else{var de=new Error(xe);throw de.hash=q,de}},"parseError"),parse:o(function(xe){var q=this,de=[0],ie=[],oe=[null],V=[],Te=this.table,W="",pe=0,ve=0,Pe=0,_e=2,be=1,Ve=V.slice.call(arguments,1),De=Object.create(this.lexer),Ye={yy:{}};for(var at in this.yy)Object.prototype.hasOwnProperty.call(this.yy,at)&&(Ye.yy[at]=this.yy[at]);De.setInput(xe,Ye.yy),Ye.yy.lexer=De,Ye.yy.parser=this,typeof De.yylloc>"u"&&(De.yylloc={});var Rt=De.yylloc;V.push(Rt);var st=De.options&&De.options.ranges;typeof Ye.yy.parseError=="function"?this.parseError=Ye.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ue(kt){de.length=de.length-2*kt,oe.length=oe.length-kt,V.length=V.length-kt}o(Ue,"popStack");function ut(){var kt;return kt=ie.pop()||De.lex()||be,typeof kt!="number"&&(kt instanceof Array&&(ie=kt,kt=ie.pop()),kt=q.symbols_[kt]||kt),kt}o(ut,"lex");for(var We,lt,Xt,Tt,Mt,bt,ht={},St,ft,vt,nt;;){if(Xt=de[de.length-1],this.defaultActions[Xt]?Tt=this.defaultActions[Xt]:((We===null||typeof We>"u")&&(We=ut()),Tt=Te[Xt]&&Te[Xt][We]),typeof Tt>"u"||!Tt.length||!Tt[0]){var dn="";nt=[];for(St in Te[Xt])this.terminals_[St]&&St>_e&&nt.push("'"+this.terminals_[St]+"'");De.showPosition?dn="Parse error on line "+(pe+1)+`: +`+De.showPosition()+` +Expecting `+nt.join(", ")+", got '"+(this.terminals_[We]||We)+"'":dn="Parse error on line "+(pe+1)+": Unexpected "+(We==be?"end of input":"'"+(this.terminals_[We]||We)+"'"),this.parseError(dn,{text:De.match,token:this.terminals_[We]||We,line:De.yylineno,loc:Rt,expected:nt})}if(Tt[0]instanceof Array&&Tt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Xt+", token: "+We);switch(Tt[0]){case 1:de.push(We),oe.push(De.yytext),V.push(De.yylloc),de.push(Tt[1]),We=null,lt?(We=lt,lt=null):(ve=De.yyleng,W=De.yytext,pe=De.yylineno,Rt=De.yylloc,Pe>0&&Pe--);break;case 2:if(ft=this.productions_[Tt[1]][1],ht.$=oe[oe.length-ft],ht._$={first_line:V[V.length-(ft||1)].first_line,last_line:V[V.length-1].last_line,first_column:V[V.length-(ft||1)].first_column,last_column:V[V.length-1].last_column},st&&(ht._$.range=[V[V.length-(ft||1)].range[0],V[V.length-1].range[1]]),bt=this.performAction.apply(ht,[W,ve,pe,Ye.yy,Tt[1],oe,V].concat(Ve)),typeof bt<"u")return bt;ft&&(de=de.slice(0,-1*ft*2),oe=oe.slice(0,-1*ft),V=V.slice(0,-1*ft)),de.push(this.productions_[Tt[1]][0]),oe.push(ht.$),V.push(ht._$),vt=Te[de[de.length-2]][de[de.length-1]],de.push(vt);break;case 3:return!0}}return!0},"parse")},ze=function(){var Ie={EOF:1,parseError:o(function(q,de){if(this.yy.parser)this.yy.parser.parseError(q,de);else throw new Error(q)},"parseError"),setInput:o(function(xe,q){return this.yy=q||this.yy||{},this._input=xe,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var xe=this._input[0];this.yytext+=xe,this.yyleng++,this.offset++,this.match+=xe,this.matched+=xe;var q=xe.match(/(?:\r\n?|\n).*/g);return q?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),xe},"input"),unput:o(function(xe){var q=xe.length,de=xe.split(/(?:\r\n?|\n)/g);this._input=xe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-q),this.offset-=q;var ie=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),de.length-1&&(this.yylineno-=de.length-1);var oe=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:de?(de.length===ie.length?this.yylloc.first_column:0)+ie[ie.length-de.length].length-de[0].length:this.yylloc.first_column-q},this.options.ranges&&(this.yylloc.range=[oe[0],oe[0]+this.yyleng-q]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(xe){this.unput(this.match.slice(xe))},"less"),pastInput:o(function(){var xe=this.matched.substr(0,this.matched.length-this.match.length);return(xe.length>20?"...":"")+xe.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var xe=this.match;return xe.length<20&&(xe+=this._input.substr(0,20-xe.length)),(xe.substr(0,20)+(xe.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var xe=this.pastInput(),q=new Array(xe.length+1).join("-");return xe+this.upcomingInput()+` +`+q+"^"},"showPosition"),test_match:o(function(xe,q){var de,ie,oe;if(this.options.backtrack_lexer&&(oe={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(oe.yylloc.range=this.yylloc.range.slice(0))),ie=xe[0].match(/(?:\r\n?|\n).*/g),ie&&(this.yylineno+=ie.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ie?ie[ie.length-1].length-ie[ie.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+xe[0].length},this.yytext+=xe[0],this.match+=xe[0],this.matches=xe,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(xe[0].length),this.matched+=xe[0],de=this.performAction.call(this,this.yy,this,q,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),de)return de;if(this._backtrack){for(var V in oe)this[V]=oe[V];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var xe,q,de,ie;this._more||(this.yytext="",this.match="");for(var oe=this._currentRules(),V=0;Vq[0].length)){if(q=de,ie=V,this.options.backtrack_lexer){if(xe=this.test_match(de,oe[V]),xe!==!1)return xe;if(this._backtrack){q=!1;continue}else return!1}else if(!this.options.flex)break}return q?(xe=this.test_match(q,oe[ie]),xe!==!1?xe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var q=this.next();return q||this.lex()},"lex"),begin:o(function(q){this.conditionStack.push(q)},"begin"),popState:o(function(){var q=this.conditionStack.length-1;return q>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(q){return q=this.conditionStack.length-1-Math.abs(q||0),q>=0?this.conditionStack[q]:"INITIAL"},"topState"),pushState:o(function(q){this.begin(q)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(q,de,ie,oe){var V=oe;switch(ie){case 0:return 60;case 1:return 61;case 2:return 62;case 3:return 63;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 77;case 22:this.popState();break;case 23:return 78;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 80;case 28:return 55;case 29:return this.begin("namespace"),42;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:return this.popState(),41;break;case 34:return"EOF_IN_STRUCT";case 35:return 8;case 36:break;case 37:return"EDGE_STATE";case 38:return this.begin("class"),46;break;case 39:return this.popState(),8;break;case 40:break;case 41:return this.popState(),this.popState(),41;break;case 42:return this.begin("class-body"),39;break;case 43:return this.popState(),41;break;case 44:return"EOF_IN_STRUCT";case 45:return"EDGE_STATE";case 46:return"OPEN_IN_STRUCT";case 47:break;case 48:return"MEMBER";case 49:return 81;case 50:return 73;case 51:return 74;case 52:return 76;case 53:return 52;case 54:return 54;case 55:return 47;case 56:return 48;case 57:return 79;case 58:this.popState();break;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 61:this.popState();break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:return 75;case 65:return 75;case 66:return 75;case 67:return 75;case 68:return 67;case 69:return 67;case 70:return 69;case 71:return 69;case 72:return 68;case 73:return 66;case 74:return 70;case 75:return 71;case 76:return 72;case 77:return 22;case 78:return 44;case 79:return 99;case 80:return 18;case 81:return"PLUS";case 82:return 85;case 83:return 59;case 84:return 88;case 85:return 88;case 86:return 89;case 87:return"EQUALS";case 88:return"EQUALS";case 89:return 58;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 84;case 94:return 101;case 95:return 87;case 96:return 87;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};return Ie}();He.lexer=ze;function Le(){this.yy={}}return o(Le,"Parser"),Le.prototype=He,He.Parser=Le,new Le}();vP.parser=vP;qS=vP});var Xde,Mb,jde=N(()=>{"use strict";qt();dr();Xde=["#","+","~","-",""],Mb=class{static{o(this,"ClassMember")}constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let n=ar(e,ge());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+tc(this.id);this.memberType==="method"&&(e+=`(${tc(this.parameters.trim())})`,this.returnType&&(e+=" : "+tc(this.returnType))),e=e.trim();let r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){let a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){let s=a[1]?a[1].trim():"";if(Xde.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){let l=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(l)&&(r=l,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let i=e.length,a=e.substring(0,1),s=e.substring(i-1);Xde.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let n=`${this.visibility?"\\"+this.visibility:""}${tc(this.id)}${this.memberType==="method"?`(${tc(this.parameters)})${this.returnType?" : "+tc(this.returnType):""}`:""}`;this.text=n.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}}});var YS,Kde,Pp,R1,bP=N(()=>{"use strict";pr();yt();qt();dr();nr();ci();jde();YS="classId-",Kde=0,Pp=o(t=>Ze.sanitizeText(t,ge()),"sanitizeText"),R1=class{constructor(){this.relations=[];this.classes=new Map;this.styleClasses=new Map;this.notes=[];this.interfaces=[];this.namespaces=new Map;this.namespaceCounter=0;this.functions=[];this.lineType={LINE:0,DOTTED_LINE:1};this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4};this.setupToolTips=o(e=>{let r=Ge(".mermaidTooltip");(r._groups||r)[0][0]===null&&(r=Ge("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Ge(e).select("svg").selectAll("g.node").on("mouseover",a=>{let s=Ge(a.currentTarget);if(s.attr("title")===null)return;let u=this.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+u.left+(u.right-u.left)/2+"px").style("top",window.scrollY+u.top-14+document.body.scrollTop+"px"),r.html(r.html().replace(/<br\/>/g,"
    ")),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),Ge(a.currentTarget).classed("hover",!1)})},"setupToolTips");this.direction="TB";this.setAccTitle=Cr;this.getAccTitle=_r;this.setAccDescription=Dr;this.getAccDescription=Lr;this.setDiagramTitle=Ir;this.getDiagramTitle=Rr;this.getConfig=o(()=>ge().class,"getConfig");this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{o(this,"ClassDB")}splitClassNameAndType(e){let r=Ze.sanitizeText(e,ge()),n="",i=r;if(r.indexOf("~")>0){let a=r.split("~");i=Pp(a[0]),n=Pp(a[1])}return{className:i,type:n}}setClassLabel(e,r){let n=Ze.sanitizeText(e,ge());r&&(r=Pp(r));let{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){let r=Ze.sanitizeText(e,ge()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;let a=Ze.sanitizeText(n,ge());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`<${i}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:YS+a+"-"+Kde}),Kde++}addInterface(e,r){let n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}lookUpDomId(e){let r=Ze.sanitizeText(e,ge());if(this.classes.has(r))return this.classes.get(r).domId;throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=[],this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.direction="TB",wr()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNotes(){return this.notes}addRelation(e){X.debug("Adding relation: "+JSON.stringify(e));let r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=Ze.sanitizeText(e.relationTitle1.trim(),ge()),e.relationTitle2=Ze.sanitizeText(e.relationTitle2.trim(),ge()),this.relations.push(e)}addAnnotation(e,r){let n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);let n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){let a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(Pp(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new Mb(a,"method")):a&&i.members.push(new Mb(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){let n={id:`note${this.notes.length}`,class:r,text:e};this.notes.push(n)}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),Pp(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=YS+i);let a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(let n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){let s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{r!==void 0&&(this.classes.get(n).tooltip=Pp(r))})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){let i=ge();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=YS+s);let l=this.classes.get(s);l&&(l.link=Vt.formatUrl(r,i),i.securityLevel==="sandbox"?l.linkTarget="_top":typeof n=="string"?l.linkTarget=Pp(n):l.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n),this.classes.get(i).haveCallback=!0}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){let i=Ze.sanitizeText(e,ge());if(ge().securityLevel!=="loose"||r===void 0)return;let s=i;if(this.classes.has(s)){let l=this.lookUpDomId(s),u=[];if(typeof n=="string"){u=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let h=0;h{let h=document.querySelector(`[id="${l}"]`);h!==null&&h.addEventListener("click",()=>{Vt.runFunc(r,...u)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}getDirection(){return this.direction}setDirection(e){this.direction=e}addNamespace(e){this.namespaces.has(e)||(this.namespaces.set(e,{id:e,classes:new Map,children:{},domId:YS+e+"-"+this.namespaceCounter}),this.namespaceCounter++)}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r){if(this.namespaces.has(e))for(let n of r){let{className:i}=this.splitClassNameAndType(n);this.classes.get(i).parent=e,this.namespaces.get(e).classes.set(i,this.classes.get(i))}}setCssStyle(e,r){let n=this.classes.get(e);if(!(!r||!n))for(let i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}getData(){let e=[],r=[],n=ge();for(let a of this.namespaces.keys()){let s=this.namespaces.get(a);if(s){let l={id:s.id,label:s.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:n.look};e.push(l)}}for(let a of this.classes.keys()){let s=this.classes.get(a);if(s){let l=s;l.parentId=s.parent,l.look=n.look,e.push(l)}}let i=0;for(let a of this.notes){i++;let s={id:a.id,label:a.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look};e.push(s);let l=this.classes.get(a.class)?.id??"";if(l){let u={id:`edgeNote${i}`,start:a.id,end:l,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(u)}}for(let a of this.interfaces){let s={id:a.id,label:a.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(s)}i=0;for(let a of this.relations){i++;let s={id:Gh(a.id1,a.id2,{prefix:"id",counter:i}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:a.relationTitle1==="none"?"":a.relationTitle1,endLabelLeft:a.relationTitle2==="none"?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:a.relation.lineType==1?"dashed":"solid",look:n.look};r.push(s)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}}});var xHe,XS,TP=N(()=>{"use strict";Vm();xHe=o(t=>`g.classGroup text { + fill: ${t.nodeBorder||t.classText}; + stroke: none; + font-family: ${t.fontFamily}; + font-size: 10px; + + .title { + font-weight: bolder; + } + +} + +.nodeLabel, .edgeLabel { + color: ${t.classText}; +} +.edgeLabel .label rect { + fill: ${t.mainBkg}; +} +.label text { + fill: ${t.classText}; +} + +.labelBkg { + background: ${t.mainBkg}; +} +.edgeLabel .label span { + background: ${t.mainBkg}; +} + +.classTitle { + font-weight: bolder; +} +.node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + +.divider { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +g.clickable { + cursor: pointer; +} + +g.classGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.classGroup line { + stroke: ${t.nodeBorder}; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.classLabel .label { + fill: ${t.nodeBorder}; + font-size: 10px; +} + +.relation { + stroke: ${t.lineColor}; + stroke-width: 1; + fill: none; +} + +.dashed-line{ + stroke-dasharray: 3; +} + +.dotted-line{ + stroke-dasharray: 1 2; +} + +#compositionStart, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#compositionEnd, .composition { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#dependencyStart, .dependency { + fill: ${t.lineColor} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionStart, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#extensionEnd, .extension { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationStart, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#aggregationEnd, .aggregation { + fill: transparent !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopStart, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +#lollipopEnd, .lollipop { + fill: ${t.mainBkg} !important; + stroke: ${t.lineColor} !important; + stroke-width: 1; +} + +.edgeTerminals { + font-size: 11px; + line-height: initial; +} + +.classTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} + ${Lc()} +`,"getStyles"),XS=xHe});var bHe,THe,wHe,jS,wP=N(()=>{"use strict";qt();yt();xm();Zd();Jd();nr();bHe=o((t,e="TB")=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),THe=o(function(t,e){return e.db.getClasses()},"getClasses"),wHe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing class diagram (v3)",e);let{securityLevel:i,state:a,layout:s}=ge(),l=n.db.getData(),u=bc(e,i);l.type=n.type,l.layoutAlgorithm=sf(s),l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["aggregation","extension","composition","dependency","lollipop"],l.diagramId=e,await Dc(l,u);let h=8;Vt.insertTitle(u,"classDiagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),Wo(u,h,"classDiagram",a?.useMaxWidth??!0)},"draw"),jS={getClasses:THe,draw:wHe,getDir:bHe}});var Qde={};hr(Qde,{diagram:()=>kHe});var kHe,Zde=N(()=>{"use strict";xP();bP();TP();wP();kHe={parser:qS,get db(){return new R1},renderer:jS,styles:XS,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var tpe={};hr(tpe,{diagram:()=>AHe});var AHe,rpe=N(()=>{"use strict";xP();bP();TP();wP();AHe={parser:qS,get db(){return new R1},renderer:jS,styles:XS,init:o(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var kP,KS,EP=N(()=>{"use strict";kP=function(){var t=o(function(F,z,$,U){for($=$||{},U=F.length;U--;$[F[U]]=z);return $},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],l=[1,16],u=[1,17],h=[1,18],f=[1,19],d=[1,33],p=[1,20],m=[1,21],g=[1,22],y=[1,23],v=[1,24],x=[1,26],b=[1,27],T=[1,28],C=[1,29],w=[1,30],E=[1,31],_=[1,32],A=[1,35],D=[1,36],O=[1,37],R=[1,38],k=[1,34],L=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],S=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],I=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],M={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement:13,DESCR:14,"-->":15,HIDE_EMPTY:16,scale:17,WIDTH:18,COMPOSIT_STATE:19,STRUCT_START:20,STRUCT_STOP:21,STATE_DESCR:22,AS:23,ID:24,FORK:25,JOIN:26,CHOICE:27,CONCURRENT:28,note:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:o(function(z,$,U,K,ee,Y,ce){var Z=Y.length-1;switch(ee){case 3:return K.setRootDoc(Y[Z]),Y[Z];break;case 4:this.$=[];break;case 5:Y[Z]!="nl"&&(Y[Z-1].push(Y[Z]),this.$=Y[Z-1]);break;case 6:case 7:this.$=Y[Z];break;case 8:this.$="nl";break;case 12:this.$=Y[Z];break;case 13:let ne=Y[Z-1];ne.description=K.trimColon(Y[Z]),this.$=ne;break;case 14:this.$={stmt:"relation",state1:Y[Z-2],state2:Y[Z]};break;case 15:let te=K.trimColon(Y[Z]);this.$={stmt:"relation",state1:Y[Z-3],state2:Y[Z-1],description:te};break;case 19:this.$={stmt:"state",id:Y[Z-3],type:"default",description:"",doc:Y[Z-1]};break;case 20:var ue=Y[Z],Q=Y[Z-2].trim();if(Y[Z].match(":")){var j=Y[Z].split(":");ue=j[0],Q=[Q,j[1]]}this.$={stmt:"state",id:ue,type:"default",description:Q};break;case 21:this.$={stmt:"state",id:Y[Z-3],type:"default",description:Y[Z-5],doc:Y[Z-1]};break;case 22:this.$={stmt:"state",id:Y[Z],type:"fork"};break;case 23:this.$={stmt:"state",id:Y[Z],type:"join"};break;case 24:this.$={stmt:"state",id:Y[Z],type:"choice"};break;case 25:this.$={stmt:"state",id:K.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:Y[Z-1].trim(),note:{position:Y[Z-2].trim(),text:Y[Z].trim()}};break;case 29:this.$=Y[Z].trim(),K.setAccTitle(this.$);break;case 30:case 31:this.$=Y[Z].trim(),K.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:Y[Z-3],url:Y[Z-2],tooltip:Y[Z-1]};break;case 33:this.$={stmt:"click",id:Y[Z-3],url:Y[Z-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:Y[Z-1].trim(),classes:Y[Z].trim()};break;case 36:this.$={stmt:"style",id:Y[Z-1].trim(),styleClass:Y[Z].trim()};break;case 37:this.$={stmt:"applyClass",id:Y[Z-1].trim(),styleClass:Y[Z].trim()};break;case 38:K.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:K.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:K.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:K.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:Y[Z].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:Y[Z-2].trim(),classes:[Y[Z].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:Y[Z-2].trim(),classes:[Y[Z].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:C,41:w,45:E,48:_,51:A,52:D,53:O,54:R,57:k},t(L,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:l,17:u,19:h,22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:C,41:w,45:E,48:_,51:A,52:D,53:O,54:R,57:k},t(L,[2,7]),t(L,[2,8]),t(L,[2,9]),t(L,[2,10]),t(L,[2,11]),t(L,[2,12],{14:[1,40],15:[1,41]}),t(L,[2,16]),{18:[1,42]},t(L,[2,18],{20:[1,43]}),{23:[1,44]},t(L,[2,22]),t(L,[2,23]),t(L,[2,24]),t(L,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(L,[2,28]),{34:[1,49]},{36:[1,50]},t(L,[2,31]),{13:51,24:d,57:k},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(S,[2,44],{58:[1,56]}),t(S,[2,45],{58:[1,57]}),t(L,[2,38]),t(L,[2,39]),t(L,[2,40]),t(L,[2,41]),t(L,[2,6]),t(L,[2,13]),{13:58,24:d,57:k},t(L,[2,17]),t(I,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(L,[2,29]),t(L,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(L,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,72],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:C,41:w,45:E,48:_,51:A,52:D,53:O,54:R,57:k},t(L,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(L,[2,34]),t(L,[2,35]),t(L,[2,36]),t(L,[2,37]),t(S,[2,46]),t(S,[2,47]),t(L,[2,15]),t(L,[2,19]),t(I,i,{7:78}),t(L,[2,26]),t(L,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:l,17:u,19:h,21:[1,81],22:f,24:d,25:p,26:m,27:g,28:y,29:v,32:25,33:x,35:b,37:T,38:C,41:w,45:E,48:_,51:A,52:D,53:O,54:R,57:k},t(L,[2,32]),t(L,[2,33]),t(L,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:o(function(z,$){if($.recoverable)this.trace(z);else{var U=new Error(z);throw U.hash=$,U}},"parseError"),parse:o(function(z){var $=this,U=[0],K=[],ee=[null],Y=[],ce=this.table,Z="",ue=0,Q=0,j=0,ne=2,te=1,he=Y.slice.call(arguments,1),le=Object.create(this.lexer),J={yy:{}};for(var Se in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Se)&&(J.yy[Se]=this.yy[Se]);le.setInput(z,J.yy),J.yy.lexer=le,J.yy.parser=this,typeof le.yylloc>"u"&&(le.yylloc={});var se=le.yylloc;Y.push(se);var ae=le.options&&le.options.ranges;typeof J.yy.parseError=="function"?this.parseError=J.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Oe(W){U.length=U.length-2*W,ee.length=ee.length-W,Y.length=Y.length-W}o(Oe,"popStack");function ye(){var W;return W=K.pop()||le.lex()||te,typeof W!="number"&&(W instanceof Array&&(K=W,W=K.pop()),W=$.symbols_[W]||W),W}o(ye,"lex");for(var Be,He,ze,Le,Ie,xe,q={},de,ie,oe,V;;){if(ze=U[U.length-1],this.defaultActions[ze]?Le=this.defaultActions[ze]:((Be===null||typeof Be>"u")&&(Be=ye()),Le=ce[ze]&&ce[ze][Be]),typeof Le>"u"||!Le.length||!Le[0]){var Te="";V=[];for(de in ce[ze])this.terminals_[de]&&de>ne&&V.push("'"+this.terminals_[de]+"'");le.showPosition?Te="Parse error on line "+(ue+1)+`: +`+le.showPosition()+` +Expecting `+V.join(", ")+", got '"+(this.terminals_[Be]||Be)+"'":Te="Parse error on line "+(ue+1)+": Unexpected "+(Be==te?"end of input":"'"+(this.terminals_[Be]||Be)+"'"),this.parseError(Te,{text:le.match,token:this.terminals_[Be]||Be,line:le.yylineno,loc:se,expected:V})}if(Le[0]instanceof Array&&Le.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ze+", token: "+Be);switch(Le[0]){case 1:U.push(Be),ee.push(le.yytext),Y.push(le.yylloc),U.push(Le[1]),Be=null,He?(Be=He,He=null):(Q=le.yyleng,Z=le.yytext,ue=le.yylineno,se=le.yylloc,j>0&&j--);break;case 2:if(ie=this.productions_[Le[1]][1],q.$=ee[ee.length-ie],q._$={first_line:Y[Y.length-(ie||1)].first_line,last_line:Y[Y.length-1].last_line,first_column:Y[Y.length-(ie||1)].first_column,last_column:Y[Y.length-1].last_column},ae&&(q._$.range=[Y[Y.length-(ie||1)].range[0],Y[Y.length-1].range[1]]),xe=this.performAction.apply(q,[Z,Q,ue,J.yy,Le[1],ee,Y].concat(he)),typeof xe<"u")return xe;ie&&(U=U.slice(0,-1*ie*2),ee=ee.slice(0,-1*ie),Y=Y.slice(0,-1*ie)),U.push(this.productions_[Le[1]][0]),ee.push(q.$),Y.push(q._$),oe=ce[U[U.length-2]][U[U.length-1]],U.push(oe);break;case 3:return!0}}return!0},"parse")},P=function(){var F={EOF:1,parseError:o(function($,U){if(this.yy.parser)this.yy.parser.parseError($,U);else throw new Error($)},"parseError"),setInput:o(function(z,$){return this.yy=$||this.yy||{},this._input=z,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var z=this._input[0];this.yytext+=z,this.yyleng++,this.offset++,this.match+=z,this.matched+=z;var $=z.match(/(?:\r\n?|\n).*/g);return $?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),z},"input"),unput:o(function(z){var $=z.length,U=z.split(/(?:\r\n?|\n)/g);this._input=z+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-$),this.offset-=$;var K=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),U.length-1&&(this.yylineno-=U.length-1);var ee=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:U?(U.length===K.length?this.yylloc.first_column:0)+K[K.length-U.length].length-U[0].length:this.yylloc.first_column-$},this.options.ranges&&(this.yylloc.range=[ee[0],ee[0]+this.yyleng-$]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(z){this.unput(this.match.slice(z))},"less"),pastInput:o(function(){var z=this.matched.substr(0,this.matched.length-this.match.length);return(z.length>20?"...":"")+z.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var z=this.match;return z.length<20&&(z+=this._input.substr(0,20-z.length)),(z.substr(0,20)+(z.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var z=this.pastInput(),$=new Array(z.length+1).join("-");return z+this.upcomingInput()+` +`+$+"^"},"showPosition"),test_match:o(function(z,$){var U,K,ee;if(this.options.backtrack_lexer&&(ee={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(ee.yylloc.range=this.yylloc.range.slice(0))),K=z[0].match(/(?:\r\n?|\n).*/g),K&&(this.yylineno+=K.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:K?K[K.length-1].length-K[K.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+z[0].length},this.yytext+=z[0],this.match+=z[0],this.matches=z,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(z[0].length),this.matched+=z[0],U=this.performAction.call(this,this.yy,this,$,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),U)return U;if(this._backtrack){for(var Y in ee)this[Y]=ee[Y];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var z,$,U,K;this._more||(this.yytext="",this.match="");for(var ee=this._currentRules(),Y=0;Y$[0].length)){if($=U,K=Y,this.options.backtrack_lexer){if(z=this.test_match(U,ee[Y]),z!==!1)return z;if(this._backtrack){$=!1;continue}else return!1}else if(!this.options.flex)break}return $?(z=this.test_match($,ee[K]),z!==!1?z:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var $=this.next();return $||this.lex()},"lex"),begin:o(function($){this.conditionStack.push($)},"begin"),popState:o(function(){var $=this.conditionStack.length-1;return $>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function($){return $=this.conditionStack.length-1-Math.abs($||0),$>=0?this.conditionStack[$]:"INITIAL"},"topState"),pushState:o(function($){this.begin($)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function($,U,K,ee){var Y=ee;switch(K){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:break;case 9:break;case 10:return 5;case 11:break;case 12:break;case 13:break;case 14:break;case 15:return this.pushState("SCALE"),17;break;case 16:return 18;case 17:this.popState();break;case 18:return this.begin("acc_title"),33;break;case 19:return this.popState(),"acc_title_value";break;case 20:return this.begin("acc_descr"),35;break;case 21:return this.popState(),"acc_descr_value";break;case 22:this.begin("acc_descr_multiline");break;case 23:this.popState();break;case 24:return"acc_descr_multiline_value";case 25:return this.pushState("CLASSDEF"),41;break;case 26:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 27:return this.popState(),this.pushState("CLASSDEFID"),42;break;case 28:return this.popState(),43;break;case 29:return this.pushState("CLASS"),48;break;case 30:return this.popState(),this.pushState("CLASS_STYLE"),49;break;case 31:return this.popState(),50;break;case 32:return this.pushState("STYLE"),45;break;case 33:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;break;case 34:return this.popState(),47;break;case 35:return this.pushState("SCALE"),17;break;case 36:return 18;case 37:this.popState();break;case 38:this.pushState("STATE");break;case 39:return this.popState(),U.yytext=U.yytext.slice(0,-8).trim(),25;break;case 40:return this.popState(),U.yytext=U.yytext.slice(0,-8).trim(),26;break;case 41:return this.popState(),U.yytext=U.yytext.slice(0,-10).trim(),27;break;case 42:return this.popState(),U.yytext=U.yytext.slice(0,-8).trim(),25;break;case 43:return this.popState(),U.yytext=U.yytext.slice(0,-8).trim(),26;break;case 44:return this.popState(),U.yytext=U.yytext.slice(0,-10).trim(),27;break;case 45:return 51;case 46:return 52;case 47:return 53;case 48:return 54;case 49:this.pushState("STATE_STRING");break;case 50:return this.pushState("STATE_ID"),"AS";break;case 51:return this.popState(),"ID";break;case 52:this.popState();break;case 53:return"STATE_DESCR";case 54:return 19;case 55:this.popState();break;case 56:return this.popState(),this.pushState("struct"),20;break;case 57:break;case 58:return this.popState(),21;break;case 59:break;case 60:return this.begin("NOTE"),29;break;case 61:return this.popState(),this.pushState("NOTE_ID"),59;break;case 62:return this.popState(),this.pushState("NOTE_ID"),60;break;case 63:this.popState(),this.pushState("FLOATING_NOTE");break;case 64:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";break;case 65:break;case 66:return"NOTE_TEXT";case 67:return this.popState(),"ID";break;case 68:return this.popState(),this.pushState("NOTE_TEXT"),24;break;case 69:return this.popState(),U.yytext=U.yytext.substr(2).trim(),31;break;case 70:return this.popState(),U.yytext=U.yytext.slice(0,-8).trim(),31;break;case 71:return 6;case 72:return 6;case 73:return 16;case 74:return 57;case 75:return 24;case 76:return U.yytext=U.yytext.trim(),14;break;case 77:return 15;case 78:return 28;case 79:return 58;case 80:return 5;case 81:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?:default\b)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:classDef\s+)/i,/^(?:DEFAULT\s+)/i,/^(?:\w+\s+)/i,/^(?:[^\n]*)/i,/^(?:class\s+)/i,/^(?:(\w+)+((,\s*\w+)*))/i,/^(?:[^\n]*)/i,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*<>)/i,/^(?:.*\[\[fork\]\])/i,/^(?:.*\[\[join\]\])/i,/^(?:.*\[\[choice\]\])/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:["])/i,/^(?:\s*as\s+)/i,/^(?:[^\n\{]*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/i,/^(?:%%(?!\{)[^\n]*)/i,/^(?:\})/i,/^(?:[\n])/i,/^(?:note\s+)/i,/^(?:left of\b)/i,/^(?:right of\b)/i,/^(?:")/i,/^(?:\s*as\s*)/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[^\n]*)/i,/^(?:\s*[^:\n\s\-]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:[\s\S]*?end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:[^:\n;]+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[12,13],inclusive:!1},struct:{rules:[12,13,25,29,32,38,45,46,47,48,57,58,59,60,74,75,76,77,78],inclusive:!1},FLOATING_NOTE_ID:{rules:[67],inclusive:!1},FLOATING_NOTE:{rules:[64,65,66],inclusive:!1},NOTE_TEXT:{rules:[69,70],inclusive:!1},NOTE_ID:{rules:[68],inclusive:!1},NOTE:{rules:[61,62,63],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[34],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[33],inclusive:!1},CLASS_STYLE:{rules:[31],inclusive:!1},CLASS:{rules:[30],inclusive:!1},CLASSDEFID:{rules:[28],inclusive:!1},CLASSDEF:{rules:[26,27],inclusive:!1},acc_descr_multiline:{rules:[23,24],inclusive:!1},acc_descr:{rules:[21],inclusive:!1},acc_title:{rules:[19],inclusive:!1},SCALE:{rules:[16,17,36,37],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[51],inclusive:!1},STATE_STRING:{rules:[52,53],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[12,13,39,40,41,42,43,44,49,50,54,55,56],inclusive:!1},ID:{rules:[12,13],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15,18,20,22,25,29,32,35,38,56,60,71,72,73,74,75,76,77,79,80,81],inclusive:!0}}};return F}();M.lexer=P;function B(){this.yy={}}return o(B,"Parser"),B.prototype=M,M.Parser=B,new B}();kP.parser=kP;KS=kP});var ape,QS,SP,Tf,Bp,Ib,spe,ope,lpe,Fp,ZS,CP,AP,_P,DP,LP,JS,e6,cpe,upe,RP,NP,hpe,fpe,N1,RHe,dpe,MP,NHe,MHe,ppe,mpe,IHe,gpe,OHe,ype,IP,OP,vpe,t6,xpe,PP,r6=N(()=>{"use strict";ape="TB",QS="TB",SP="dir",Tf="state",Bp="root",Ib="relation",spe="classDef",ope="style",lpe="applyClass",Fp="default",ZS="divider",CP="fill:none",AP="fill: #333",_P="c",DP="text",LP="normal",JS="rect",e6="rectWithTitle",cpe="stateStart",upe="stateEnd",RP="divider",NP="roundedWithTitle",hpe="note",fpe="noteGroup",N1="statediagram",RHe="state",dpe=`${N1}-${RHe}`,MP="transition",NHe="note",MHe="note-edge",ppe=`${MP} ${MHe}`,mpe=`${N1}-${NHe}`,IHe="cluster",gpe=`${N1}-${IHe}`,OHe="cluster-alt",ype=`${N1}-${OHe}`,IP="parent",OP="note",vpe="state",t6="----",xpe=`${t6}${OP}`,PP=`${t6}${IP}`});function BP(t="",e=0,r="",n=t6){let i=r!==null&&r.length>0?`${n}${r}`:"";return`${vpe}-${t}${i}-${e}`}function n6(t,e,r){if(!e.id||e.id===""||e.id==="")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{let a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));let n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}function BHe(t){return t?.classes?.join(" ")??""}function FHe(t){return t?.styles??[]}var i6,wf,PHe,bpe,M1,Tpe,wpe=N(()=>{"use strict";qt();yt();dr();r6();i6=new Map,wf=0;o(BP,"stateDomId");PHe=o((t,e,r,n,i,a,s,l)=>{X.trace("items",e),e.forEach(u=>{switch(u.stmt){case Tf:M1(t,u,r,n,i,a,s,l);break;case Fp:M1(t,u,r,n,i,a,s,l);break;case Ib:{M1(t,u.state1,r,n,i,a,s,l),M1(t,u.state2,r,n,i,a,s,l);let h={id:"edge"+wf,start:u.state1.id,end:u.state2.id,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:CP,labelStyle:"",label:Ze.sanitizeText(u.description??"",ge()),arrowheadStyle:AP,labelpos:_P,labelType:DP,thickness:LP,classes:MP,look:s};i.push(h),wf++}break}})},"setupDoc"),bpe=o((t,e=QS)=>{let r=e;if(t.doc)for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");o(n6,"insertOrUpdateNode");o(BHe,"getClassesFromDbInfo");o(FHe,"getStylesFromDbInfo");M1=o((t,e,r,n,i,a,s,l)=>{let u=e.id,h=r.get(u),f=BHe(h),d=FHe(h),p=ge();if(X.info("dataFetcher parsedItem",e,h,d),u!=="root"){let m=JS;e.start===!0?m=cpe:e.start===!1&&(m=upe),e.type!==Fp&&(m=e.type),i6.get(u)||i6.set(u,{id:u,shape:m,description:Ze.sanitizeText(u,p),cssClasses:`${f} ${dpe}`,cssStyles:d});let g=i6.get(u);e.description&&(Array.isArray(g.description)?(g.shape=e6,g.description.push(e.description)):g.description?.length&&g.description.length>0?(g.shape=e6,g.description===u?g.description=[e.description]:g.description=[g.description,e.description]):(g.shape=JS,g.description=e.description),g.description=Ze.sanitizeTextOrArray(g.description,p)),g.description?.length===1&&g.shape===e6&&(g.type==="group"?g.shape=NP:g.shape=JS),!g.type&&e.doc&&(X.info("Setting cluster for XCX",u,bpe(e)),g.type="group",g.isGroup=!0,g.dir=bpe(e),g.shape=e.type===ZS?RP:NP,g.cssClasses=`${g.cssClasses} ${gpe} ${a?ype:""}`);let y={labelStyle:"",shape:g.shape,label:g.description,cssClasses:g.cssClasses,cssCompiledStyles:[],cssStyles:g.cssStyles,id:u,dir:g.dir,domId:BP(u,wf),type:g.type,isGroup:g.type==="group",padding:8,rx:10,ry:10,look:s};if(y.shape===RP&&(y.label=""),t&&t.id!=="root"&&(X.trace("Setting node ",u," to be child of its parent ",t.id),y.parentId=t.id),y.centerLabel=!0,e.note){let v={labelStyle:"",shape:hpe,label:e.note.text,cssClasses:mpe,cssStyles:[],cssCompiledStyles:[],id:u+xpe+"-"+wf,domId:BP(u,wf,OP),type:g.type,isGroup:g.type==="group",padding:p.flowchart?.padding,look:s,position:e.note.position},x=u+PP,b={labelStyle:"",shape:fpe,label:e.note.text,cssClasses:g.cssClasses,cssStyles:[],id:u+PP,domId:BP(u,wf,IP),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};wf++,b.id=x,v.parentId=x,n6(n,b,l),n6(n,v,l),n6(n,y,l);let T=u,C=v.id;e.note.position==="left of"&&(T=v.id,C=u),i.push({id:T+"-"+C,start:T,end:C,arrowhead:"none",arrowTypeEnd:"",style:CP,labelStyle:"",classes:ppe,arrowheadStyle:AP,labelpos:_P,labelType:DP,thickness:LP,look:s})}else n6(n,y,l)}e.doc&&(X.trace("Adding nodes children "),PHe(e,e.doc,r,n,i,!a,s,l))},"dataFetcher"),Tpe=o(()=>{i6.clear(),wf=0},"reset")});var FP,$He,zHe,kpe,$P=N(()=>{"use strict";qt();yt();xm();Zd();Jd();nr();r6();FP=o((t,e=QS)=>{if(!t.doc)return e;let r=e;for(let n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),$He=o(function(t,e){return e.db.getClasses()},"getClasses"),zHe=o(async function(t,e,r,n){X.info("REF0:"),X.info("Drawing state diagram (v2)",e);let{securityLevel:i,state:a,layout:s}=ge();n.db.extract(n.db.getRootDocV2());let l=n.db.getData(),u=bc(e,i);l.type=n.type,l.layoutAlgorithm=s,l.nodeSpacing=a?.nodeSpacing||50,l.rankSpacing=a?.rankSpacing||50,l.markers=["barb"],l.diagramId=e,await Dc(l,u);let h=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((d,p)=>{let m=typeof p=="string"?p:typeof p?.id=="string"?p.id:"";if(!m){X.warn("\u26A0\uFE0F Invalid or missing stateId from key:",JSON.stringify(p));return}let g=u.node()?.querySelectorAll("g"),y;if(g?.forEach(T=>{T.textContent?.trim()===m&&(y=T)}),!y){X.warn("\u26A0\uFE0F Could not find node matching text:",m);return}let v=y.parentNode;if(!v){X.warn("\u26A0\uFE0F Node has no parent, cannot wrap:",m);return}let x=document.createElementNS("http://www.w3.org/2000/svg","a"),b=d.url.replace(/^"+|"+$/g,"");if(x.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",b),x.setAttribute("target","_blank"),d.tooltip){let T=d.tooltip.replace(/^"+|"+$/g,"");x.setAttribute("title",T)}v.replaceChild(x,y),x.appendChild(y),X.info("\u{1F517} Wrapped node in
    tag for:",m,d.url)})}catch(f){X.error("\u274C Error injecting clickable links:",f)}Vt.insertTitle(u,"statediagramTitleText",a?.titleTopMargin??25,n.db.getDiagramTitle()),Wo(u,h,N1,a?.useMaxWidth??!0)},"draw"),kpe={getClasses:$He,draw:zHe,getDir:FP}});var gs,Epe,Spe,a6,Jo,s6=N(()=>{"use strict";qt();yt();nr();dr();ci();wpe();$P();r6();gs={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},Epe=o(()=>new Map,"newClassesList"),Spe=o(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),a6=o(t=>JSON.parse(JSON.stringify(t)),"clone"),Jo=class{constructor(e){this.version=e;this.nodes=[];this.edges=[];this.rootDoc=[];this.classes=Epe();this.documents={root:Spe()};this.currentDocument=this.documents.root;this.startEndCount=0;this.dividerCnt=0;this.links=new Map;this.getAccTitle=_r;this.setAccTitle=Cr;this.getAccDescription=Lr;this.setAccDescription=Dr;this.setDiagramTitle=Ir;this.getDiagramTitle=Rr;this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this)}static{o(this,"StateDB")}static{this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3}}extract(e){this.clear(!0);for(let i of Array.isArray(e)?e:e.doc)switch(i.stmt){case Tf:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case Ib:this.addRelation(i.state1,i.state2,i.description);break;case spe:this.addStyleClass(i.id.trim(),i.classes);break;case ope:this.handleStyleDef(i);break;case lpe:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}let r=this.getStates(),n=ge();Tpe(),M1(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(let i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){let r=e.id.trim().split(","),n=e.styleClass.split(",");for(let i of r){let a=this.getState(i);if(!a){let s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>s.replace(/;/g,"")?.trim()))}}setRootDoc(e){X.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===Ib){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===Tf&&(r.id===gs.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Bp&&r.stmt!==Tf||!r.doc)return;let i=[],a=[];for(let s of r.doc)if(s.type===ZS){let l=a6(s);l.doc=a6(a),i.push(l),a=[]}else a.push(s);if(i.length>0&&a.length>0){let s={stmt:Tf,id:A9(),type:"divider",doc:a6(a)};i.push(a6(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Bp,stmt:Bp},{id:Bp,stmt:Bp,doc:this.rootDoc},!0),{id:Bp,doc:this.rootDoc}}addState(e,r=Fp,n=void 0,i=void 0,a=void 0,s=void 0,l=void 0,u=void 0){let h=e?.trim();if(!this.currentDocument.states.has(h))X.info("Adding state ",h,i),this.currentDocument.states.set(h,{stmt:Tf,id:h,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.doc||(f.doc=n),f.type||(f.type=r)}if(i&&(X.info("Setting state description",h,i),(Array.isArray(i)?i:[i]).forEach(d=>this.addDescription(h,d.trim()))),a){let f=this.currentDocument.states.get(h);if(!f)throw new Error(`State not found: ${h}`);f.note=a,f.note.text=Ze.sanitizeText(f.note.text,ge())}s&&(X.info("Setting state classes",h,s),(Array.isArray(s)?s:[s]).forEach(d=>this.setCssClass(h,d.trim()))),l&&(X.info("Setting state styles",h,l),(Array.isArray(l)?l:[l]).forEach(d=>this.setStyle(h,d.trim()))),u&&(X.info("Setting state styles",h,l),(Array.isArray(u)?u:[u]).forEach(d=>this.setTextStyle(h,d.trim())))}clear(e){this.nodes=[],this.edges=[],this.documents={root:Spe()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=Epe(),e||(this.links=new Map,wr())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){X.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),X.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===gs.START_NODE?(this.startEndCount++,`${gs.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=Fp){return e===gs.START_NODE?gs.START_TYPE:r}endIdIfNeeded(e=""){return e===gs.END_NODE?(this.startEndCount++,`${gs.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=Fp){return e===gs.END_NODE?gs.END_TYPE:r}addRelationObjs(e,r,n=""){let i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),l=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,l,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:Ze.sanitizeText(n,ge())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){let i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),l=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,l),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?Ze.sanitizeText(n,ge()):void 0})}}addDescription(e,r){let n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;n?.descriptions?.push(Ze.sanitizeText(i,ge()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});let n=this.classes.get(e);r&&n&&r.split(gs.STYLECLASS_SEP).forEach(i=>{let a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(gs.COLOR_KEYWORD).exec(i)){let l=a.replace(gs.FILL_KEYWORD,gs.BG_FILL).replace(gs.COLOR_KEYWORD,gs.FILL_KEYWORD);n.textStyles.push(l)}n.styles.push(a)})}getClasses(){return this.classes}setCssClass(e,r){e.split(",").forEach(n=>{let i=this.getState(n);if(!i){let a=n.trim();this.addState(a),i=this.getState(a)}i?.classes?.push(r)})}setStyle(e,r){this.getState(e)?.styles?.push(r)}setTextStyle(e,r){this.getState(e)?.textStyles?.push(r)}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===SP)}getDirection(){return this.getDirectionStatement()?.value??ape}setDirection(e){let r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:SP,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){let e=ge();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:FP(this.getRootDocV2())}}getConfig(){return ge().state}}});var GHe,o6,zP=N(()=>{"use strict";GHe=o(t=>` +defs #statediagram-barbEnd { + fill: ${t.transitionColor}; + stroke: ${t.transitionColor}; + } +g.stateGroup text { + fill: ${t.nodeBorder}; + stroke: none; + font-size: 10px; +} +g.stateGroup text { + fill: ${t.textColor}; + stroke: none; + font-size: 10px; + +} +g.stateGroup .state-title { + font-weight: bolder; + fill: ${t.stateLabelColor}; +} + +g.stateGroup rect { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; +} + +g.stateGroup line { + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.transition { + stroke: ${t.transitionColor}; + stroke-width: 1; + fill: none; +} + +.stateGroup .composit { + fill: ${t.background}; + border-bottom: 1px +} + +.stateGroup .alt-composit { + fill: #e0e0e0; + border-bottom: 1px +} + +.state-note { + stroke: ${t.noteBorderColor}; + fill: ${t.noteBkgColor}; + + text { + fill: ${t.noteTextColor}; + stroke: none; + font-size: 10px; + } +} + +.stateLabel .box { + stroke: none; + stroke-width: 0; + fill: ${t.mainBkg}; + opacity: 0.5; +} + +.edgeLabel .label rect { + fill: ${t.labelBackgroundColor}; + opacity: 0.5; +} +.edgeLabel { + background-color: ${t.edgeLabelBackground}; + p { + background-color: ${t.edgeLabelBackground}; + } + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; +} +.edgeLabel .label text { + fill: ${t.transitionLabelColor||t.tertiaryTextColor}; +} +.label div .edgeLabel { + color: ${t.transitionLabelColor||t.tertiaryTextColor}; +} + +.stateLabel text { + fill: ${t.stateLabelColor}; + font-size: 10px; + font-weight: bold; +} + +.node circle.state-start { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node .fork-join { + fill: ${t.specialStateColor}; + stroke: ${t.specialStateColor}; +} + +.node circle.state-end { + fill: ${t.innerEndBackground}; + stroke: ${t.background}; + stroke-width: 1.5 +} +.end-state-inner { + fill: ${t.compositeBackground||t.background}; + // stroke: ${t.background}; + stroke-width: 1.5 +} + +.node rect { + fill: ${t.stateBkg||t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} +.node polygon { + fill: ${t.mainBkg}; + stroke: ${t.stateBorder||t.nodeBorder};; + stroke-width: 1px; +} +#statediagram-barbEnd { + fill: ${t.lineColor}; +} + +.statediagram-cluster rect { + fill: ${t.compositeTitleBackground}; + stroke: ${t.stateBorder||t.nodeBorder}; + stroke-width: 1px; +} + +.cluster-label, .nodeLabel { + color: ${t.stateLabelColor}; + // line-height: 1; +} + +.statediagram-cluster rect.outer { + rx: 5px; + ry: 5px; +} +.statediagram-state .divider { + stroke: ${t.stateBorder||t.nodeBorder}; +} + +.statediagram-state .title-state { + rx: 5px; + ry: 5px; +} +.statediagram-cluster.statediagram-cluster .inner { + fill: ${t.compositeBackground||t.background}; +} +.statediagram-cluster.statediagram-cluster-alt .inner { + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.statediagram-cluster .inner { + rx:0; + ry:0; +} + +.statediagram-state rect.basic { + rx: 5px; + ry: 5px; +} +.statediagram-state rect.divider { + stroke-dasharray: 10,10; + fill: ${t.altBackground?t.altBackground:"#efefef"}; +} + +.note-edge { + stroke-dasharray: 5; +} + +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} +.statediagram-note rect { + fill: ${t.noteBkgColor}; + stroke: ${t.noteBorderColor}; + stroke-width: 1px; + rx: 0; + ry: 0; +} + +.statediagram-note text { + fill: ${t.noteTextColor}; +} + +.statediagram-note .nodeLabel { + color: ${t.noteTextColor}; +} +.statediagram .edgeLabel { + color: red; // ${t.noteTextColor}; +} + +#dependencyStart, #dependencyEnd { + fill: ${t.lineColor}; + stroke: ${t.lineColor}; + stroke-width: 1; +} + +.statediagramTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; +} +`,"getStyles"),o6=GHe});var VHe,UHe,HHe,WHe,Ape,qHe,YHe,XHe,jHe,GP,Cpe,_pe,Dpe=N(()=>{"use strict";pr();s6();nr();dr();qt();yt();VHe=o(t=>t.append("circle").attr("class","start-state").attr("r",ge().state.sizeUnit).attr("cx",ge().state.padding+ge().state.sizeUnit).attr("cy",ge().state.padding+ge().state.sizeUnit),"drawStartState"),UHe=o(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",ge().state.textHeight).attr("class","divider").attr("x2",ge().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),HHe=o((t,e)=>{let r=t.append("text").attr("x",2*ge().state.padding).attr("y",ge().state.textHeight+2*ge().state.padding).attr("font-size",ge().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",ge().state.padding).attr("y",ge().state.padding).attr("width",n.width+2*ge().state.padding).attr("height",n.height+2*ge().state.padding).attr("rx",ge().state.radius),r},"drawSimpleState"),WHe=o((t,e)=>{let r=o(function(p,m,g){let y=p.append("tspan").attr("x",2*ge().state.padding).text(m);g||y.attr("dy",ge().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*ge().state.padding).attr("y",ge().state.textHeight+1.3*ge().state.padding).attr("font-size",ge().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",ge().state.padding).attr("y",a+ge().state.padding*.4+ge().state.dividerMargin+ge().state.textHeight).attr("class","state-description"),l=!0,u=!0;e.descriptions.forEach(function(p){l||(r(s,p,u),u=!1),l=!1});let h=t.append("line").attr("x1",ge().state.padding).attr("y1",ge().state.padding+a+ge().state.dividerMargin/2).attr("y2",ge().state.padding+a+ge().state.dividerMargin/2).attr("class","descr-divider"),f=s.node().getBBox(),d=Math.max(f.width,i.width);return h.attr("x2",d+3*ge().state.padding),t.insert("rect",":first-child").attr("x",ge().state.padding).attr("y",ge().state.padding).attr("width",d+2*ge().state.padding).attr("height",f.height+a+2*ge().state.padding).attr("rx",ge().state.radius),t},"drawDescrState"),Ape=o((t,e,r)=>{let n=ge().state.padding,i=2*ge().state.padding,a=t.node().getBBox(),s=a.width,l=a.x,u=t.append("text").attr("x",0).attr("y",ge().state.titleShift).attr("font-size",ge().state.fontSize).attr("class","state-title").text(e.id),f=u.node().getBBox().width+i,d=Math.max(f,s);d===s&&(d=d+i);let p,m=t.node().getBBox();e.doc,p=l-n,f>s&&(p=(s-d)/2+n),Math.abs(l-m.x)s&&(p=l-(f-s)/2);let g=1-ge().state.textHeight;return t.insert("rect",":first-child").attr("x",p).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",d).attr("height",m.height+ge().state.textHeight+ge().state.titleShift+1).attr("rx","0"),u.attr("x",p+n),f<=s&&u.attr("x",l+(d-i)/2-f/2+n),t.insert("rect",":first-child").attr("x",p).attr("y",ge().state.titleShift-ge().state.textHeight-ge().state.padding).attr("width",d).attr("height",ge().state.textHeight*3).attr("rx",ge().state.radius),t.insert("rect",":first-child").attr("x",p).attr("y",ge().state.titleShift-ge().state.textHeight-ge().state.padding).attr("width",d).attr("height",m.height+3+2*ge().state.textHeight).attr("rx",ge().state.radius),t},"addTitleAndBox"),qHe=o(t=>(t.append("circle").attr("class","end-state-outer").attr("r",ge().state.sizeUnit+ge().state.miniPadding).attr("cx",ge().state.padding+ge().state.sizeUnit+ge().state.miniPadding).attr("cy",ge().state.padding+ge().state.sizeUnit+ge().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",ge().state.sizeUnit).attr("cx",ge().state.padding+ge().state.sizeUnit+2).attr("cy",ge().state.padding+ge().state.sizeUnit+2)),"drawEndState"),YHe=o((t,e)=>{let r=ge().state.forkWidth,n=ge().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",ge().state.padding).attr("y",ge().state.padding)},"drawForkJoinState"),XHe=o((t,e,r,n)=>{let i=0,a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"
    ");s=s.replace(/\n/g,"
    ");let l=s.split(Ze.lineBreakRegex),u=1.25*ge().state.noteMargin;for(let h of l){let f=h.trim();if(f.length>0){let d=a.append("tspan");if(d.text(f),u===0){let p=d.node().getBBox();u+=p.height}i+=u,d.attr("x",e+ge().state.noteMargin),d.attr("y",r+i+1.25*ge().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),jHe=o((t,e)=>{e.attr("class","state-note");let r=e.append("rect").attr("x",0).attr("y",ge().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=XHe(t,0,0,n);return r.attr("height",a+2*ge().state.noteMargin),r.attr("width",i+ge().state.noteMargin*2),r},"drawNote"),GP=o(function(t,e){let r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&VHe(i),e.type==="end"&&qHe(i),(e.type==="fork"||e.type==="join")&&YHe(i,e),e.type==="note"&&jHe(e.note.text,i),e.type==="divider"&&UHe(i),e.type==="default"&&e.descriptions.length===0&&HHe(i,e),e.type==="default"&&e.descriptions.length>0&&WHe(i,e);let a=i.node().getBBox();return n.width=a.width+2*ge().state.padding,n.height=a.height+2*ge().state.padding,n},"drawState"),Cpe=0,_pe=o(function(t,e,r){let n=o(function(u){switch(u){case Jo.relationType.AGGREGATION:return"aggregation";case Jo.relationType.EXTENSION:return"extension";case Jo.relationType.COMPOSITION:return"composition";case Jo.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(u=>!Number.isNaN(u.y));let i=e.points,a=El().x(function(u){return u.x}).y(function(u){return u.y}).curve(Lo),s=t.append("path").attr("d",a(i)).attr("id","edge"+Cpe).attr("class","transition"),l="";if(ge().state.arrowMarkerAbsolute&&(l=fu(!0)),s.attr("marker-end","url("+l+"#"+n(Jo.relationType.DEPENDENCY)+"End)"),r.title!==void 0){let u=t.append("g").attr("class","stateLabel"),{x:h,y:f}=Vt.calcLabelPosition(e.points),d=Ze.getRows(r.title),p=0,m=[],g=0,y=0;for(let b=0;b<=d.length;b++){let T=u.append("text").attr("text-anchor","middle").text(d[b]).attr("x",h).attr("y",f+p),C=T.node().getBBox();g=Math.max(g,C.width),y=Math.min(y,C.x),X.info(C.x,h,f+p),p===0&&(p=T.node().getBBox().height,X.info("Title height",p,f)),m.push(T)}let v=p*d.length;if(d.length>1){let b=(d.length-1)*p*.5;m.forEach((T,C)=>T.attr("y",f+C*p-b)),v=p*d.length}let x=u.node().getBBox();u.insert("rect",":first-child").attr("class","box").attr("x",h-g/2-ge().state.padding/2).attr("y",f-v/2-ge().state.padding/2-3.5).attr("width",g+ge().state.padding).attr("height",v+ge().state.padding),X.info(x)}Cpe++},"drawEdge")});var po,VP,KHe,QHe,ZHe,JHe,Lpe,Rpe,Npe=N(()=>{"use strict";pr();KR();Uo();yt();dr();Dpe();qt();yi();VP={},KHe=o(function(){},"setConf"),QHe=o(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),ZHe=o(function(t,e,r,n){po=ge().state;let i=ge().securityLevel,a;i==="sandbox"&&(a=Ge("#i"+e));let s=i==="sandbox"?Ge(a.nodes()[0].contentDocument.body):Ge("body"),l=i==="sandbox"?a.nodes()[0].contentDocument:document;X.debug("Rendering diagram "+t);let u=s.select(`[id='${e}']`);QHe(u);let h=n.db.getRootDoc();Lpe(h,u,void 0,!1,s,l,n);let f=po.padding,d=u.node().getBBox(),p=d.width+f*2,m=d.height+f*2,g=p*1.75;hn(u,m,g,po.useMaxWidth),u.attr("viewBox",`${d.x-po.padding} ${d.y-po.padding} `+p+" "+m)},"draw"),JHe=o(t=>t?t.length*po.fontSizeFactor:1,"getLabelWidth"),Lpe=o((t,e,r,n,i,a,s)=>{let l=new an({compound:!0,multigraph:!0}),u,h=!0;for(u=0;u{let w=C.parentElement,E=0,_=0;w&&(w.parentElement&&(E=w.parentElement.getBBox().width),_=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(_)&&(_=0)),C.setAttribute("x1",0-_+8),C.setAttribute("x2",E-_-8)})):X.debug("No Node "+b+": "+JSON.stringify(l.node(b)))});let v=y.getBBox();l.edges().forEach(function(b){b!==void 0&&l.edge(b)!==void 0&&(X.debug("Edge "+b.v+" -> "+b.w+": "+JSON.stringify(l.edge(b))),_pe(e,l.edge(b),l.edge(b).relation))}),v=y.getBBox();let x={id:r||"root",label:r||"root",width:0,height:0};return x.width=v.width+2*po.padding,x.height=v.height+2*po.padding,X.debug("Doc rendered",x,l),x},"renderDoc"),Rpe={setConf:KHe,draw:ZHe}});var Mpe={};hr(Mpe,{diagram:()=>eWe});var eWe,Ipe=N(()=>{"use strict";EP();s6();zP();Npe();eWe={parser:KS,get db(){return new Jo(1)},renderer:Rpe,styles:o6,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var Bpe={};hr(Bpe,{diagram:()=>iWe});var iWe,Fpe=N(()=>{"use strict";EP();s6();zP();$P();iWe={parser:KS,get db(){return new Jo(2)},renderer:kpe,styles:o6,init:o(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}});var UP,Gpe,Vpe=N(()=>{"use strict";UP=function(){var t=o(function(d,p,m,g){for(m=m||{},g=d.length;g--;m[d[g]]=p);return m},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,14],u={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:o(function(p,m,g,y,v,x,b){var T=x.length-1;switch(v){case 1:return x[T-1];case 2:this.$=[];break;case 3:x[T-1].push(x[T]),this.$=x[T-1];break;case 4:case 5:this.$=x[T];break;case 6:case 7:this.$=[];break;case 8:y.setDiagramTitle(x[T].substr(6)),this.$=x[T].substr(6);break;case 9:this.$=x[T].trim(),y.setAccTitle(this.$);break;case 10:case 11:this.$=x[T].trim(),y.setAccDescription(this.$);break;case 12:y.addSection(x[T].substr(8)),this.$=x[T].substr(8);break;case 13:y.addTask(x[T-1],x[T]),this.$="task";break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:l},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:o(function(p,m){if(m.recoverable)this.trace(p);else{var g=new Error(p);throw g.hash=m,g}},"parseError"),parse:o(function(p){var m=this,g=[0],y=[],v=[null],x=[],b=this.table,T="",C=0,w=0,E=0,_=2,A=1,D=x.slice.call(arguments,1),O=Object.create(this.lexer),R={yy:{}};for(var k in this.yy)Object.prototype.hasOwnProperty.call(this.yy,k)&&(R.yy[k]=this.yy[k]);O.setInput(p,R.yy),R.yy.lexer=O,R.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var L=O.yylloc;x.push(L);var S=O.options&&O.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(Q){g.length=g.length-2*Q,v.length=v.length-Q,x.length=x.length-Q}o(I,"popStack");function M(){var Q;return Q=y.pop()||O.lex()||A,typeof Q!="number"&&(Q instanceof Array&&(y=Q,Q=y.pop()),Q=m.symbols_[Q]||Q),Q}o(M,"lex");for(var P,B,F,z,$,U,K={},ee,Y,ce,Z;;){if(F=g[g.length-1],this.defaultActions[F]?z=this.defaultActions[F]:((P===null||typeof P>"u")&&(P=M()),z=b[F]&&b[F][P]),typeof z>"u"||!z.length||!z[0]){var ue="";Z=[];for(ee in b[F])this.terminals_[ee]&&ee>_&&Z.push("'"+this.terminals_[ee]+"'");O.showPosition?ue="Parse error on line "+(C+1)+`: +`+O.showPosition()+` +Expecting `+Z.join(", ")+", got '"+(this.terminals_[P]||P)+"'":ue="Parse error on line "+(C+1)+": Unexpected "+(P==A?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(ue,{text:O.match,token:this.terminals_[P]||P,line:O.yylineno,loc:L,expected:Z})}if(z[0]instanceof Array&&z.length>1)throw new Error("Parse Error: multiple actions possible at state: "+F+", token: "+P);switch(z[0]){case 1:g.push(P),v.push(O.yytext),x.push(O.yylloc),g.push(z[1]),P=null,B?(P=B,B=null):(w=O.yyleng,T=O.yytext,C=O.yylineno,L=O.yylloc,E>0&&E--);break;case 2:if(Y=this.productions_[z[1]][1],K.$=v[v.length-Y],K._$={first_line:x[x.length-(Y||1)].first_line,last_line:x[x.length-1].last_line,first_column:x[x.length-(Y||1)].first_column,last_column:x[x.length-1].last_column},S&&(K._$.range=[x[x.length-(Y||1)].range[0],x[x.length-1].range[1]]),U=this.performAction.apply(K,[T,w,C,R.yy,z[1],v,x].concat(D)),typeof U<"u")return U;Y&&(g=g.slice(0,-1*Y*2),v=v.slice(0,-1*Y),x=x.slice(0,-1*Y)),g.push(this.productions_[z[1]][0]),v.push(K.$),x.push(K._$),ce=b[g[g.length-2]][g[g.length-1]],g.push(ce);break;case 3:return!0}}return!0},"parse")},h=function(){var d={EOF:1,parseError:o(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw new Error(m)},"parseError"),setInput:o(function(p,m){return this.yy=m||this.yy||{},this._input=p,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var m=p.match(/(?:\r\n?|\n).*/g);return m?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:o(function(p){var m=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var y=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var v=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===y.length?this.yylloc.first_column:0)+y[y.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges&&(this.yylloc.range=[v[0],v[0]+this.yyleng-m]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(p){this.unput(this.match.slice(p))},"less"),pastInput:o(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var p=this.pastInput(),m=new Array(p.length+1).join("-");return p+this.upcomingInput()+` +`+m+"^"},"showPosition"),test_match:o(function(p,m){var g,y,v;if(this.options.backtrack_lexer&&(v={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(v.yylloc.range=this.yylloc.range.slice(0))),y=p[0].match(/(?:\r\n?|\n).*/g),y&&(this.yylineno+=y.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:y?y[y.length-1].length-y[y.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(p[0].length),this.matched+=p[0],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var x in v)this[x]=v[x];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,m,g,y;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),x=0;xm[0].length)){if(m=g,y=x,this.options.backtrack_lexer){if(p=this.test_match(g,v[x]),p!==!1)return p;if(this._backtrack){m=!1;continue}else return!1}else if(!this.options.flex)break}return m?(p=this.test_match(m,v[y]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var m=this.next();return m||this.lex()},"lex"),begin:o(function(m){this.conditionStack.push(m)},"begin"),popState:o(function(){var m=this.conditionStack.length-1;return m>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(m){return m=this.conditionStack.length-1-Math.abs(m||0),m>=0?this.conditionStack[m]:"INITIAL"},"topState"),pushState:o(function(m){this.begin(m)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(m,g,y,v){var x=v;switch(y){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}};return d}();u.lexer=h;function f(){this.yy={}}return o(f,"Parser"),f.prototype=u,u.Parser=f,new f}();UP.parser=UP;Gpe=UP});var I1,HP,Ob,Pb,lWe,cWe,uWe,hWe,fWe,dWe,pWe,Upe,mWe,WP,Hpe=N(()=>{"use strict";qt();ci();I1="",HP=[],Ob=[],Pb=[],lWe=o(function(){HP.length=0,Ob.length=0,I1="",Pb.length=0,wr()},"clear"),cWe=o(function(t){I1=t,HP.push(t)},"addSection"),uWe=o(function(){return HP},"getSections"),hWe=o(function(){let t=Upe(),e=100,r=0;for(;!t&&r{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),dWe=o(function(t,e){let r=e.substr(1).split(":"),n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));let a=i.map(l=>l.trim()),s={section:I1,type:I1,people:a,task:t,score:n};Pb.push(s)},"addTask"),pWe=o(function(t){let e={section:I1,type:I1,description:t,task:t,classes:[]};Ob.push(e)},"addTaskOrg"),Upe=o(function(){let t=o(function(r){return Pb[r].processed},"compileTask"),e=!0;for(let[r,n]of Pb.entries())t(r),e=e&&n.processed;return e},"compileTasks"),mWe=o(function(){return fWe()},"getActors"),WP={getConfig:o(()=>ge().journey,"getConfig"),clear:lWe,setDiagramTitle:Ir,getDiagramTitle:Rr,setAccTitle:Cr,getAccTitle:_r,setAccDescription:Dr,getAccDescription:Lr,addSection:cWe,getSections:uWe,getTasks:hWe,addTask:dWe,addTaskOrg:pWe,getActors:mWe}});var gWe,Wpe,qpe=N(()=>{"use strict";Vm();gWe=o(t=>`.label { + font-family: ${t.fontFamily}; + color: ${t.textColor}; + } + .mouth { + stroke: #666; + } + + line { + stroke: ${t.textColor} + } + + .legend { + fill: ${t.textColor}; + font-family: ${t.fontFamily}; + } + + .label text { + fill: #333; + } + .label { + color: ${t.textColor} + } + + .face { + ${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"}; + stroke: #999; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 1.5px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + } + text-align: center; + } + + .cluster rect { + } + + .cluster text { + fill: ${t.titleColor}; + } + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .task-type-0, .section-type-0 { + ${t.fillType0?`fill: ${t.fillType0}`:""}; + } + .task-type-1, .section-type-1 { + ${t.fillType0?`fill: ${t.fillType1}`:""}; + } + .task-type-2, .section-type-2 { + ${t.fillType0?`fill: ${t.fillType2}`:""}; + } + .task-type-3, .section-type-3 { + ${t.fillType0?`fill: ${t.fillType3}`:""}; + } + .task-type-4, .section-type-4 { + ${t.fillType0?`fill: ${t.fillType4}`:""}; + } + .task-type-5, .section-type-5 { + ${t.fillType0?`fill: ${t.fillType5}`:""}; + } + .task-type-6, .section-type-6 { + ${t.fillType0?`fill: ${t.fillType6}`:""}; + } + .task-type-7, .section-type-7 { + ${t.fillType0?`fill: ${t.fillType7}`:""}; + } + + .actor-0 { + ${t.actor0?`fill: ${t.actor0}`:""}; + } + .actor-1 { + ${t.actor1?`fill: ${t.actor1}`:""}; + } + .actor-2 { + ${t.actor2?`fill: ${t.actor2}`:""}; + } + .actor-3 { + ${t.actor3?`fill: ${t.actor3}`:""}; + } + .actor-4 { + ${t.actor4?`fill: ${t.actor4}`:""}; + } + .actor-5 { + ${t.actor5?`fill: ${t.actor5}`:""}; + } + ${Lc()} +`,"getStyles"),Wpe=gWe});var qP,yWe,Xpe,jpe,vWe,xWe,Ype,bWe,TWe,Kpe,wWe,O1,Qpe=N(()=>{"use strict";pr();Jv();qP=o(function(t,e){return Sd(t,e)},"drawRect"),yWe=o(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=kl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=kl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),Xpe=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),jpe=o(function(t,e){return YY(t,e)},"drawText"),vWe=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,jpe(t,e)},"drawLabel"),xWe=o(function(t,e,r){let n=t.append("g"),i=Sl();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,qP(n,i),Kpe(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),Ype=-1,bWe=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");Ype++;let a=300+5*30;i.append("line").attr("id","task"+Ype).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),yWe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=Sl();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,qP(i,s);let l=e.x+14;e.people.forEach(u=>{let h=e.actors[u].color,f={cx:l,cy:e.y,r:7,fill:h,stroke:"#000",title:u,pos:e.actors[u].position};Xpe(i,f),l+=10}),Kpe(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),TWe=o(function(t,e){rT(t,e)},"drawBackgroundRect"),Kpe=function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{let a=Qu[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:Qu[i].position};O1.drawCircle(t,s);let l=t.append("text").attr("visibility","hidden").text(i),u=l.node().getBoundingClientRect().width;l.remove();let h=[];if(u<=r)h=[i];else{let f=i.split(" "),d="";l=t.append("text").attr("visibility","hidden"),f.forEach(p=>{let m=d?`${d} ${p}`:p;if(l.text(m),l.node().getBoundingClientRect().width>r){if(d&&h.push(d),d=p,l.text(p),l.node().getBoundingClientRect().width>r){let y="";for(let v of p)y+=v,l.text(y+"-"),l.node().getBoundingClientRect().width>r&&(h.push(y.slice(0,-1)+"-"),y=v);d=y}}else d=m}),d&&h.push(d),l.remove()}h.forEach((f,d)=>{let p={x:40,y:n+7+d*20,fill:"#666",text:f,textMargin:e.boxTextMargin??5},g=O1.drawText(t,p).node().getBoundingClientRect().width;g>l6&&g>e.leftMargin-g&&(l6=g)}),n+=Math.max(20,h.length*20)})}var kWe,Qu,l6,Gl,kf,SWe,el,YP,Zpe,CWe,XP,Jpe=N(()=>{"use strict";pr();Qpe();qt();yi();kWe=o(function(t){Object.keys(t).forEach(function(r){Gl[r]=t[r]})},"setConf"),Qu={},l6=0;o(EWe,"drawActorLegend");Gl=ge().journey,kf=0,SWe=o(function(t,e,r,n){let i=ge(),a=i.journey.titleColor,s=i.journey.titleFontSize,l=i.journey.titleFontFamily,u=i.securityLevel,h;u==="sandbox"&&(h=Ge("#i"+e));let f=u==="sandbox"?Ge(h.nodes()[0].contentDocument.body):Ge("body");el.init();let d=f.select("#"+e);O1.initGraphics(d);let p=n.db.getTasks(),m=n.db.getDiagramTitle(),g=n.db.getActors();for(let C in Qu)delete Qu[C];let y=0;g.forEach(C=>{Qu[C]={color:Gl.actorColours[y%Gl.actorColours.length],position:y},y++}),EWe(d),kf=Gl.leftMargin+l6,el.insert(0,0,kf,Object.keys(Qu).length*50),CWe(d,p,0);let v=el.getBounds();m&&d.append("text").text(m).attr("x",kf).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",l);let x=v.stopy-v.starty+2*Gl.diagramMarginY,b=kf+v.stopx+2*Gl.diagramMarginX;hn(d,x,b,Gl.useMaxWidth),d.append("line").attr("x1",kf).attr("y1",Gl.height*4).attr("x2",b-kf-4).attr("y2",Gl.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)");let T=m?70:0;d.attr("viewBox",`${v.startx} -25 ${b} ${x+T}`),d.attr("preserveAspectRatio","xMinYMin meet"),d.attr("height",x+T+25)},"draw"),el={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:o(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:o(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:o(function(t,e,r,n){let i=ge().journey,a=this,s=0;function l(u){return o(function(f){s++;let d=a.sequenceItems.length-s+1;a.updateVal(f,"starty",e-d*i.boxMargin,Math.min),a.updateVal(f,"stopy",n+d*i.boxMargin,Math.max),a.updateVal(el.data,"startx",t-d*i.boxMargin,Math.min),a.updateVal(el.data,"stopx",r+d*i.boxMargin,Math.max),u!=="activation"&&(a.updateVal(f,"startx",t-d*i.boxMargin,Math.min),a.updateVal(f,"stopx",r+d*i.boxMargin,Math.max),a.updateVal(el.data,"starty",e-d*i.boxMargin,Math.min),a.updateVal(el.data,"stopy",n+d*i.boxMargin,Math.max))},"updateItemBounds")}o(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:o(function(t,e,r,n){let i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),l=Math.max(e,n);this.updateVal(el.data,"startx",i,Math.min),this.updateVal(el.data,"starty",s,Math.min),this.updateVal(el.data,"stopx",a,Math.max),this.updateVal(el.data,"stopy",l,Math.max),this.updateBounds(i,s,a,l)},"insert"),bumpVerticalPos:o(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:o(function(){return this.verticalPos},"getVerticalPos"),getBounds:o(function(){return this.data},"getBounds")},YP=Gl.sectionFills,Zpe=Gl.sectionColours,CWe=o(function(t,e,r){let n=ge().journey,i="",a=n.height*2+n.diagramMarginY,s=r+a,l=0,u="#CCC",h="black",f=0;for(let[d,p]of e.entries()){if(i!==p.section){u=YP[l%YP.length],f=l%YP.length,h=Zpe[l%Zpe.length];let g=0,y=p.section;for(let x=d;x(Qu[y]&&(g[y]=Qu[y]),g),{});p.x=d*n.taskMargin+d*n.width+kf,p.y=s,p.width=n.diagramMarginX,p.height=n.diagramMarginY,p.colour=h,p.fill=u,p.num=f,p.actors=m,O1.drawTask(t,p,n),el.insert(p.x,p.y,p.x+p.width+n.taskMargin,300+5*30)}},"drawTasks"),XP={setConf:kWe,draw:SWe}});var e0e={};hr(e0e,{diagram:()=>AWe});var AWe,t0e=N(()=>{"use strict";Vpe();Hpe();qpe();Jpe();AWe={parser:Gpe,db:WP,renderer:XP,styles:Wpe,init:o(t=>{XP.setConf(t.journey),WP.clear()},"init")}});var KP,l0e,c0e=N(()=>{"use strict";KP=function(){var t=o(function(p,m,g,y){for(g=g||{},y=p.length;y--;g[p[y]]=m);return g},"o"),e=[6,8,10,11,12,14,16,17,20,21],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],l=[1,16],u=[1,17],h={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:o(function(m,g,y,v,x,b,T){var C=b.length-1;switch(x){case 1:return b[C-1];case 2:this.$=[];break;case 3:b[C-1].push(b[C]),this.$=b[C-1];break;case 4:case 5:this.$=b[C];break;case 6:case 7:this.$=[];break;case 8:v.getCommonDb().setDiagramTitle(b[C].substr(6)),this.$=b[C].substr(6);break;case 9:this.$=b[C].trim(),v.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=b[C].trim(),v.getCommonDb().setAccDescription(this.$);break;case 12:v.addSection(b[C].substr(8)),this.$=b[C].substr(8);break;case 15:v.addTask(b[C],0,""),this.$=b[C];break;case 16:v.addEvent(b[C].substr(2)),this.$=b[C];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:18,11:r,12:n,14:i,16:a,17:s,18:14,19:15,20:l,21:u},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,19]},{15:[1,20]},t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,4]),t(e,[2,9]),t(e,[2,10])],defaultActions:{},parseError:o(function(m,g){if(g.recoverable)this.trace(m);else{var y=new Error(m);throw y.hash=g,y}},"parseError"),parse:o(function(m){var g=this,y=[0],v=[],x=[null],b=[],T=this.table,C="",w=0,E=0,_=0,A=2,D=1,O=b.slice.call(arguments,1),R=Object.create(this.lexer),k={yy:{}};for(var L in this.yy)Object.prototype.hasOwnProperty.call(this.yy,L)&&(k.yy[L]=this.yy[L]);R.setInput(m,k.yy),k.yy.lexer=R,k.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var S=R.yylloc;b.push(S);var I=R.options&&R.options.ranges;typeof k.yy.parseError=="function"?this.parseError=k.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function M(j){y.length=y.length-2*j,x.length=x.length-j,b.length=b.length-j}o(M,"popStack");function P(){var j;return j=v.pop()||R.lex()||D,typeof j!="number"&&(j instanceof Array&&(v=j,j=v.pop()),j=g.symbols_[j]||j),j}o(P,"lex");for(var B,F,z,$,U,K,ee={},Y,ce,Z,ue;;){if(z=y[y.length-1],this.defaultActions[z]?$=this.defaultActions[z]:((B===null||typeof B>"u")&&(B=P()),$=T[z]&&T[z][B]),typeof $>"u"||!$.length||!$[0]){var Q="";ue=[];for(Y in T[z])this.terminals_[Y]&&Y>A&&ue.push("'"+this.terminals_[Y]+"'");R.showPosition?Q="Parse error on line "+(w+1)+`: +`+R.showPosition()+` +Expecting `+ue.join(", ")+", got '"+(this.terminals_[B]||B)+"'":Q="Parse error on line "+(w+1)+": Unexpected "+(B==D?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(Q,{text:R.match,token:this.terminals_[B]||B,line:R.yylineno,loc:S,expected:ue})}if($[0]instanceof Array&&$.length>1)throw new Error("Parse Error: multiple actions possible at state: "+z+", token: "+B);switch($[0]){case 1:y.push(B),x.push(R.yytext),b.push(R.yylloc),y.push($[1]),B=null,F?(B=F,F=null):(E=R.yyleng,C=R.yytext,w=R.yylineno,S=R.yylloc,_>0&&_--);break;case 2:if(ce=this.productions_[$[1]][1],ee.$=x[x.length-ce],ee._$={first_line:b[b.length-(ce||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(ce||1)].first_column,last_column:b[b.length-1].last_column},I&&(ee._$.range=[b[b.length-(ce||1)].range[0],b[b.length-1].range[1]]),K=this.performAction.apply(ee,[C,E,w,k.yy,$[1],x,b].concat(O)),typeof K<"u")return K;ce&&(y=y.slice(0,-1*ce*2),x=x.slice(0,-1*ce),b=b.slice(0,-1*ce)),y.push(this.productions_[$[1]][0]),x.push(ee.$),b.push(ee._$),Z=T[y[y.length-2]][y[y.length-1]],y.push(Z);break;case 3:return!0}}return!0},"parse")},f=function(){var p={EOF:1,parseError:o(function(g,y){if(this.yy.parser)this.yy.parser.parseError(g,y);else throw new Error(g)},"parseError"),setInput:o(function(m,g){return this.yy=g||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var g=m.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:o(function(m){var g=m.length,y=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var v=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),y.length-1&&(this.yylineno-=y.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:y?(y.length===v.length?this.yylloc.first_column:0)+v[v.length-y.length].length-y[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(m){this.unput(this.match.slice(m))},"less"),pastInput:o(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var m=this.pastInput(),g=new Array(m.length+1).join("-");return m+this.upcomingInput()+` +`+g+"^"},"showPosition"),test_match:o(function(m,g){var y,v,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),v=m[0].match(/(?:\r\n?|\n).*/g),v&&(this.yylineno+=v.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+m[0].length},this.yytext+=m[0],this.match+=m[0],this.matches=m,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(m[0].length),this.matched+=m[0],y=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),y)return y;if(this._backtrack){for(var b in x)this[b]=x[b];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var m,g,y,v;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),b=0;bg[0].length)){if(g=y,v=b,this.options.backtrack_lexer){if(m=this.test_match(y,x[b]),m!==!1)return m;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(m=this.test_match(g,x[v]),m!==!1?m:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var g=this.next();return g||this.lex()},"lex"),begin:o(function(g){this.conditionStack.push(g)},"begin"),popState:o(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:o(function(g){this.begin(g)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(g,y,v,x){var b=x;switch(v){case 0:break;case 1:break;case 2:return 10;case 3:break;case 4:break;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;break;case 8:return this.popState(),"acc_title_value";break;case 9:return this.begin("acc_descr"),14;break;case 10:return this.popState(),"acc_descr_value";break;case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 21;case 16:return 20;case 17:return 6;case 18:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18],inclusive:!0}}};return p}();h.lexer=f;function d(){this.yy={}}return o(d,"Parser"),d.prototype=h,h.Parser=d,new d}();KP.parser=KP;l0e=KP});var ZP={};hr(ZP,{addEvent:()=>v0e,addSection:()=>p0e,addTask:()=>y0e,addTaskOrg:()=>x0e,clear:()=>d0e,default:()=>PWe,getCommonDb:()=>f0e,getSections:()=>m0e,getTasks:()=>g0e});var P1,h0e,QP,c6,B1,f0e,d0e,p0e,m0e,g0e,y0e,v0e,x0e,u0e,PWe,b0e=N(()=>{"use strict";ci();P1="",h0e=0,QP=[],c6=[],B1=[],f0e=o(()=>Jy,"getCommonDb"),d0e=o(function(){QP.length=0,c6.length=0,P1="",B1.length=0,wr()},"clear"),p0e=o(function(t){P1=t,QP.push(t)},"addSection"),m0e=o(function(){return QP},"getSections"),g0e=o(function(){let t=u0e(),e=100,r=0;for(;!t&&rr.id===h0e-1).events.push(t)},"addEvent"),x0e=o(function(t){let e={section:P1,type:P1,description:t,task:t,classes:[]};c6.push(e)},"addTaskOrg"),u0e=o(function(){let t=o(function(r){return B1[r].processed},"compileTask"),e=!0;for(let[r,n]of B1.entries())t(r),e=e&&n.processed;return e},"compileTasks"),PWe={clear:d0e,getCommonDb:f0e,addSection:p0e,getSections:m0e,getTasks:g0e,addTask:y0e,addTaskOrg:x0e,addEvent:v0e}});function E0e(t,e){t.each(function(){var r=Ge(this),n=r.text().split(/(\s+|
    )/).reverse(),i,a=[],s=1.1,l=r.attr("y"),u=parseFloat(r.attr("dy")),h=r.text(null).append("tspan").attr("x",0).attr("y",l).attr("dy",u+"em");for(let f=0;fe||i==="
    ")&&(a.pop(),h.text(a.join(" ").trim()),i==="
    "?a=[""]:a=[i],h=r.append("tspan").attr("x",0).attr("y",l).attr("dy",s+"em").text(i))})}var BWe,u6,FWe,$We,w0e,zWe,GWe,T0e,VWe,UWe,HWe,JP,k0e,WWe,qWe,YWe,XWe,Ef,S0e=N(()=>{"use strict";pr();BWe=12,u6=o(function(t,e){let r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),FWe=o(function(t,e){let n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.append("circle").attr("cx",e.cx-15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),i.append("circle").attr("cx",e.cx+15/3).attr("cy",e.cy-15/3).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666");function a(u){let h=kl().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}o(a,"smile");function s(u){let h=kl().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);u.append("path").attr("class","mouth").attr("d",h).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}o(s,"sad");function l(u){u.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return o(l,"ambivalent"),e.score>3?a(i):e.score<3?s(i):l(i),n},"drawFace"),$We=o(function(t,e){let r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),w0e=o(function(t,e){let r=e.text.replace(//gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);let i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),zWe=o(function(t,e){function r(i,a,s,l,u){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+l-u)+" "+(i+s-u*1.2)+","+(a+l)+" "+i+","+(a+l)}o(r,"genPoints");let n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,w0e(t,e)},"drawLabel"),GWe=o(function(t,e,r){let n=t.append("g"),i=JP();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,u6(n,i),k0e(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),T0e=-1,VWe=o(function(t,e,r){let n=e.x+r.width/2,i=t.append("g");T0e++;let a=300+5*30;i.append("line").attr("id","task"+T0e).attr("x1",n).attr("y1",e.y).attr("x2",n).attr("y2",a).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),FWe(i,{cx:n,cy:300+(5-e.score)*30,score:e.score});let s=JP();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=r.width,s.height=r.height,s.class="task task-type-"+e.num,s.rx=3,s.ry=3,u6(i,s),k0e(r)(e.task,i,s.x,s.y,s.width,s.height,{class:"task"},r,e.colour)},"drawTask"),UWe=o(function(t,e){u6(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),HWe=o(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),JP=o(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),k0e=function(){function t(i,a,s,l,u,h,f,d){let p=a.append("text").attr("x",s+u/2).attr("y",l+h/2+5).style("font-color",d).style("text-anchor","middle").text(i);n(p,f)}o(t,"byText");function e(i,a,s,l,u,h,f,d,p){let{taskFontSize:m,taskFontFamily:g}=d,y=i.split(//gi);for(let v=0;v{"use strict";pr();S0e();yt();qt();yi();jWe=o(function(t,e,r,n){let i=ge(),a=i.timeline?.leftMargin??50;X.debug("timeline",n.db);let s=i.securityLevel,l;s==="sandbox"&&(l=Ge("#i"+e));let h=(s==="sandbox"?Ge(l.nodes()[0].contentDocument.body):Ge("body")).select("#"+e);h.append("g");let f=n.db.getTasks(),d=n.db.getCommonDb().getDiagramTitle();X.debug("task",f),Ef.initGraphics(h);let p=n.db.getSections();X.debug("sections",p);let m=0,g=0,y=0,v=0,x=50+a,b=50;v=50;let T=0,C=!0;p.forEach(function(D){let O={number:T,descr:D,section:T,width:150,padding:20,maxHeight:m},R=Ef.getVirtualNodeHeight(h,O,i);X.debug("sectionHeight before draw",R),m=Math.max(m,R+20)});let w=0,E=0;X.debug("tasks.length",f.length);for(let[D,O]of f.entries()){let R={number:D,descr:O,section:O.section,width:150,padding:20,maxHeight:g},k=Ef.getVirtualNodeHeight(h,R,i);X.debug("taskHeight before draw",k),g=Math.max(g,k+20),w=Math.max(w,O.events.length);let L=0;for(let S of O.events){let I={descr:S,section:O.section,number:O.section,width:150,padding:20,maxHeight:50};L+=Ef.getVirtualNodeHeight(h,I,i)}O.events.length>0&&(L+=(O.events.length-1)*10),E=Math.max(E,L)}X.debug("maxSectionHeight before draw",m),X.debug("maxTaskHeight before draw",g),p&&p.length>0?p.forEach(D=>{let O=f.filter(S=>S.section===D),R={number:T,descr:D,section:T,width:200*Math.max(O.length,1)-50,padding:20,maxHeight:m};X.debug("sectionNode",R);let k=h.append("g"),L=Ef.drawNode(k,R,T,i);X.debug("sectionNode output",L),k.attr("transform",`translate(${x}, ${v})`),b+=m+50,O.length>0&&C0e(h,O,T,x,b,g,i,w,E,m,!1),x+=200*Math.max(O.length,1),b=v,T++}):(C=!1,C0e(h,f,T,x,b,g,i,w,E,m,!0));let _=h.node().getBBox();X.debug("bounds",_),d&&h.append("text").text(d).attr("x",_.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),y=C?m+g+150:g+100,h.append("g").attr("class","lineWrapper").append("line").attr("x1",a).attr("y1",y).attr("x2",_.width+3*a).attr("y2",y).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),_o(void 0,h,i.timeline?.padding??50,i.timeline?.useMaxWidth??!1)},"draw"),C0e=o(function(t,e,r,n,i,a,s,l,u,h,f){for(let d of e){let p={descr:d.task,section:r,number:r,width:150,padding:20,maxHeight:a};X.debug("taskNode",p);let m=t.append("g").attr("class","taskWrapper"),y=Ef.drawNode(m,p,r,s).height;if(X.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),d.events){let v=t.append("g").attr("class","lineWrapper"),x=a;i+=100,x=x+KWe(t,d.events,r,n,i,s),i-=100,v.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+u+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5")}n=n+200,f&&!s.timeline?.disableMulticolor&&r++}i=i-10},"drawTasks"),KWe=o(function(t,e,r,n,i,a){let s=0,l=i;i=i+100;for(let u of e){let h={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};X.debug("eventNode",h);let f=t.append("g").attr("class","eventWrapper"),p=Ef.drawNode(f,h,r,a).height;s=s+p,f.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,s},"drawEvents"),A0e={setConf:o(()=>{},"setConf"),draw:jWe}});var QWe,ZWe,D0e,L0e=N(()=>{"use strict";Xs();QWe=o(t=>{let e="";for(let r=0;r` + .edge { + stroke-width: 3; + } + ${QWe(t)} + .section-root rect, .section-root path, .section-root circle { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .eventWrapper { + filter: brightness(120%); + } +`,"getStyles"),D0e=ZWe});var R0e={};hr(R0e,{diagram:()=>JWe});var JWe,N0e=N(()=>{"use strict";c0e();b0e();_0e();L0e();JWe={db:ZP,renderer:A0e,parser:l0e,styles:D0e}});var eB,O0e,P0e=N(()=>{"use strict";eB=function(){var t=o(function(C,w,E,_){for(E=E||{},_=C.length;_--;E[C[_]]=w);return E},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,6,13,15,16,19,22],g=[1,33],y=[1,34],v=[1,6,7,11,13,15,16,19,22],x={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:o(function(w,E,_,A,D,O,R){var k=O.length-1;switch(D){case 6:case 7:return A;case 8:A.getLogger().trace("Stop NL ");break;case 9:A.getLogger().trace("Stop EOF ");break;case 11:A.getLogger().trace("Stop NL2 ");break;case 12:A.getLogger().trace("Stop EOF2 ");break;case 15:A.getLogger().info("Node: ",O[k].id),A.addNode(O[k-1].length,O[k].id,O[k].descr,O[k].type);break;case 16:A.getLogger().trace("Icon: ",O[k]),A.decorateNode({icon:O[k]});break;case 17:case 21:A.decorateNode({class:O[k]});break;case 18:A.getLogger().trace("SPACELIST");break;case 19:A.getLogger().trace("Node: ",O[k].id),A.addNode(0,O[k].id,O[k].descr,O[k].type);break;case 20:A.decorateNode({icon:O[k]});break;case 25:A.getLogger().trace("node found ..",O[k-2]),this.$={id:O[k-1],descr:O[k-1],type:A.getType(O[k-2],O[k])};break;case 26:this.$={id:O[k],descr:O[k],type:A.nodeType.DEFAULT};break;case 27:A.getLogger().trace("node found ..",O[k-3]),this.$={id:O[k-3],descr:O[k-1],type:A.getType(O[k-2],O[k])};break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},{6:h,7:f,10:23,11:d},t(p,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:l}),t(p,[2,18]),t(p,[2,19]),t(p,[2,20]),t(p,[2,21]),t(p,[2,23]),t(p,[2,24]),t(p,[2,26],{19:[1,30]}),{20:[1,31]},{6:h,7:f,10:32,11:d},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:l},t(m,[2,14],{7:g,11:y}),t(v,[2,8]),t(v,[2,9]),t(v,[2,10]),t(p,[2,15]),t(p,[2,16]),t(p,[2,17]),{20:[1,35]},{21:[1,36]},t(m,[2,13],{7:g,11:y}),t(v,[2,11]),t(v,[2,12]),{21:[1,37]},t(p,[2,25]),t(p,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(w,E){if(E.recoverable)this.trace(w);else{var _=new Error(w);throw _.hash=E,_}},"parseError"),parse:o(function(w){var E=this,_=[0],A=[],D=[null],O=[],R=this.table,k="",L=0,S=0,I=0,M=2,P=1,B=O.slice.call(arguments,1),F=Object.create(this.lexer),z={yy:{}};for(var $ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$)&&(z.yy[$]=this.yy[$]);F.setInput(w,z.yy),z.yy.lexer=F,z.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var U=F.yylloc;O.push(U);var K=F.options&&F.options.ranges;typeof z.yy.parseError=="function"?this.parseError=z.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ee(ae){_.length=_.length-2*ae,D.length=D.length-ae,O.length=O.length-ae}o(ee,"popStack");function Y(){var ae;return ae=A.pop()||F.lex()||P,typeof ae!="number"&&(ae instanceof Array&&(A=ae,ae=A.pop()),ae=E.symbols_[ae]||ae),ae}o(Y,"lex");for(var ce,Z,ue,Q,j,ne,te={},he,le,J,Se;;){if(ue=_[_.length-1],this.defaultActions[ue]?Q=this.defaultActions[ue]:((ce===null||typeof ce>"u")&&(ce=Y()),Q=R[ue]&&R[ue][ce]),typeof Q>"u"||!Q.length||!Q[0]){var se="";Se=[];for(he in R[ue])this.terminals_[he]&&he>M&&Se.push("'"+this.terminals_[he]+"'");F.showPosition?se="Parse error on line "+(L+1)+`: +`+F.showPosition()+` +Expecting `+Se.join(", ")+", got '"+(this.terminals_[ce]||ce)+"'":se="Parse error on line "+(L+1)+": Unexpected "+(ce==P?"end of input":"'"+(this.terminals_[ce]||ce)+"'"),this.parseError(se,{text:F.match,token:this.terminals_[ce]||ce,line:F.yylineno,loc:U,expected:Se})}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ue+", token: "+ce);switch(Q[0]){case 1:_.push(ce),D.push(F.yytext),O.push(F.yylloc),_.push(Q[1]),ce=null,Z?(ce=Z,Z=null):(S=F.yyleng,k=F.yytext,L=F.yylineno,U=F.yylloc,I>0&&I--);break;case 2:if(le=this.productions_[Q[1]][1],te.$=D[D.length-le],te._$={first_line:O[O.length-(le||1)].first_line,last_line:O[O.length-1].last_line,first_column:O[O.length-(le||1)].first_column,last_column:O[O.length-1].last_column},K&&(te._$.range=[O[O.length-(le||1)].range[0],O[O.length-1].range[1]]),ne=this.performAction.apply(te,[k,S,L,z.yy,Q[1],D,O].concat(B)),typeof ne<"u")return ne;le&&(_=_.slice(0,-1*le*2),D=D.slice(0,-1*le),O=O.slice(0,-1*le)),_.push(this.productions_[Q[1]][0]),D.push(te.$),O.push(te._$),J=R[_[_.length-2]][_[_.length-1]],_.push(J);break;case 3:return!0}}return!0},"parse")},b=function(){var C={EOF:1,parseError:o(function(E,_){if(this.yy.parser)this.yy.parser.parseError(E,_);else throw new Error(E)},"parseError"),setInput:o(function(w,E){return this.yy=E||this.yy||{},this._input=w,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var E=w.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:o(function(w){var E=w.length,_=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),_.length-1&&(this.yylineno-=_.length-1);var D=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:_?(_.length===A.length?this.yylloc.first_column:0)+A[A.length-_.length].length-_[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[D[0],D[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(w){this.unput(this.match.slice(w))},"less"),pastInput:o(function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var w=this.match;return w.length<20&&(w+=this._input.substr(0,20-w.length)),(w.substr(0,20)+(w.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var w=this.pastInput(),E=new Array(w.length+1).join("-");return w+this.upcomingInput()+` +`+E+"^"},"showPosition"),test_match:o(function(w,E){var _,A,D;if(this.options.backtrack_lexer&&(D={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(D.yylloc.range=this.yylloc.range.slice(0))),A=w[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+w[0].length},this.yytext+=w[0],this.match+=w[0],this.matches=w,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(w[0].length),this.matched+=w[0],_=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var O in D)this[O]=D[O];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,E,_,A;this._more||(this.yytext="",this.match="");for(var D=this._currentRules(),O=0;OE[0].length)){if(E=_,A=O,this.options.backtrack_lexer){if(w=this.test_match(_,D[O]),w!==!1)return w;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(w=this.test_match(E,D[A]),w!==!1?w:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var E=this.next();return E||this.lex()},"lex"),begin:o(function(E){this.conditionStack.push(E)},"begin"),popState:o(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:o(function(E){this.begin(E)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(E,_,A,D){var O=D;switch(A){case 0:return E.getLogger().trace("Found comment",_.yytext),6;break;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;break;case 4:this.popState();break;case 5:E.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return E.getLogger().trace("SPACELINE"),6;break;case 7:return 7;case 8:return 15;case 9:E.getLogger().trace("end icon"),this.popState();break;case 10:return E.getLogger().trace("Exploding node"),this.begin("NODE"),19;break;case 11:return E.getLogger().trace("Cloud"),this.begin("NODE"),19;break;case 12:return E.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;break;case 13:return E.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;break;case 14:return this.begin("NODE"),19;break;case 15:return this.begin("NODE"),19;break;case 16:return this.begin("NODE"),19;break;case 17:return this.begin("NODE"),19;break;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:E.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return E.getLogger().trace("description:",_.yytext),"NODE_DESCR";break;case 26:this.popState();break;case 27:return this.popState(),E.getLogger().trace("node end ))"),"NODE_DEND";break;case 28:return this.popState(),E.getLogger().trace("node end )"),"NODE_DEND";break;case 29:return this.popState(),E.getLogger().trace("node end ...",_.yytext),"NODE_DEND";break;case 30:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";break;case 31:return this.popState(),E.getLogger().trace("node end (-"),"NODE_DEND";break;case 32:return this.popState(),E.getLogger().trace("node end (-"),"NODE_DEND";break;case 33:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";break;case 34:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";break;case 35:return E.getLogger().trace("Long description:",_.yytext),20;break;case 36:return E.getLogger().trace("Long description:",_.yytext),20;break}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return C}();x.lexer=b;function T(){this.yy={}}return o(T,"Parser"),T.prototype=x,x.Parser=T,new T}();eB.parser=eB;O0e=eB});var nqe,h6,B0e=N(()=>{"use strict";qt();dr();yt();Ca();nqe={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},h6=class{constructor(){this.nodes=[];this.count=0;this.elements={};this.getLogger=this.getLogger.bind(this),this.nodeType=nqe,this.clear(),this.getType=this.getType.bind(this),this.getMindmap=this.getMindmap.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{o(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={}}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level0?this.nodes[0]:null}addNode(e,r,n,i){X.info("addNode",e,r,n,i);let a=ge(),s=a.mindmap?.padding??lr.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:s*=2;break}let l={id:this.count++,nodeId:ar(r,a),level:e,descr:ar(n,a),type:i,children:[],width:a.mindmap?.maxNodeWidth??lr.mindmap.maxNodeWidth,padding:s},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(this.nodes.length===0)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(X.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;let r=ge(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=ar(e.icon,r)),e.class&&(n.class=ar(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}getLogger(){return X}}});function Hi(t){"@babel/helpers - typeof";return Hi=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Hi(t)}function Bf(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function F0e(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},"n"),e:o(function(u){throw u},"e"),f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,s=!1,l;return{s:o(function(){r=r.call(t)},"s"),n:o(function(){var u=r.next();return a=u.done,u},"n"),e:o(function(u){s=!0,l=u},"e"),f:o(function(){try{!a&&r.return!=null&&r.return()}finally{if(s)throw l}},"f")}}function Nqe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}function Mqe(t,e){return e={exports:{}},t(e,e.exports),e.exports}function zqe(t){for(var e=t.length;e--&&$qe.test(t.charAt(e)););return e}function Uqe(t){return t&&t.slice(0,Gqe(t)+1).replace(Vqe,"")}function Xqe(t){var e=qqe.call(t,Bb),r=t[Bb];try{t[Bb]=void 0;var n=!0}catch{}var i=Yqe.call(t);return n&&(e?t[Bb]=r:delete t[Bb]),i}function Zqe(t){return Qqe.call(t)}function rYe(t){return t==null?t===void 0?tYe:eYe:G0e&&G0e in Object(t)?jqe(t):Jqe(t)}function nYe(t){return t!=null&&typeof t=="object"}function sYe(t){return typeof t=="symbol"||iYe(t)&&pge(t)==aYe}function hYe(t){if(typeof t=="number")return t;if(f4(t))return V0e;if(qp(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=qp(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=Hqe(t);var r=lYe.test(t);return r||cYe.test(t)?uYe(t.slice(2),r?2:8):oYe.test(t)?V0e:+t}function mYe(t,e,r){var n,i,a,s,l,u,h=0,f=!1,d=!1,p=!0;if(typeof t!="function")throw new TypeError(fYe);e=U0e(e)||0,qp(r)&&(f=!!r.leading,d="maxWait"in r,a=d?dYe(U0e(r.maxWait)||0,e):a,p="trailing"in r?!!r.trailing:p);function m(E){var _=n,A=i;return n=i=void 0,h=E,s=t.apply(A,_),s}o(m,"invokeFunc");function g(E){return h=E,l=setTimeout(x,e),f?m(E):s}o(g,"leadingEdge");function y(E){var _=E-u,A=E-h,D=e-_;return d?pYe(D,a-A):D}o(y,"remainingWait");function v(E){var _=E-u,A=E-h;return u===void 0||_>=e||_<0||d&&A>=a}o(v,"shouldInvoke");function x(){var E=tB();if(v(E))return b(E);l=setTimeout(x,y(E))}o(x,"timerExpired");function b(E){return l=void 0,p&&n?m(E):(n=i=void 0,s)}o(b,"trailingEdge");function T(){l!==void 0&&clearTimeout(l),h=0,n=u=i=l=void 0}o(T,"cancel");function C(){return l===void 0?s:b(tB())}o(C,"flush");function w(){var E=tB(),_=v(E);if(n=arguments,i=this,u=E,_){if(l===void 0)return g(u);if(d)return clearTimeout(l),l=setTimeout(x,e),m(u)}return l===void 0&&(l=setTimeout(x,e)),s}return o(w,"debounced"),w.cancel=T,w.flush=C,w}function Q6(t,e,r,n,i,a){var s;return li(t)?s=t:s=Z1[t]||Z1.euclidean,e===0&&li(t)?s(i,a):s(e,r,n,i,a)}function oje(t,e){if(Z6(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||f4(t)?!0:sje.test(t)||!aje.test(t)||e!=null&&t in Object(e)}function dje(t){if(!qp(t))return!1;var e=pge(t);return e==uje||e==hje||e==cje||e==fje}function gje(t){return!!cme&&cme in t}function bje(t){if(t!=null){try{return xje.call(t)}catch{}try{return t+""}catch{}}return""}function Dje(t){if(!qp(t)||yje(t))return!1;var e=pje(t)?_je:kje;return e.test(Tje(t))}function Rje(t,e){return t?.[e]}function Mje(t,e){var r=Nje(t,e);return Lje(r)?r:void 0}function Oje(){this.__data__=a4?a4(null):{},this.size=0}function Bje(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}function Vje(t){var e=this.__data__;if(a4){var r=e[t];return r===$je?void 0:r}return Gje.call(e,t)?e[t]:void 0}function qje(t){var e=this.__data__;return a4?e[t]!==void 0:Wje.call(e,t)}function jje(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=a4&&e===void 0?Xje:e,this}function ry(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1}function cKe(t,e){var r=this.__data__,n=J6(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function ny(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t0;){var f=i.shift();e(f),a.add(f.id()),l&&n(i,a,f)}return t}function Yge(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i0&&arguments[0]!==void 0?arguments[0]:YQe,e=arguments.length>1?arguments[1]:void 0,r=0;r0?k=S:R=S;while(Math.abs(L)>s&&++I=a?b(O,I):M===0?I:C(O,R,R+h)}o(w,"getTForX");var E=!1;function _(){E=!0,(t!==e||r!==n)&&T()}o(_,"precompute");var A=o(function(R){return E||_(),t===e&&r===n?R:R===0?0:R===1?1:v(w(R),e,n)},"f");A.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var D="generateBezier("+[t,e,r,n]+")";return A.toString=function(){return D},A}function _me(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function Dme(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function z1(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=Dme(t,i),l=Dme(e,i);if(_t(s)&&_t(l))return _me(a,s,l,r,n);if(kn(s)&&kn(l)){for(var u=[],h=0;h0?(m==="spring"&&g.push(s.duration),s.easingImpl=L6[m].apply(null,g)):s.easingImpl=L6[m]}var y=s.easingImpl,v;if(s.duration===0?v=1:v=(r-u)/s.duration,s.applying&&(v=s.progress),v<0?v=0:v>1&&(v=1),s.delay==null){var x=s.startPosition,b=s.position;if(b&&i&&!t.locked()){var T={};Gb(x.x,b.x)&&(T.x=z1(x.x,b.x,v,y)),Gb(x.y,b.y)&&(T.y=z1(x.y,b.y,v,y)),t.position(T)}var C=s.startPan,w=s.pan,E=a.pan,_=w!=null&&n;_&&(Gb(C.x,w.x)&&(E.x=z1(C.x,w.x,v,y)),Gb(C.y,w.y)&&(E.y=z1(C.y,w.y,v,y)),t.emit("pan"));var A=s.startZoom,D=s.zoom,O=D!=null&&n;O&&(Gb(A,D)&&(a.zoom=n4(a.minZoom,z1(A,D,v,y),a.maxZoom)),t.emit("zoom")),(_||O)&&t.emit("viewport");var R=s.style;if(R&&R.length>0&&i){for(var k=0;k=0;_--){var A=E[_];A()}E.splice(0,E.length)},"callbacks"),b=m.length-1;b>=0;b--){var T=m[b],C=T._private;if(C.stopped){m.splice(b,1),C.hooked=!1,C.playing=!1,C.started=!1,x(C.frames);continue}!C.playing&&!C.applying||(C.playing&&C.applying&&(C.applying=!1),C.started||oZe(f,T,t),sZe(f,T,t,d),C.applying&&(C.applying=!1),x(C.frames),C.step!=null&&C.step(t),T.completed()&&(m.splice(b,1),C.hooked=!1,C.playing=!1,C.started=!1,x(C.completes)),y=!0)}return!d&&m.length===0&&g.length===0&&n.push(f),y}o(i,"stepOne");for(var a=!1,s=0;s0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}function u1e(t){this.options=ir({},mZe,gZe,t)}function h1e(t){this.options=ir({},yZe,t)}function f1e(t){this.options=ir({},vZe,t)}function oC(t){this.options=ir({},xZe,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(i){var a=i.source().data("id"),s=i.target().data("id"),l=e.some(function(h){return h.data("id")===a}),u=e.some(function(h){return h.data("id")===s});return!l||!u});this.options.eles=this.options.eles.not(n)}function p1e(t){this.options=ir({},PZe,t)}function ZB(t){this.options=ir({},BZe,t)}function m1e(t){this.options=ir({},FZe,t)}function g1e(t){this.options=ir({},$Ze,t)}function y1e(t){this.options=t,this.notifications=0}function b1e(t,e){e.radius===0?t.lineTo(e.cx,e.cy):t.arc(e.cx,e.cy,e.radius,e.startAngle,e.endAngle,e.counterClockwise)}function eF(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===0||e.radius===0?{cx:e.x,cy:e.y,radius:0,startX:e.x,startY:e.y,stopX:e.x,stopY:e.y,startAngle:void 0,endAngle:void 0,counterClockwise:void 0}:(VZe(t,e,r,n,i),{cx:CB,cy:AB,radius:Up,startX:v1e,startY:x1e,stopX:_B,stopY:DB,startAngle:Xc.ang+Math.PI/2*Hp,endAngle:tl.ang-Math.PI/2*Hp,counterClockwise:M6})}function T1e(t){var e=[];if(t!=null){for(var r=0;r5&&arguments[5]!==void 0?arguments[5]:5,s=arguments.length>6?arguments[6]:void 0;t.beginPath(),t.moveTo(e+a,r),t.lineTo(e+n-a,r),t.quadraticCurveTo(e+n,r,e+n,r+a),t.lineTo(e+n,r+i-a),t.quadraticCurveTo(e+n,r+i,e+n-a,r+i),t.lineTo(e+a,r+i),t.quadraticCurveTo(e,r+i,e,r+i-a),t.lineTo(e,r+a),t.quadraticCurveTo(e,r,e+a,r),t.closePath(),s?t.stroke():t.fill()}function jme(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function DJe(t,e,r){var n=jme(t,t.VERTEX_SHADER,e),i=jme(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function LJe(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function nF(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function pB(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function E6(t,e,r){var n=t[0]/255,i=t[1]/255,a=t[2]/255,s=e,l=r||new Array(4);return l[0]=n*s,l[1]=i*s,l[2]=a*s,l[3]=s,l}function S6(t,e){var r=e||new Array(4);return r[0]=(t>>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function RJe(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function NJe(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function I1e(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function O1e(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function MJe(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function IJe(t,e,r,n){var i=I1e(t,e),a=Li(i,2),s=a[0],l=a[1],u=O1e(t,l,n),h=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,h),t.bufferData(t.ARRAY_BUFFER,u,t.STATIC_DRAW),l===t.FLOAT?t.vertexAttribPointer(r,s,l,!1,0,0):l===t.INT&&t.vertexAttribIPointer(r,s,l,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),h}function mo(t,e,r,n){var i=I1e(t,r),a=Li(i,3),s=a[0],l=a[1],u=a[2],h=O1e(t,l,e*s),f=s*u,d=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,d),t.bufferData(t.ARRAY_BUFFER,e*f,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),l===t.FLOAT?t.vertexAttribPointer(n,s,l,!1,f,0):l===t.INT&&t.vertexAttribIPointer(n,s,l,f,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var p=new Array(e),m=0;mD1e?(qJe(t),e.call(t,a)):(YJe(t),z1e(t,a,Zb.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,l,u){return JJe(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.eleDrawing.invalidate(s,{type:"node-body"})}}}function qJe(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function YJe(t){var e=o(function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()},"clear");e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function XJe(t){var e=t.canvasWidth,r=t.canvasHeight,n=nF(t),i=n.pan,a=n.zoom,s=Qb();q6(s,s,[i.x,i.y]),iF(s,s,[a,a]);var l=Qb();BJe(l,e,r);var u=Qb();return PJe(u,l,s),u}function $1e(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=nF(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function jJe(t,e){t.drawSelectionRectangle(e,function(r){return $1e(t,r)})}function KJe(t){var e=t.data.contexts[t.NODE];e.save(),$1e(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function QJe(t){var e=o(function(i,a,s){for(var l=i.atlasManager.getRenderTypeOpts(a),u=t.data.contexts[t.NODE],h=.125,f=l.atlasCollection.atlases,d=0;d=0&&k.add(I)}return k}function JJe(t,e,r){var n=ZJe(t,e,r),i=t.getCachedZSortedEles(),a,s,l=go(n),u;try{for(l.s();!(u=l.n()).done;){var h=u.value,f=i[h];if(!a&&f.isNode()&&(a=f),!s&&f.isEdge()&&(s=f),a&&s)break}}catch(d){l.e(d)}finally{l.f()}return[a,s].filter(Boolean)}function z1e(t,e,r){var n,i;t.webglDebug&&(i=[],n=performance.now());var a=t.eleDrawing,s=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&jJe(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var l=o(function(k,L){L+=1,k.isNode()?(a.drawTexture(k,L,"node-underlay"),a.drawTexture(k,L,"node-body"),a.drawTexture(k,L,"node-label"),a.drawTexture(k,L,"node-overlay")):(a.drawEdgeLine(k,L),a.drawEdgeArrow(k,L,"source"),a.drawEdgeArrow(k,L,"target"),a.drawTexture(k,L,"edge-label"))},"draw"),u=t.data.contexts[t.WEBGL];r.screen?(u.clearColor(0,0,0,0),u.enable(u.BLEND),u.blendFunc(u.ONE,u.ONE_MINUS_SRC_ALPHA)):u.disable(u.BLEND),u.clear(u.COLOR_BUFFER_BIT|u.DEPTH_BUFFER_BIT),u.viewport(0,0,u.canvas.width,u.canvas.height);var h=XJe(t),f=t.getCachedZSortedEles();if(s=f.length,a.startFrame(h,i,r),r.screen){for(var d=0;d{"use strict";o(Hi,"_typeof");o(Bf,"_classCallCheck");o(F0e,"_defineProperties");o(Ff,"_createClass");o(nge,"_defineProperty$1");o(Li,"_slicedToArray");o(ige,"_toConsumableArray");o(iqe,"_arrayWithoutHoles");o(aqe,"_arrayWithHoles");o(sqe,"_iterableToArray");o(oqe,"_iterableToArrayLimit");o(IB,"_unsupportedIterableToArray");o(yB,"_arrayLikeToArray");o(lqe,"_nonIterableSpread");o(cqe,"_nonIterableRest");o(go,"_createForOfIteratorHelper");Vi=typeof window>"u"?null:window,$0e=Vi?Vi.navigator:null;Vi&&Vi.document;uqe=Hi(""),age=Hi({}),hqe=Hi(function(){}),fqe=typeof HTMLElement>"u"?"undefined":Hi(HTMLElement),u4=o(function(e){return e&&e.instanceString&&li(e.instanceString)?e.instanceString():null},"instanceStr"),Jt=o(function(e){return e!=null&&Hi(e)==uqe},"string"),li=o(function(e){return e!=null&&Hi(e)===hqe},"fn"),kn=o(function(e){return!yo(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},"array"),Vr=o(function(e){return e!=null&&Hi(e)===age&&!kn(e)&&e.constructor===Object},"plainObject"),dqe=o(function(e){return e!=null&&Hi(e)===age},"object"),_t=o(function(e){return e!=null&&Hi(e)===Hi(1)&&!isNaN(e)},"number"),pqe=o(function(e){return _t(e)&&Math.floor(e)===e},"integer"),O6=o(function(e){if(fqe!=="undefined")return e!=null&&e instanceof HTMLElement},"htmlElement"),yo=o(function(e){return h4(e)||sge(e)},"elementOrCollection"),h4=o(function(e){return u4(e)==="collection"&&e._private.single},"element"),sge=o(function(e){return u4(e)==="collection"&&!e._private.single},"collection"),OB=o(function(e){return u4(e)==="core"},"core"),oge=o(function(e){return u4(e)==="stylesheet"},"stylesheet"),mqe=o(function(e){return u4(e)==="event"},"event"),Rf=o(function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},"emptyString"),gqe=o(function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},"domElement"),yqe=o(function(e){return Vr(e)&&_t(e.x1)&&_t(e.x2)&&_t(e.y1)&&_t(e.y2)},"boundingBox"),vqe=o(function(e){return dqe(e)&&li(e.then)},"promise"),xqe=o(function(){return $0e&&$0e.userAgent.match(/msie|trident|edge/i)},"ms"),Jb=o(function(e,r){r||(r=o(function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;sr?1:0},"ascending"),Cqe=o(function(e,r){return-1*cge(e,r)},"descending"),ir=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r1&&(v-=1),v<1/6?g+(y-g)*6*v:v<1/2?y:v<2/3?g+(y-g)*(2/3-v)*6:g}o(f,"hue2rgb");var d=new RegExp("^"+wqe+"$").exec(e);if(d){if(n=parseInt(d[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(d[2]),i<0||i>100||(i=i/100,a=parseFloat(d[3]),a<0||a>100)||(a=a/100,s=d[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)l=u=h=Math.round(a*255);else{var p=a<.5?a*(1+i):a+i-a*i,m=2*a-p;l=Math.round(255*f(m,p,n+1/3)),u=Math.round(255*f(m,p,n)),h=Math.round(255*f(m,p,n-1/3))}r=[l,u,h,s]}return r},"hsl2tuple"),Dqe=o(function(e){var r,n=new RegExp("^"+bqe+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var l=i[1]||i[2]||i[3],u=i[1]&&i[2]&&i[3];if(l&&!u)return;var h=n[4];if(h!==void 0){if(h=parseFloat(h),h<0||h>1)return;r.push(h)}}return r},"rgb2tuple"),Lqe=o(function(e){return Rqe[e.toLowerCase()]},"colorname2tuple"),uge=o(function(e){return(kn(e)?e:null)||Lqe(e)||Aqe(e)||Dqe(e)||_qe(e)},"color2tuple"),Rqe={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},hge=o(function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a1&&arguments[1]!==void 0?arguments[1]:U1,n=r,i;i=e.next(),!i.done;)n=n*gge+i.value|0;return n},"hashIterableInts"),e4=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:U1;return r*gge+e|0},"hashInt"),t4=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Wb;return(r<<5)+r+e|0},"hashIntAlt"),yYe=o(function(e,r){return e*2097152+r},"combineHashes"),Sf=o(function(e){return e[0]*2097152+e[1]},"combineHashesArray"),f6=o(function(e,r){return[e4(e[0],r[0]),t4(e[1],r[1])]},"hashArrays"),vYe=o(function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:o(function(){return i=0&&!(e[i]===r&&(e.splice(i,1),n));i--);},"removeFromArray"),$B=o(function(e){e.splice(0,e.length)},"clearArray"),SYe=o(function(e,r){for(var n=0;n"u"?"undefined":Hi(Set))!==AYe?Set:_Ye,j6=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!OB(e)){oi("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){oi("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=this._private={cy:e,single:!0,data:r.data||{},position:r.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:i,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!r.selected,selectable:r.selectable===void 0?!0:!!r.selectable,locked:!!r.locked,grabbed:!1,grabbable:r.grabbable===void 0?!0:!!r.grabbable,pannable:r.pannable===void 0?i==="edges":!!r.pannable,active:!1,classes:new ey,animation:{current:[],queue:[]},rscratch:{},scratch:r.scratch||{},edges:[],children:[],parent:r.parent&&r.parent.isNode()?r.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,l=e.pan(),u=e.zoom();a.position={x:(s.x-l.x)/u,y:(s.y-l.y)/u}}var h=[];kn(r.classes)?h=r.classes:Jt(r.classes)&&(h=r.classes.split(/\s+/));for(var f=0,d=h.length;fb?1:0},"defaultCmp"),f=o(function(x,b,T,C,w){var E;if(T==null&&(T=0),w==null&&(w=n),T<0)throw new Error("lo must be non-negative");for(C==null&&(C=x.length);TO;0<=O?D++:D--)A.push(D);return A}.apply(this).reverse(),_=[],C=0,w=E.length;CR;0<=R?++A:--A)k.push(s(x,T));return k},"nsmallest"),y=o(function(x,b,T,C){var w,E,_;for(C==null&&(C=n),w=x[T];T>b;){if(_=T-1>>1,E=x[_],C(w,E)<0){x[T]=E,T=_;continue}break}return x[T]=w},"_siftdown"),v=o(function(x,b,T){var C,w,E,_,A;for(T==null&&(T=n),w=x.length,A=b,E=x[b],C=2*b+1;C0;){var E=b.pop(),_=v(E),A=E.id();if(p[A]=_,_!==1/0)for(var D=E.neighborhood().intersect(g),O=0;O0)for(B.unshift(P);d[z];){var $=d[z];B.unshift($.edge),B.unshift($.node),F=$.node,z=F.id()}return l.spawn(B)},"pathTo")}},"dijkstra")},NYe={kruskal:o(function(e){e=e||function(T){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),l=n,u=o(function(C){for(var w=0;w0;){if(w(),_++,C===f){for(var A=[],D=a,O=f,R=x[O];A.unshift(D),R!=null&&A.unshift(R),D=v[O],D!=null;)O=D.id(),R=x[O];return{found:!0,distance:d[C],path:this.spawn(A),steps:_}}m[C]=!0;for(var k=T._private.edges,L=0;LR&&(g[O]=R,b[O]=D,T[O]=w),!a){var k=D*f+A;!a&&g[k]>R&&(g[k]=R,b[k]=A,T[k]=w)}}}for(var L=0;L1&&arguments[1]!==void 0?arguments[1]:s,ye=T(ae),Be=[],He=ye;;){if(He==null)return r.spawn();var ze=b(He),Le=ze.edge,Ie=ze.pred;if(Be.unshift(He[0]),He.same(Oe)&&Be.length>0)break;Le!=null&&Be.unshift(Le),He=Ie}return u.spawn(Be)},"pathTo"),E=0;E=0;f--){var d=h[f],p=d[1],m=d[2];(r[p]===l&&r[m]===u||r[p]===u&&r[m]===l)&&h.splice(f,1)}for(var g=0;gi;){var a=Math.floor(Math.random()*r.length);r=zYe(a,e,r),n--}return r},"contractUntil"),GYe={kargerStein:o(function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(B){return B.isLoop()});var a=n.length,s=i.length,l=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),u=Math.floor(a/$Ye);if(a<2){oi("At least 2 nodes are required for Karger-Stein algorithm");return}for(var h=[],f=0;f1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n0&&e.splice(0,r));for(var l=0,u=e.length-1;u>=0;u--){var h=e[u];s?isFinite(h)||(e[u]=-1/0,l++):e.splice(u,1)}a&&e.sort(function(p,m){return p-m});var f=e.length,d=Math.floor(f/2);return f%2!==0?e[d+1+l]:(e[d-1+l]+e[d+l])/2},"median"),YYe=o(function(e){return Math.PI*e/180},"deg2rad"),d6=o(function(e,r){return Math.atan2(r,e)-Math.PI/2},"getAngleFromDisp"),zB=Math.log2||function(t){return Math.log(t)/Math.log(2)},Ege=o(function(e){return e>0?1:e<0?-1:0},"signum"),Yp=o(function(e,r){return Math.sqrt(Gp(e,r))},"dist"),Gp=o(function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},"sqdist"),XYe=o(function(e){for(var r=e.length,n=0,i=0;i=e.x1&&e.y2>=e.y1)return{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,w:e.x2-e.x1,h:e.y2-e.y1};if(e.w!=null&&e.h!=null&&e.w>=0&&e.h>=0)return{x1:e.x1,y1:e.y1,x2:e.x1+e.w,y2:e.y1+e.h,w:e.w,h:e.h}}},"makeBoundingBox"),KYe=o(function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},"copyBoundingBox"),QYe=o(function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},"clearBoundingBox"),ZYe=o(function(e,r,n){return{x1:e.x1+r,x2:e.x2+r,y1:e.y1+n,y2:e.y2+n,w:e.w,h:e.h}},"shiftBoundingBox"),Sge=o(function(e,r){e.x1=Math.min(e.x1,r.x1),e.x2=Math.max(e.x2,r.x2),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,r.y1),e.y2=Math.max(e.y2,r.y2),e.h=e.y2-e.y1},"updateBoundingBox"),JYe=o(function(e,r,n){e.x1=Math.min(e.x1,r),e.x2=Math.max(e.x2,r),e.w=e.x2-e.x1,e.y1=Math.min(e.y1,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},"expandBoundingBoxByPoint"),C6=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.x1-=r,e.x2+=r,e.y1-=r,e.y2+=r,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBox"),A6=o(function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var l=Li(r,4);n=l[0],i=l[1],a=l[2],s=l[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},"expandBoundingBoxSides"),Y0e=o(function(e,r){e.x1=r.x1,e.y1=r.y1,e.x2=r.x2,e.y2=r.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1},"assignBoundingBox"),GB=o(function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2r.y2||r.y1>e.y2)},"boundingBoxesIntersect"),Q1=o(function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},"inBoundingBox"),eXe=o(function(e,r){return Q1(e,r.x,r.y)},"pointInBoundingBox"),Cge=o(function(e,r){return Q1(e,r.x1,r.y1)&&Q1(e,r.x2,r.y2)},"boundingBoxInBoundingBox"),Age=o(function(e,r,n,i,a,s,l){var u=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",h=u==="auto"?Xp(a,s):u,f=a/2,d=s/2;h=Math.min(h,f,d);var p=h!==f,m=h!==d,g;if(p){var y=n-f+h-l,v=i-d-l,x=n+f-h+l,b=v;if(g=_f(e,r,n,i,y,v,x,b,!1),g.length>0)return g}if(m){var T=n+f+l,C=i-d+h-l,w=T,E=i+d-h+l;if(g=_f(e,r,n,i,T,C,w,E,!1),g.length>0)return g}if(p){var _=n-f+h-l,A=i+d+l,D=n+f-h+l,O=A;if(g=_f(e,r,n,i,_,A,D,O,!1),g.length>0)return g}if(m){var R=n-f-l,k=i-d+h-l,L=R,S=i+d-h+l;if(g=_f(e,r,n,i,R,k,L,S,!1),g.length>0)return g}var I;{var M=n-f+h,P=i-d+h;if(I=qb(e,r,n,i,M,P,h+l),I.length>0&&I[0]<=M&&I[1]<=P)return[I[0],I[1]]}{var B=n+f-h,F=i-d+h;if(I=qb(e,r,n,i,B,F,h+l),I.length>0&&I[0]>=B&&I[1]<=F)return[I[0],I[1]]}{var z=n+f-h,$=i+d-h;if(I=qb(e,r,n,i,z,$,h+l),I.length>0&&I[0]>=z&&I[1]>=$)return[I[0],I[1]]}{var U=n-f+h,K=i+d-h;if(I=qb(e,r,n,i,U,K,h+l),I.length>0&&I[0]<=U&&I[1]>=K)return[I[0],I[1]]}return[]},"roundRectangleIntersectLine"),tXe=o(function(e,r,n,i,a,s,l){var u=l,h=Math.min(n,a),f=Math.max(n,a),d=Math.min(i,s),p=Math.max(i,s);return h-u<=e&&e<=f+u&&d-u<=r&&r<=p+u},"inLineVicinity"),rXe=o(function(e,r,n,i,a,s,l,u,h){var f={x1:Math.min(n,l,a)-h,x2:Math.max(n,l,a)+h,y1:Math.min(i,u,s)-h,y2:Math.max(i,u,s)+h};return!(ef.x2||rf.y2)},"inBezierVicinity"),nXe=o(function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),l=2*e,u=(-r+s)/l,h=(-r-s)/l;return[u,h]},"solveQuadratic"),iXe=o(function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var l,u,h,f,d,p,m,g;if(u=(3*n-r*r)/9,h=-(27*i)+r*(9*n-2*(r*r)),h/=54,l=u*u*u+h*h,a[1]=0,m=r/3,l>0){d=h+Math.sqrt(l),d=d<0?-Math.pow(-d,1/3):Math.pow(d,1/3),p=h-Math.sqrt(l),p=p<0?-Math.pow(-p,1/3):Math.pow(p,1/3),a[0]=-m+d+p,m+=(d+p)/2,a[4]=a[2]=-m,m=Math.sqrt(3)*(-p+d)/2,a[3]=m,a[5]=-m;return}if(a[5]=a[3]=0,l===0){g=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),a[0]=-m+2*g,a[4]=a[2]=-(g+m);return}u=-u,f=u*u*u,f=Math.acos(h/Math.sqrt(f)),g=2*Math.sqrt(u),a[0]=-m+g*Math.cos(f/3),a[2]=-m+g*Math.cos((f+2*Math.PI)/3),a[4]=-m+g*Math.cos((f+4*Math.PI)/3)},"solveCubic"),aXe=o(function(e,r,n,i,a,s,l,u){var h=1*n*n-4*n*a+2*n*l+4*a*a-4*a*l+l*l+i*i-4*i*s+2*i*u+4*s*s-4*s*u+u*u,f=1*9*n*a-3*n*n-3*n*l-6*a*a+3*a*l+9*i*s-3*i*i-3*i*u-6*s*s+3*s*u,d=1*3*n*n-6*n*a+n*l-n*e+2*a*a+2*a*e-l*e+3*i*i-6*i*s+i*u-i*r+2*s*s+2*s*r-u*r,p=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,m=[];iXe(h,f,d,p,m);for(var g=1e-7,y=[],v=0;v<6;v+=2)Math.abs(m[v+1])=0&&m[v]<=1&&y.push(m[v]);y.push(1),y.push(0);for(var x=-1,b,T,C,w=0;w=0?Ch?(e-a)*(e-a)+(r-s)*(r-s):f-p},"sqdistToFiniteLine"),Hs=o(function(e,r,n){for(var i,a,s,l,u,h=0,f=0;f=e&&e>=s||i<=e&&e<=s)u=(e-i)/(s-i)*(l-a)+a,u>r&&h++;else continue;return h%2!==0},"pointInsidePolygonPoints"),eh=o(function(e,r,n,i,a,s,l,u,h){var f=new Array(n.length),d;u[0]!=null?(d=Math.atan(u[1]/u[0]),u[0]<0?d=d+Math.PI/2:d=-d-Math.PI/2):d=u;for(var p=Math.cos(-d),m=Math.sin(-d),g=0;g0){var v=$6(f,-h);y=F6(v)}else y=f;return Hs(e,r,y)},"pointInsidePolygon"),oXe=o(function(e,r,n,i,a,s,l,u){for(var h=new Array(n.length*2),f=0;f=0&&v<=1&&b.push(v),x>=0&&x<=1&&b.push(x),b.length===0)return[];var T=b[0]*u[0]+e,C=b[0]*u[1]+r;if(b.length>1){if(b[0]==b[1])return[T,C];var w=b[1]*u[0]+e,E=b[1]*u[1]+r;return[T,C,w,E]}else return[T,C]},"intersectLineCircle"),iB=o(function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},"midOfThree"),_f=o(function(e,r,n,i,a,s,l,u,h){var f=e-a,d=n-e,p=l-a,m=r-s,g=i-r,y=u-s,v=p*m-y*f,x=d*m-g*f,b=y*d-p*g;if(b!==0){var T=v/b,C=x/b,w=.001,E=0-w,_=1+w;return E<=T&&T<=_&&E<=C&&C<=_?[e+T*d,r+T*g]:h?[e+T*d,r+T*g]:[]}else return v===0||x===0?iB(e,n,l)===l?[l,u]:iB(e,n,a)===a?[a,s]:iB(a,l,n)===n?[n,i]:[]:[]},"finiteLinesIntersect"),i4=o(function(e,r,n,i,a,s,l,u){var h=[],f,d=new Array(n.length),p=!0;s==null&&(p=!1);var m;if(p){for(var g=0;g0){var y=$6(d,-u);m=F6(y)}else m=d}else m=n;for(var v,x,b,T,C=0;C2){for(var g=[f[0],f[1]],y=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),v=1;vf&&(f=C)},"set"),get:o(function(T){return h[T]},"get")},p=0;p0?M=I.edgesTo(S)[0]:M=S.edgesTo(I)[0];var P=i(M);S=S.id(),A[S]>A[k]+P&&(A[S]=A[k]+P,D.nodes.indexOf(S)<0?D.push(S):D.updateItem(S),_[S]=0,E[S]=[]),A[S]==A[k]+P&&(_[S]=_[S]+_[k],E[S].push(k))}else for(var B=0;B0;){for(var U=w.pop(),K=0;K0&&l.push(n[u]);l.length!==0&&a.push(i.collection(l))}return a},"assign"),kXe=o(function(e,r){for(var n=0;n5&&arguments[5]!==void 0?arguments[5]:CXe,l=i,u,h,f=0;f=2?Fb(e,r,n,0,Z0e,AXe):Fb(e,r,n,0,Q0e)},"euclidean"),squaredEuclidean:o(function(e,r,n){return Fb(e,r,n,0,Z0e)},"squaredEuclidean"),manhattan:o(function(e,r,n){return Fb(e,r,n,0,Q0e)},"manhattan"),max:o(function(e,r,n){return Fb(e,r,n,-1/0,_Xe)},"max")};Z1["squared-euclidean"]=Z1.squaredEuclidean;Z1.squaredeuclidean=Z1.squaredEuclidean;o(Q6,"clusteringDistance");DXe=aa({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),UB=o(function(e){return DXe(e)},"setOptions"),z6=o(function(e,r,n,i,a){var s=a!=="kMedoids",l=s?function(d){return n[d]}:function(d){return i[d](n)},u=o(function(p){return i[p](r)},"getQ"),h=n,f=r;return Q6(e,i.length,l,u,h,f)},"getDist"),aB=o(function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),l=new Array(r),u=null,h=0;hn)return!1}return!0},"haveMatricesConverged"),NXe=o(function(e,r,n){for(var i=0;il&&(l=r[h][f],u=f);a[u].push(e[h])}for(var d=0;d=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[s],y=r[i[s]],v;a.mode==="dendrogram"?v={left:g,right:y,key:g.key}:v={value:g.value.concat(y.value),key:g.key},e[g.index]=v,e.splice(y.index,1),r[g.key]=v;for(var x=0;xn[y.key][b.key]&&(u=n[y.key][b.key])):a.linkage==="max"?(u=n[g.key][b.key],n[g.key][b.key]0&&i.push(a);return i},"findExemplars"),ime=o(function(e,r,n){for(var i=[],a=0;al&&(s=h,l=r[a*e+h])}s>0&&i.push(s)}for(var f=0;fh&&(u=f,h=d)}n[a]=s[u]}return i=ime(e,r,n),i},"assign"),ame=o(function(e){for(var r=this.cy(),n=this.nodes(),i=qXe(e),a={},s=0;s=R?(k=R,R=S,L=I):S>k&&(k=S);for(var M=0;M0?1:0;_[D%i.minIterations*l+U]=K,$+=K}if($>0&&(D>=i.minIterations-1||D==i.maxIterations-1)){for(var ee=0,Y=0;Y1||E>1)&&(l=!0),d[T]=[],b.outgoers().forEach(function(A){A.isEdge()&&d[T].push(A.id())})}else p[T]=[void 0,b.target().id()]}):s.forEach(function(b){var T=b.id();if(b.isNode()){var C=b.degree(!0);C%2&&(u?h?l=!0:h=T:u=T),d[T]=[],b.connectedEdges().forEach(function(w){return d[T].push(w.id())})}else p[T]=[b.source().id(),b.target().id()]});var m={found:!1,trail:void 0};if(l)return m;if(h&&u)if(a){if(f&&h!=f)return m;f=h}else{if(f&&h!=f&&u!=f)return m;f||(f=h)}else f||(f=s[0].id());var g=o(function(T){for(var C=T,w=[T],E,_,A;d[C].length;)E=d[C].shift(),_=p[E][0],A=p[E][1],C!=A?(d[A]=d[A].filter(function(D){return D!=E}),C=A):!a&&C!=_&&(d[_]=d[_].filter(function(D){return D!=E}),C=_),w.unshift(E),w.unshift(C);return w},"walk"),y=[],v=[];for(v=g(f);v.length!=1;)d[v[0]].length==0?(y.unshift(s.getElementById(v.shift())),y.unshift(s.getElementById(v.shift()))):v=g(v.shift()).concat(v);y.unshift(s.getElementById(v.shift()));for(var x in d)if(d[x].length)return m;return m.found=!0,m.trail=this.spawn(y,!0),m},"hierholzer")},g6=o(function(){var e=this,r={},n=0,i=0,a=[],s=[],l={},u=o(function(p,m){for(var g=s.length-1,y=[],v=e.spawn();s[g].x!=p||s[g].y!=m;)y.push(s.pop().edge),g--;y.push(s.pop().edge),y.forEach(function(x){var b=x.connectedNodes().intersection(e);v.merge(x),b.forEach(function(T){var C=T.id(),w=T.connectedEdges().intersection(e);v.merge(T),r[C].cutVertex?v.merge(w.filter(function(E){return E.isLoop()})):v.merge(w)})}),a.push(v)},"buildComponent"),h=o(function d(p,m,g){p===g&&(i+=1),r[m]={id:n,low:n++,cutVertex:!1};var y=e.getElementById(m).connectedEdges().intersection(e);if(y.size()===0)a.push(e.spawn(e.getElementById(m)));else{var v,x,b,T;y.forEach(function(C){v=C.source().id(),x=C.target().id(),b=v===m?x:v,b!==g&&(T=C.id(),l[T]||(l[T]=!0,s.push({x:m,y:b,edge:C})),b in r?r[m].low=Math.min(r[m].low,r[b].id):(d(p,b,m),r[m].low=Math.min(r[m].low,r[b].low),r[m].id<=r[b].low&&(r[m].cutVertex=!0,u(m,b))))})}},"biconnectedSearch");e.forEach(function(d){if(d.isNode()){var p=d.id();p in r||(i=0,h(p,p),r[p].cutVertex=i>1)}});var f=Object.keys(r).filter(function(d){return r[d].cutVertex}).map(function(d){return e.getElementById(d)});return{cut:e.spawn(f),components:a}},"hopcroftTarjanBiconnected"),eje={hopcroftTarjanBiconnected:g6,htbc:g6,htb:g6,hopcroftTarjanBiconnectedComponents:g6},y6=o(function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),l=o(function u(h){a.push(h),r[h]={index:n,low:n++,explored:!1};var f=e.getElementById(h).connectedEdges().intersection(e);if(f.forEach(function(y){var v=y.target().id();v!==h&&(v in r||u(v),r[v].explored||(r[h].low=Math.min(r[h].low,r[v].low)))}),r[h].index===r[h].low){for(var d=e.spawn();;){var p=a.pop();if(d.merge(e.getElementById(p)),r[p].low=r[h].index,r[p].explored=!0,p===h)break}var m=d.edgesWith(d),g=d.merge(m);i.push(g),s=s.difference(g)}},"stronglyConnectedSearch");return e.forEach(function(u){if(u.isNode()){var h=u.id();h in r||l(h)}}),{cut:s,components:i}},"tarjanStronglyConnected"),tje={tarjanStronglyConnected:y6,tsc:y6,tscc:y6,tarjanStronglyConnectedComponents:y6},Ige={};[r4,RYe,NYe,IYe,PYe,FYe,GYe,fXe,Y1,X1,bB,SXe,FXe,HXe,QXe,JXe,eje,tje].forEach(function(t){ir(Ige,t)});Oge=0,Pge=1,Bge=2,th=o(function t(e){if(!(this instanceof t))return new t(e);this.id="Thenable/1.0.7",this.state=Oge,this.fulfillValue=void 0,this.rejectReason=void 0,this.onFulfilled=[],this.onRejected=[],this.proxy={then:this.then.bind(this)},typeof e=="function"&&e.call(this,this.fulfill.bind(this),this.reject.bind(this))},"api");th.prototype={fulfill:o(function(e){return sme(this,Pge,"fulfillValue",e)},"fulfill"),reject:o(function(e){return sme(this,Bge,"rejectReason",e)},"reject"),then:o(function(e,r){var n=this,i=new th;return n.onFulfilled.push(lme(e,i,"fulfill")),n.onRejected.push(lme(r,i,"reject")),Fge(n),i.proxy},"then")};sme=o(function(e,r,n,i){return e.state===Oge&&(e.state=r,e[n]=i,Fge(e)),e},"deliver"),Fge=o(function(e){e.state===Pge?ome(e,"onFulfilled",e.fulfillValue):e.state===Bge&&ome(e,"onRejected",e.rejectReason)},"execute"),ome=o(function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=o(function(){for(var l=0;l0},"animatedImpl")},"animated"),clearQueue:o(function(){return o(function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s0&&this.spawn(i).updateStyle().emit("class"),r},"classes"),addClass:o(function(e){return this.toggleClass(e,!0)},"addClass"),hasClass:o(function(e){var r=this[0];return r!=null&&r._private.classes.has(e)},"hasClass"),toggleClass:o(function(e,r){kn(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,l=n.length;s0&&this.spawn(a).updateStyle().emit("class"),n},"toggleClass"),removeClass:o(function(e){return this.toggleClass(e,!1)},"removeClass"),flashClass:o(function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n},"flashClass")};_6.className=_6.classNames=_6.classes;Gr={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Ui,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Gr.variable="(?:[\\w-.]|(?:\\\\"+Gr.metaChar+"))+";Gr.className="(?:[\\w-]|(?:\\\\"+Gr.metaChar+"))+";Gr.value=Gr.string+"|"+Gr.number;Gr.id=Gr.variable;(function(){var t,e,r;for(t=Gr.comparatorOp.split("|"),r=0;r=0)&&e!=="="&&(Gr.comparatorOp+="|\\!"+e)})();mn=o(function(){return{checks:[]}},"newQuery"),$t={GROUP:0,COLLECTION:1,FILTER:2,DATA_COMPARE:3,DATA_EXIST:4,DATA_BOOL:5,META_COMPARE:6,STATE:7,ID:8,CLASS:9,UNDIRECTED_EDGE:10,DIRECTED_EDGE:11,NODE_SOURCE:12,NODE_TARGET:13,NODE_NEIGHBOR:14,CHILD:15,DESCENDANT:16,PARENT:17,ANCESTOR:18,COMPOUND_SPLIT:19,TRUE:20},wB=[{selector:":selected",matches:o(function(e){return e.selected()},"matches")},{selector:":unselected",matches:o(function(e){return!e.selected()},"matches")},{selector:":selectable",matches:o(function(e){return e.selectable()},"matches")},{selector:":unselectable",matches:o(function(e){return!e.selectable()},"matches")},{selector:":locked",matches:o(function(e){return e.locked()},"matches")},{selector:":unlocked",matches:o(function(e){return!e.locked()},"matches")},{selector:":visible",matches:o(function(e){return e.visible()},"matches")},{selector:":hidden",matches:o(function(e){return!e.visible()},"matches")},{selector:":transparent",matches:o(function(e){return e.transparent()},"matches")},{selector:":grabbed",matches:o(function(e){return e.grabbed()},"matches")},{selector:":free",matches:o(function(e){return!e.grabbed()},"matches")},{selector:":removed",matches:o(function(e){return e.removed()},"matches")},{selector:":inside",matches:o(function(e){return!e.removed()},"matches")},{selector:":grabbable",matches:o(function(e){return e.grabbable()},"matches")},{selector:":ungrabbable",matches:o(function(e){return!e.grabbable()},"matches")},{selector:":animated",matches:o(function(e){return e.animated()},"matches")},{selector:":unanimated",matches:o(function(e){return!e.animated()},"matches")},{selector:":parent",matches:o(function(e){return e.isParent()},"matches")},{selector:":childless",matches:o(function(e){return e.isChildless()},"matches")},{selector:":child",matches:o(function(e){return e.isChild()},"matches")},{selector:":orphan",matches:o(function(e){return e.isOrphan()},"matches")},{selector:":nonorphan",matches:o(function(e){return e.isChild()},"matches")},{selector:":compound",matches:o(function(e){return e.isNode()?e.isParent():e.source().isParent()||e.target().isParent()},"matches")},{selector:":loop",matches:o(function(e){return e.isLoop()},"matches")},{selector:":simple",matches:o(function(e){return e.isSimple()},"matches")},{selector:":active",matches:o(function(e){return e.active()},"matches")},{selector:":inactive",matches:o(function(e){return!e.active()},"matches")},{selector:":backgrounding",matches:o(function(e){return e.backgrounding()},"matches")},{selector:":nonbackgrounding",matches:o(function(e){return!e.backgrounding()},"matches")}].sort(function(t,e){return Cqe(t.selector,e.selector)}),pQe=function(){for(var t={},e,r=0;r0&&f.edgeCount>0)return un("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(f.edgeCount>1)return un("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;f.edgeCount===1&&un("The selector `"+e+"` is deprecated. Edge selectors do not take effect on changes to source and target nodes after an edge is added, for performance reasons. Use a class or data selector on edges instead, updating the class or data of an edge when your app detects a change in source or target nodes.")}return!0},"parse"),bQe=o(function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=o(function(f){return f??""},"clean"),r=o(function(f){return Jt(f)?'"'+f+'"':e(f)},"cleanVal"),n=o(function(f){return" "+f+" "},"space"),i=o(function(f,d){var p=f.type,m=f.value;switch(p){case $t.GROUP:{var g=e(m);return g.substring(0,g.length-1)}case $t.DATA_COMPARE:{var y=f.field,v=f.operator;return"["+y+n(e(v))+r(m)+"]"}case $t.DATA_BOOL:{var x=f.operator,b=f.field;return"["+e(x)+b+"]"}case $t.DATA_EXIST:{var T=f.field;return"["+T+"]"}case $t.META_COMPARE:{var C=f.operator,w=f.field;return"[["+w+n(e(C))+r(m)+"]]"}case $t.STATE:return m;case $t.ID:return"#"+m;case $t.CLASS:return"."+m;case $t.PARENT:case $t.CHILD:return a(f.parent,d)+n(">")+a(f.child,d);case $t.ANCESTOR:case $t.DESCENDANT:return a(f.ancestor,d)+" "+a(f.descendant,d);case $t.COMPOUND_SPLIT:{var E=a(f.left,d),_=a(f.subject,d),A=a(f.right,d);return E+(E.length>0?" ":"")+_+A}case $t.TRUE:return""}},"checkToString"),a=o(function(f,d){return f.checks.reduce(function(p,m,g){return p+(d===f&&g===0?"$":"")+i(m,d)},"")},"queryToString"),s="",l=0;l1&&l=0&&(r=r.replace("!",""),d=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),f=!0),(a||l||f)&&(u=!a&&!s?"":""+e,h=""+n),f&&(e=u=u.toLowerCase(),n=h=h.toLowerCase()),r){case"*=":i=u.indexOf(h)>=0;break;case"$=":i=u.indexOf(h,u.length-h.length)>=0;break;case"^=":i=u.indexOf(h)===0;break;case"=":i=e===n;break;case">":p=!0,i=e>n;break;case">=":p=!0,i=e>=n;break;case"<":p=!0,i=e1&&arguments[1]!==void 0?arguments[1]:!0;return XB(this,t,e,Yge)};o(Xge,"addParent");J1.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return XB(this,t,e,Xge)};o(_Qe,"addParentAndChildren");J1.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return XB(this,t,e,_Qe)};J1.ancestors=J1.parents;s4=jge={data:cn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),removeData:cn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:cn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:cn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:cn.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:cn.removeData({field:"rscratch",triggerEvent:!1}),id:o(function(){var e=this[0];if(e)return e._private.data.id},"id")};s4.attr=s4.data;s4.removeAttr=s4.removeData;DQe=jge,tC={};o(oB,"defineDegreeFunction");ir(tC,{degree:oB(function(t,e){return e.source().same(e.target())?2:1}),indegree:oB(function(t,e){return e.target().same(t)?1:0}),outdegree:oB(function(t,e){return e.source().same(t)?1:0})});o($1,"defineDegreeBoundsFunction");ir(tC,{minDegree:$1("degree",function(t,e){return te}),minIndegree:$1("indegree",function(t,e){return te}),minOutdegree:$1("outdegree",function(t,e){return te})});ir(tC,{totalDegree:o(function(e){for(var r=0,n=this.nodes(),i=0;i0,p=d;d&&(f=f[0]);var m=p?f.position():{x:0,y:0};r!==void 0?h.position(e,r+m[e]):a!==void 0&&h.position({x:a.x+m.x,y:a.y+m.y})}else{var g=n.position(),y=l?n.parent():null,v=y&&y.length>0,x=v;v&&(y=y[0]);var b=x?y.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!s)return;return this},"relativePosition")};Hl.modelPosition=Hl.point=Hl.position;Hl.modelPositions=Hl.points=Hl.positions;Hl.renderedPoint=Hl.renderedPosition;Hl.relativePoint=Hl.relativePosition;LQe=Kge;j1=$f={};$f.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,l=e.y1*n+i.y,u=e.y2*n+i.y;return{x1:a,x2:s,y1:l,y2:u,w:s-a,h:u-l}};$f.dirtyCompoundBoundsCache=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();return!e.styleEnabled()||!e.hasCompoundNodes()?this:(this.forEachUp(function(r){if(r.isParent()){var n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};$f.updateCompoundBounds=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,e=this.cy();if(!e.styleEnabled()||!e.hasCompoundNodes())return this;if(!t&&e.batching())return this;function r(s){if(!s.isParent())return;var l=s._private,u=s.children(),h=s.pstyle("compound-sizing-wrt-labels").value==="include",f={width:{val:s.pstyle("min-width").pfValue,left:s.pstyle("min-width-bias-left"),right:s.pstyle("min-width-bias-right")},height:{val:s.pstyle("min-height").pfValue,top:s.pstyle("min-height-bias-top"),bottom:s.pstyle("min-height-bias-bottom")}},d=u.boundingBox({includeLabels:h,includeOverlays:!1,useCache:!1}),p=l.position;(d.w===0||d.h===0)&&(d={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},d.x1=p.x-d.w/2,d.x2=p.x+d.w/2,d.y1=p.y-d.h/2,d.y2=p.y+d.h/2);function m(D,O,R){var k=0,L=0,S=O+R;return D>0&&S>0&&(k=O/S*D,L=R/S*D),{biasDiff:k,biasComplementDiff:L}}o(m,"computeBiasValues");function g(D,O,R,k){if(R.units==="%")switch(k){case"width":return D>0?R.pfValue*D:0;case"height":return O>0?R.pfValue*O:0;case"average":return D>0&&O>0?R.pfValue*(D+O)/2:0;case"min":return D>0&&O>0?D>O?R.pfValue*O:R.pfValue*D:0;case"max":return D>0&&O>0?D>O?R.pfValue*D:R.pfValue*O:0;default:return 0}else return R.units==="px"?R.pfValue:0}o(g,"computePaddingValues");var y=f.width.left.value;f.width.left.units==="px"&&f.width.val>0&&(y=y*100/f.width.val);var v=f.width.right.value;f.width.right.units==="px"&&f.width.val>0&&(v=v*100/f.width.val);var x=f.height.top.value;f.height.top.units==="px"&&f.height.val>0&&(x=x*100/f.height.val);var b=f.height.bottom.value;f.height.bottom.units==="px"&&f.height.val>0&&(b=b*100/f.height.val);var T=m(f.width.val-d.w,y,v),C=T.biasDiff,w=T.biasComplementDiff,E=m(f.height.val-d.h,x,b),_=E.biasDiff,A=E.biasComplementDiff;l.autoPadding=g(d.w,d.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),l.autoWidth=Math.max(d.w,f.width.val),p.x=(-C+d.x1+d.x2+w)/2,l.autoHeight=Math.max(d.h,f.height.val),p.y=(-_+d.y1+d.y2+A)/2}o(r,"update");for(var n=0;ne.x2?i:e.x2,e.y1=ne.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},"updateBounds"),Vp=o(function(e,r){return r==null?e:Vl(e,r.x1,r.y1,r.x2,r.y2)},"updateBoundsFromBox"),$b=o(function(e,r,n){return Ul(e,r,n)},"prefixedProperty"),v6=o(function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,l=r.pstyle(n+"-arrow-shape").value,u,h;if(l!=="none"){n==="source"?(u=a.srcX,h=a.srcY):n==="target"?(u=a.tgtX,h=a.tgtY):(u=a.midX,h=a.midY);var f=i.arrowBounds=i.arrowBounds||{},d=f[n]=f[n]||{};d.x1=u-s,d.y1=h-s,d.x2=u+s,d.y2=h+s,d.w=d.x2-d.x1,d.h=d.y2-d.y1,C6(d,1),Vl(e,d.x1,d.y1,d.x2,d.y2)}}},"updateBoundsFromArrow"),lB=o(function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,l=r.pstyle(i+"label").strValue;if(l){var u=r.pstyle("text-halign"),h=r.pstyle("text-valign"),f=$b(s,"labelWidth",n),d=$b(s,"labelHeight",n),p=$b(s,"labelX",n),m=$b(s,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,y=r.pstyle(i+"text-margin-y").pfValue,v=r.isEdge(),x=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,T=r.pstyle("text-border-width").pfValue,C=T/2,w=r.pstyle("text-background-padding").pfValue,E=2,_=d,A=f,D=A/2,O=_/2,R,k,L,S;if(v)R=p-D,k=p+D,L=m-O,S=m+O;else{switch(u.value){case"left":R=p-A,k=p;break;case"center":R=p-D,k=p+D;break;case"right":R=p,k=p+A;break}switch(h.value){case"top":L=m-_,S=m;break;case"center":L=m-O,S=m+O;break;case"bottom":L=m,S=m+_;break}}var I=g-Math.max(b,C)-w-E,M=g+Math.max(b,C)+w+E,P=y-Math.max(b,C)-w-E,B=y+Math.max(b,C)+w+E;R+=I,k+=M,L+=P,S+=B;var F=n||"main",z=a.labelBounds,$=z[F]=z[F]||{};$.x1=R,$.y1=L,$.x2=k,$.y2=S,$.w=k-R,$.h=S-L,$.leftPad=I,$.rightPad=M,$.topPad=P,$.botPad=B;var U=v&&x.strValue==="autorotate",K=x.pfValue!=null&&x.pfValue!==0;if(U||K){var ee=U?$b(a.rstyle,"labelAngle",n):x.pfValue,Y=Math.cos(ee),ce=Math.sin(ee),Z=(R+k)/2,ue=(L+S)/2;if(!v){switch(u.value){case"left":Z=k;break;case"right":Z=R;break}switch(h.value){case"top":ue=S;break;case"bottom":ue=L;break}}var Q=o(function(se,ae){return se=se-Z,ae=ae-ue,{x:se*Y-ae*ce+Z,y:se*ce+ae*Y+ue}},"rotate"),j=Q(R,L),ne=Q(R,S),te=Q(k,L),he=Q(k,S);R=Math.min(j.x,ne.x,te.x,he.x),k=Math.max(j.x,ne.x,te.x,he.x),L=Math.min(j.y,ne.y,te.y,he.y),S=Math.max(j.y,ne.y,te.y,he.y)}var le=F+"Rot",J=z[le]=z[le]||{};J.x1=R,J.y1=L,J.x2=k,J.y2=S,J.w=k-R,J.h=S-L,Vl(e,R,L,k,S),Vl(a.labelBounds.all,R,L,k,S)}return e}},"updateBoundsFromLabel"),RQe=o(function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value;if(n>0&&i>0){var a=r.pstyle("outline-offset").value,s=r.pstyle("shape").value,l=i+a,u=(e.w+l*2)/e.w,h=(e.h+l*2)/e.h,f=0,d=0;["diamond","pentagon","round-triangle"].includes(s)?(u=(e.w+l*2.4)/e.w,d=-l/3.6):["concave-hexagon","rhomboid","right-rhomboid"].includes(s)?u=(e.w+l*2.4)/e.w:s==="star"?(u=(e.w+l*2.8)/e.w,h=(e.h+l*2.6)/e.h,d=-l/3.8):s==="triangle"?(u=(e.w+l*2.8)/e.w,h=(e.h+l*2.4)/e.h,d=-l/1.4):s==="vee"&&(u=(e.w+l*4.4)/e.w,h=(e.h+l*3.8)/e.h,d=-l*.5);var p=e.h*h-e.h,m=e.w*u-e.w;if(A6(e,[Math.ceil(p/2),Math.ceil(m/2)]),f!=0||d!==0){var g=ZYe(e,f,d);Sge(e,g)}}}},"updateBoundsFromOutline"),NQe=o(function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=Ws(),l=e._private,u=e.isNode(),h=e.isEdge(),f,d,p,m,g,y,v=l.rstyle,x=u&&i?e.pstyle("bounds-expansion").pfValue:[0],b=o(function(Se){return Se.pstyle("display").value!=="none"},"isDisplayed"),T=!i||b(e)&&(!h||b(e.source())&&b(e.target()));if(T){var C=0,w=0;i&&r.includeOverlays&&(C=e.pstyle("overlay-opacity").value,C!==0&&(w=e.pstyle("overlay-padding").value));var E=0,_=0;i&&r.includeUnderlays&&(E=e.pstyle("underlay-opacity").value,E!==0&&(_=e.pstyle("underlay-padding").value));var A=Math.max(w,_),D=0,O=0;if(i&&(D=e.pstyle("width").pfValue,O=D/2),u&&r.includeNodes){var R=e.position();g=R.x,y=R.y;var k=e.outerWidth(),L=k/2,S=e.outerHeight(),I=S/2;f=g-L,d=g+L,p=y-I,m=y+I,Vl(s,f,p,d,m),i&&r.includeOutlines&&RQe(s,e)}else if(h&&r.includeEdges)if(i&&!a){var M=e.pstyle("curve-style").strValue;if(f=Math.min(v.srcX,v.midX,v.tgtX),d=Math.max(v.srcX,v.midX,v.tgtX),p=Math.min(v.srcY,v.midY,v.tgtY),m=Math.max(v.srcY,v.midY,v.tgtY),f-=O,d+=O,p-=O,m+=O,Vl(s,f,p,d,m),M==="haystack"){var P=v.haystackPts;if(P&&P.length===2){if(f=P[0].x,p=P[0].y,d=P[1].x,m=P[1].y,f>d){var B=f;f=d,d=B}if(p>m){var F=p;p=m,m=F}Vl(s,f-O,p-O,d+O,m+O)}}else if(M==="bezier"||M==="unbundled-bezier"||M.endsWith("segments")||M.endsWith("taxi")){var z;switch(M){case"bezier":case"unbundled-bezier":z=v.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":z=v.linePts;break}if(z!=null)for(var $=0;$d){var Z=f;f=d,d=Z}if(p>m){var ue=p;p=m,m=ue}f-=O,d+=O,p-=O,m+=O,Vl(s,f,p,d,m)}if(i&&r.includeEdges&&h&&(v6(s,e,"mid-source"),v6(s,e,"mid-target"),v6(s,e,"source"),v6(s,e,"target")),i){var Q=e.pstyle("ghost").value==="yes";if(Q){var j=e.pstyle("ghost-offset-x").pfValue,ne=e.pstyle("ghost-offset-y").pfValue;Vl(s,s.x1+j,s.y1+ne,s.x2+j,s.y2+ne)}}var te=l.bodyBounds=l.bodyBounds||{};Y0e(te,s),A6(te,x),C6(te,1),i&&(f=s.x1,d=s.x2,p=s.y1,m=s.y2,Vl(s,f-A,p-A,d+A,m+A));var he=l.overlayBounds=l.overlayBounds||{};Y0e(he,s),A6(he,x),C6(he,1);var le=l.labelBounds=l.labelBounds||{};le.all!=null?QYe(le.all):le.all=Ws(),i&&r.includeLabels&&(r.includeMainLabels&&lB(s,e,null),h&&(r.includeSourceLabels&&lB(s,e,"source"),r.includeTargetLabels&&lB(s,e,"target")))}return s.x1=rl(s.x1),s.y1=rl(s.y1),s.x2=rl(s.x2),s.y2=rl(s.y2),s.w=rl(s.x2-s.x1),s.h=rl(s.y2-s.y1),s.w>0&&s.h>0&&T&&(A6(s,x),C6(s,1)),s},"boundingBoxImpl"),Zge=o(function(e){var r=0,n=o(function(s){return(s?1:0)<=0;l--)s(l);return this};Pf.removeAllListeners=function(){return this.removeListener("*")};Pf.emit=Pf.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,kn(e)||(e=[e]),XQe(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var l=o(function(f){var d=n[f];if(d.type===s.type&&(!d.namespace||d.namespace===s.namespace||d.namespace===qQe)&&a.eventMatches(a.context,d,s)){var p=[s];e!=null&&SYe(p,e),a.beforeEmit(a.context,d,s),d.conf&&d.conf.one&&(a.listeners=a.listeners.filter(function(y){return y!==d}));var m=a.callbackContext(a.context,d,s),g=d.callback.apply(m,p);a.afterEmit(a.context,d,s),g===!1&&(s.stopPropagation(),s.preventDefault())}},"_loop2"),u=0;u1&&!s){var l=this.length-1,u=this[l],h=u._private.data.id;this[l]=void 0,this[e]=u,a.set(h,{ele:u,index:e})}return this.length--,this},"unmergeAt"),unmergeOne:o(function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},"unmergeOne"),unmerge:o(function(e){var r=this._private.cy;if(!e)return this;if(e&&Jt(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},"unmergeBy"),map:o(function(e,r){for(var n=[],i=this,a=0;an&&(n=u,i=l)}return{value:n,ele:i}},"max"),min:o(function(e,r){for(var n=1/0,i,a=this,s=0;s=0&&a"u"?"undefined":Hi(Symbol))!=e&&Hi(Symbol.iterator)!=e;r&&(G6[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return nge({next:o(function(){return a1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},"parsedStyle"),numericStyle:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.value}},"numericStyle"),numericStyleUnits:o(function(e){var r=this[0];if(r.cy().styleEnabled()&&r)return r.pstyle(e).units},"numericStyleUnits"),renderedStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=this[0];if(n)return r.style().getRenderedStyle(n,e)},"renderedStyle"),style:o(function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(Vr(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(Jt(e))if(r===void 0){var l=this[0];return l?a.getStylePropertyValue(l,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var u=this[0];return u?a.getRawStyle(u):void 0}return this},"style"),removeStyle:o(function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s0&&e.push(f[0]),e.push(l[0])}return this.spawn(e,!0).filter(t)},"neighborhood"),closedNeighborhood:o(function(e){return this.neighborhood().add(this).filter(e)},"closedNeighborhood"),openNeighborhood:o(function(e){return this.neighborhood(e)},"openNeighborhood")});za.neighbourhood=za.neighborhood;za.closedNeighbourhood=za.closedNeighborhood;za.openNeighbourhood=za.openNeighborhood;ir(za,{source:nl(o(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"sourceImpl"),"source"),target:nl(o(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"targetImpl"),"target"),sources:Sme({attr:"source"}),targets:Sme({attr:"target"})});o(Sme,"defineSourceFunction");ir(za,{edgesWith:nl(Cme(),"edgesWith"),edgesTo:nl(Cme({thisIsSrc:!0}),"edgesTo")});o(Cme,"defineEdgesWithFunction");ir(za,{connectedEdges:nl(function(t){for(var e=[],r=this,n=0;n0);return s},"components"),component:o(function(){var e=this[0];return e.cy().mutableElements().components(e)[0]},"component")});za.componentsOf=za.components;ka=o(function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){oi("A collection must have a reference to the core");return}var a=new Kc,s=!1;if(!r)r=[];else if(r.length>0&&Vr(r[0])&&!h4(r[0])){s=!0;for(var l=[],u=new ey,h=0,f=r.length;h0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],l,u=0,h=r.length;u0){for(var F=l.length===r.length?r:new ka(n,l),z=0;z0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(S){for(var I=S._private.edges,M=0;M0&&(t?R.emitAndNotify("remove"):e&&R.emit("remove"));for(var k=0;kf&&Math.abs(g.v)>f;);return p?function(y){return u[y*(u.length-1)|0]}:h},"springRK4Factory")}(),Rn=o(function(e,r,n,i){var a=iZe(e,r,n,i);return function(s,l,u){return s+(l-s)*a(u)}},"cubicBezier"),L6={linear:o(function(e,r,n){return e+(r-e)*n},"linear"),ease:Rn(.25,.1,.25,1),"ease-in":Rn(.42,0,1,1),"ease-out":Rn(0,0,.58,1),"ease-in-out":Rn(.42,0,.58,1),"ease-in-sine":Rn(.47,0,.745,.715),"ease-out-sine":Rn(.39,.575,.565,1),"ease-in-out-sine":Rn(.445,.05,.55,.95),"ease-in-quad":Rn(.55,.085,.68,.53),"ease-out-quad":Rn(.25,.46,.45,.94),"ease-in-out-quad":Rn(.455,.03,.515,.955),"ease-in-cubic":Rn(.55,.055,.675,.19),"ease-out-cubic":Rn(.215,.61,.355,1),"ease-in-out-cubic":Rn(.645,.045,.355,1),"ease-in-quart":Rn(.895,.03,.685,.22),"ease-out-quart":Rn(.165,.84,.44,1),"ease-in-out-quart":Rn(.77,0,.175,1),"ease-in-quint":Rn(.755,.05,.855,.06),"ease-out-quint":Rn(.23,1,.32,1),"ease-in-out-quint":Rn(.86,0,.07,1),"ease-in-expo":Rn(.95,.05,.795,.035),"ease-out-expo":Rn(.19,1,.22,1),"ease-in-out-expo":Rn(1,0,0,1),"ease-in-circ":Rn(.6,.04,.98,.335),"ease-out-circ":Rn(.075,.82,.165,1),"ease-in-out-circ":Rn(.785,.135,.15,.86),spring:o(function(e,r,n){if(n===0)return L6.linear;var i=aZe(e,r,n);return function(a,s,l){return a+(s-a)*i(l)}},"spring"),"cubic-bezier":Rn};o(_me,"getEasedValue");o(Dme,"getValue");o(z1,"ease");o(sZe,"step$1");o(Gb,"valid");o(oZe,"startAnimation");o(Lme,"stepAll");lZe={animate:cn.animate(),animation:cn.animation(),animated:cn.animated(),clearQueue:cn.clearQueue(),delay:cn.delay(),delayAnimation:cn.delayAnimation(),stop:cn.stop(),addToAnimationPool:o(function(e){var r=this;r.styleEnabled()&&r._private.aniEles.merge(e)},"addToAnimationPool"),stopAnimationLoop:o(function(){this._private.animationsRunning=!1},"stopAnimationLoop"),startAnimationLoop:o(function(){var e=this;if(e._private.animationsRunning=!0,!e.styleEnabled())return;function r(){e._private.animationsRunning&&P6(o(function(a){Lme(a,e),r()},"animationStep"))}o(r,"headlessStep");var n=e.renderer();n&&n.beforeRender?n.beforeRender(o(function(a,s){Lme(s,e)},"rendererAnimationStep"),n.beforeRenderPriorities.animations):r()},"startAnimationLoop")},cZe={qualifierCompare:o(function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},"qualifierCompare"),eventMatches:o(function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&h4(n.target)&&i.matches(n.target):!0},"eventMatches"),addEventFields:o(function(e,r){r.cy=e,r.target=e},"addEventFields"),callbackContext:o(function(e,r,n){return r.qualifier!=null?n.target:e},"callbackContext")},T6=o(function(e){return Jt(e)?new If(e):e},"argSelector"),c1e={createEmitter:o(function(){var e=this._private;return e.emitter||(e.emitter=new rC(cZe,this)),this},"createEmitter"),emitter:o(function(){return this._private.emitter},"emitter"),on:o(function(e,r,n){return this.emitter().on(e,T6(r),n),this},"on"),removeListener:o(function(e,r,n){return this.emitter().removeListener(e,T6(r),n),this},"removeListener"),removeAllListeners:o(function(){return this.emitter().removeAllListeners(),this},"removeAllListeners"),one:o(function(e,r,n){return this.emitter().one(e,T6(r),n),this},"one"),once:o(function(e,r,n){return this.emitter().one(e,T6(r),n),this},"once"),emit:o(function(e,r){return this.emitter().emit(e,r),this},"emit"),emitAndNotify:o(function(e,r){return this.emit(e),this.notify(e,r),this},"emitAndNotify")};cn.eventAliasesOn(c1e);EB={png:o(function(e){var r=this._private.renderer;return e=e||{},r.png(e)},"png"),jpg:o(function(e){var r=this._private.renderer;return e=e||{},e.bg=e.bg||"#fff",r.jpg(e)},"jpg")};EB.jpeg=EB.jpg;R6={layout:o(function(e){var r=this;if(e==null){oi("Layout options must be specified to make a layout");return}if(e.name==null){oi("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){oi("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;Jt(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(ir({},e,{cy:r,eles:a}));return s},"layout")};R6.createLayout=R6.makeLayout=R6.layout;uZe={notify:o(function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.notify(e,r)}},"notify"),notifications:o(function(e){var r=this._private;return e===void 0?r.notificationsEnabled:(r.notificationsEnabled=!!e,this)},"notifications"),noNotifications:o(function(e){this.notifications(!1),e(),this.notifications(!0)},"noNotifications"),batching:o(function(){return this._private.batchCount>0},"batching"),startBatch:o(function(){var e=this._private;return e.batchCount==null&&(e.batchCount=0),e.batchCount===0&&(e.batchStyleEles=this.collection(),e.batchNotifications={}),e.batchCount++,this},"startBatch"),endBatch:o(function(){var e=this._private;if(e.batchCount===0)return this;if(e.batchCount--,e.batchCount===0){e.batchStyleEles.updateStyle();var r=this.renderer();Object.keys(e.batchNotifications).forEach(function(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},"endBatch"),batch:o(function(e){return this.startBatch(),e(),this.endBatch(),this},"batch"),batchData:o(function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},"destroyRenderer"),onRender:o(function(e){return this.on("render",e)},"onRender"),offRender:o(function(e){return this.off("render",e)},"offRender")};SB.invalidateDimensions=SB.resize;N6={collection:o(function(e,r){return Jt(e)?this.$(e):yo(e)?e.collection():kn(e)?(r||(r={}),new ka(this,e,r.unique,r.removed)):new ka(this)},"collection"),nodes:o(function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},"nodes"),edges:o(function(e){var r=this.$(function(n){return n.isEdge()});return e?r.filter(e):r},"edges"),$:o(function(e){var r=this._private.elements;return e?r.filter(e):r.spawnSelf()},"$"),mutableElements:o(function(){return this._private.elements},"mutableElements")};N6.elements=N6.filter=N6.$;Va={},jb="t",fZe="f";Va.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a0;if(p||d&&m){var g=void 0;p&&m||p?g=h.properties:m&&(g=h.mappedProperties);for(var y=0;y1&&(C=1),l.color){var E=n.valueMin[0],_=n.valueMax[0],A=n.valueMin[1],D=n.valueMax[1],O=n.valueMin[2],R=n.valueMax[2],k=n.valueMin[3]==null?1:n.valueMin[3],L=n.valueMax[3]==null?1:n.valueMax[3],S=[Math.round(E+(_-E)*C),Math.round(A+(D-A)*C),Math.round(O+(R-O)*C),Math.round(k+(L-k)*C)];a={bypass:n.bypass,name:n.name,value:S,strValue:"rgb("+S[0]+", "+S[1]+", "+S[2]+")"}}else if(l.number){var I=n.valueMin+(n.valueMax-n.valueMin)*C;a=this.parse(n.name,I,n.bypass,p)}else return!1;if(!a)return y(),!1;a.mapping=n,n=a;break}case s.data:{for(var M=n.field.split("."),P=d.data,B=0;B0&&a>0){for(var l={},u=!1,h=0;h0?t.delayAnimation(s).play().promise().then(T):T()}).then(function(){return t.animation({style:l,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};Va.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],l=i(s);l!=null&&l(r,n)&&a(s)};Va.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};Va.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache(),i.triggersBoundsOfParallelBeziers&&e==="curve-style"&&(r==="bezier"||n==="bezier")&&t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()}),i.triggersBoundsOfConnectedEdges&&e==="display"&&(r==="none"||n==="none")&&t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};Va.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n)};g4={};g4.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var l=0;li.length?n=n.substr(i.length):n=""}o(l,"removeSelAndBlockFromRemaining");function u(){a.length>s.length?a=a.substr(s.length):a=""}for(o(u,"removePropAndValFromRem");;){var h=n.match(/^\s*$/);if(h)break;var f=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!f){un("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=f[0];var d=f[1];if(d!=="core"){var p=new If(d);if(p.invalid){un("Skipping parsing of block: Invalid selector found in string stylesheet: "+d),l();continue}}var m=f[2],g=!1;a=m;for(var y=[];;){var v=a.match(/^\s*$/);if(v)break;var x=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!x){un("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+m),g=!0;break}s=x[0];var b=x[1],T=x[2],C=e.properties[b];if(!C){un("Skipping property: Invalid property name in: "+s),u();continue}var w=r.parse(b,T);if(!w){un("Skipping property: Invalid property definition in: "+s),u();continue}y.push({name:b,val:T}),u()}if(g){l();break}r.selector(d);for(var E=0;E=7&&e[0]==="d"&&(f=new RegExp(l.data.regex).exec(e))){if(r)return!1;var p=l.data;return{name:t,value:f,strValue:""+e,mapped:p,field:f[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(d=new RegExp(l.mapData.regex).exec(e))){if(r||h.multiple)return!1;var m=l.mapData;if(!(h.color||h.number))return!1;var g=this.parse(t,d[4]);if(!g||g.mapped)return!1;var y=this.parse(t,d[5]);if(!y||y.mapped)return!1;if(g.pfValue===y.pfValue||g.strValue===y.strValue)return un("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(h.color){var v=g.value,x=y.value,b=v[0]===x[0]&&v[1]===x[1]&&v[2]===x[2]&&(v[3]===x[3]||(v[3]==null||v[3]===1)&&(x[3]==null||x[3]===1));if(b)return!1}return{name:t,value:d,strValue:""+e,mapped:m,field:d[1],fieldMin:parseFloat(d[2]),fieldMax:parseFloat(d[3]),valueMin:g.value,valueMax:y.value,bypass:r}}}if(h.multiple&&n!=="multiple"){var T;if(u?T=e.split(/\s+/):kn(e)?T=e:T=[e],h.evenMultiple&&T.length%2!==0)return null;for(var C=[],w=[],E=[],_="",A=!1,D=0;D0?" ":"")+O.strValue}return h.validate&&!h.validate(C,w)?null:h.singleEnum&&A?C.length===1&&Jt(C[0])?{name:t,value:C[0],strValue:C[0],bypass:r}:null:{name:t,value:C,pfValue:E,strValue:_,bypass:r,units:w}}var R=o(function(){for(var Q=0;Qh.max||h.strictMax&&e===h.max))return null;var M={name:t,value:e,strValue:""+e+(k||""),units:k,bypass:r};return h.unitless||k!=="px"&&k!=="em"?M.pfValue=e:M.pfValue=k==="px"||!k?e:this.getEmSizeInPixels()*e,(k==="ms"||k==="s")&&(M.pfValue=k==="ms"?e:1e3*e),(k==="deg"||k==="rad")&&(M.pfValue=k==="rad"?e:YYe(e)),k==="%"&&(M.pfValue=e/100),M}else if(h.propList){var P=[],B=""+e;if(B!=="none"){for(var F=B.split(/\s*,\s*|\s+/),z=0;z0&&l>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){u=Math.min((s-2*r)/n.w,(l-2*r)/n.h),u=u>this._private.maxZoom?this._private.maxZoom:u,u=u=n.minZoom&&(n.maxZoom=r),this},"zoomRange"),minZoom:o(function(e){return e===void 0?this._private.minZoom:this.zoomRange({min:e})},"minZoom"),maxZoom:o(function(e){return e===void 0?this._private.maxZoom:this.zoomRange({max:e})},"maxZoom"),getZoomedViewport:o(function(e){var r=this._private,n=r.pan,i=r.zoom,a,s,l=!1;if(r.zoomingEnabled||(l=!0),_t(e)?s=e:Vr(e)&&(s=e.level,e.position!=null?a=K6(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(l=!0)),s=s>r.maxZoom?r.maxZoom:s,s=sr.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=u,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var h=e.pan;_t(h.x)&&(r.pan.x=h.x,l=!1),_t(h.y)&&(r.pan.y=h.y,l=!1),l||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.join(" ")),this.notify("viewport")),this},"viewport"),center:o(function(e){var r=this.getCenterPan(e);return r&&(this._private.pan=r,this.emit("pan viewport"),this.notify("viewport")),this},"center"),getCenterPan:o(function(e,r){if(this._private.panningEnabled){if(Jt(e)){var n=e;e=this.mutableElements().filter(n)}else yo(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var l={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.y2))/2};return l}}},"getCenterPan"),reset:o(function(){return!this._private.panningEnabled||!this._private.zoomingEnabled?this:(this.viewport({pan:{x:0,y:0},zoom:1}),this)},"reset"),invalidateSize:o(function(){this._private.sizeCache=null},"invalidateSize"),size:o(function(){var e=this._private,r=e.container,n=this;return e.sizeCache=e.sizeCache||(r?function(){var i=n.window().getComputedStyle(r),a=o(function(l){return parseFloat(i.getPropertyValue(l))},"val");return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("padding-bottom")}}():{width:1,height:1})},"size"),width:o(function(){return this.size().width},"width"),height:o(function(){return this.size().height},"height"),extent:o(function(){var e=this._private.pan,r=this._private.zoom,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},"extent"),renderedExtent:o(function(){var e=this.width(),r=this.height();return{x1:0,y1:0,x2:e,y2:r,w:e,h:r}},"renderedExtent"),multiClickDebounceTime:o(function(e){if(e)this._private.multiClickDebounceTime=e;else return this._private.multiClickDebounceTime;return this},"multiClickDebounceTime")};Kp.centre=Kp.center;Kp.autolockNodes=Kp.autolock;Kp.autoungrabifyNodes=Kp.autoungrabify;l4={data:cn.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:cn.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:cn.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:cn.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};l4.attr=l4.data;l4.removeAttr=l4.removeData;c4=o(function(e){var r=this;e=ir({},e);var n=e.container;n&&!O6(n)&&O6(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=Vi!==void 0&&n!==void 0&&!e.headless,l=e;l.layout=ir({name:s?"grid":"null"},l.layout),l.renderer=ir({name:s?"canvas":"null"},l.renderer);var u=o(function(g,y,v){return y!==void 0?y:v!==void 0?v:g},"defVal"),h=this._private={container:n,ready:!1,options:l,elements:new ka(this),listeners:[],aniEles:new ka(this),data:l.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:u(!0,l.zoomingEnabled),userZoomingEnabled:u(!0,l.userZoomingEnabled),panningEnabled:u(!0,l.panningEnabled),userPanningEnabled:u(!0,l.userPanningEnabled),boxSelectionEnabled:u(!0,l.boxSelectionEnabled),autolock:u(!1,l.autolock,l.autolockNodes),autoungrabify:u(!1,l.autoungrabify,l.autoungrabifyNodes),autounselectify:u(!1,l.autounselectify),styleEnabled:l.styleEnabled===void 0?s:l.styleEnabled,zoom:_t(l.zoom)?l.zoom:1,pan:{x:Vr(l.pan)&&_t(l.pan.x)?l.pan.x:0,y:Vr(l.pan)&&_t(l.pan.y)?l.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:u(250,l.multiClickDebounceTime)};this.createEmitter(),this.selectionType(l.selectionType),this.zoomRange({min:l.minZoom,max:l.maxZoom});var f=o(function(g,y){var v=g.some(vqe);if(v)return ty.all(g).then(y);y(g)},"loadExtData");h.styleEnabled&&r.setStyle([]);var d=ir({},l,l.renderer);r.initRenderer(d);var p=o(function(g,y,v){r.notifications(!1);var x=r.mutableElements();x.length>0&&x.remove(),g!=null&&(Vr(g)||kn(g))&&r.add(g),r.one("layoutready",function(T){r.notifications(!0),r.emit(T),r.one("load",y),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",v),r.emit("done")});var b=ir({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()},"setElesAndLayout");f([l.style,l.elements],function(m){var g=m[0],y=m[1];h.styleEnabled&&r.style().append(g),p(y,function(){r.startAnimationLoop(),h.ready=!0,li(l.ready)&&r.on("ready",l.ready);for(var v=0;v0,l=!!t.boundingBox,u=e.extent(),h=Ws(l?t.boundingBox:{x1:u.x1,y1:u.y1,w:u.w,h:u.h}),f;if(yo(t.roots))f=t.roots;else if(kn(t.roots)){for(var d=[],p=0;p0;){var I=S(),M=O(I,k);if(M)I.outgoers().filter(function(ae){return ae.isNode()&&r.has(ae)}).forEach(L);else if(M===null){un("Detected double maximal shift for node `"+I.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var P=0;if(t.avoidOverlap)for(var B=0;B0&&b[0].length<=3?ze/2:0),Ie=2*Math.PI/b[Be].length*He;return Be===0&&b[0].length===1&&(Le=1),{x:he.x+Le*Math.cos(Ie),y:he.y+Le*Math.sin(Ie)}}else{var xe=b[Be].length,q=Math.max(xe===1?0:l?(h.w-t.padding*2-le.w)/((t.grid?Se:xe)-1):(h.w-t.padding*2-le.w)/((t.grid?Se:xe)+1),P),de={x:he.x+(He+1-(xe+1)/2)*q,y:he.y+(Be+1-(ce+1)/2)*J};return de}},"getPosition");return r.nodes().layoutPositions(this,t,se),this};yZe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,radius:void 0,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(h1e,"CircleLayout");h1e.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=Ws(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,h=u/Math.max(1,a.length-1),f,d=0,p=0;p1&&e.avoidOverlap){d*=1.75;var x=Math.cos(h)-Math.cos(0),b=Math.sin(h)-Math.sin(0),T=Math.sqrt(d*d/(x*x+b*b));f=Math.max(T,f)}var C=o(function(E,_){var A=e.startAngle+_*h*(i?1:-1),D=f*Math.cos(A),O=f*Math.sin(A),R={x:l.x+D,y:l.y+O};return R},"getPos");return n.nodes().layoutPositions(this,e,C),this};vZe={fit:!0,padding:30,startAngle:3/2*Math.PI,sweep:void 0,clockwise:!0,equidistant:!1,minNodeSpacing:10,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,height:void 0,width:void 0,spacingFactor:void 0,concentric:o(function(e){return e.degree()},"concentric"),levelWidth:o(function(e){return e.maxDegree()/4},"levelWidth"),animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(f1e,"ConcentricLayout");f1e.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=Ws(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),l={x:s.x1+s.w/2,y:s.y1+s.h/2},u=[],h=0,f=0;f0){var w=Math.abs(b[0].value-C.value);w>=v&&(b=[],x.push(b))}b.push(C)}var E=h+e.minNodeSpacing;if(!e.avoidOverlap){var _=x.length>0&&x[0].length>1,A=Math.min(s.w,s.h)/2-E,D=A/(x.length+_?1:0);E=Math.min(E,D)}for(var O=0,R=0;R1&&e.avoidOverlap){var I=Math.cos(S)-Math.cos(0),M=Math.sin(S)-Math.sin(0),P=Math.sqrt(E*E/(I*I+M*M));O=Math.max(P,O)}k.r=O,O+=E}if(e.equidistant){for(var B=0,F=0,z=0;z=t.numIter||(CZe(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature=t.animationThreshold&&a(),P6(d)}},"frame");f()}else{for(;h;)h=s(u),u++;Mme(n,t),l()}return this};oC.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};oC.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};bZe=o(function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=Ws(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),l={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},u=n.eles.components(),h={},f=0;f0){l.graphSet.push(A);for(var f=0;fi.count?0:i.graph},"findLCA"),wZe=o(function t(e,r,n,i){var a=i.graphSet[n];if(-10)var d=i.nodeOverlap*f,p=Math.sqrt(l*l+u*u),m=d*l/p,g=d*u/p;else var y=U6(e,l,u),v=U6(r,-1*l,-1*u),x=v.x-y.x,b=v.y-y.y,T=x*x+b*b,p=Math.sqrt(T),d=(e.nodeRepulsion+r.nodeRepulsion)/T,m=d*x/p,g=d*b/p;e.isLocked||(e.offsetX-=m,e.offsetY-=g),r.isLocked||(r.offsetX+=m,r.offsetY+=g)}},"nodeRepulsion"),DZe=o(function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},"nodesOverlap"),U6=o(function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,l=e.width||1,u=n/r,h=s/l,f={};return r===0&&0n?(f.x=i,f.y=a+s/2,f):0r&&-1*h<=u&&u<=h?(f.x=i-l/2,f.y=a-l*n/2/r,f):0=h)?(f.x=i+s*r/2/n,f.y=a+s/2,f):(0>n&&(u<=-1*h||u>=h)&&(f.x=i-s*r/2/n,f.y=a-s/2),f)},"findClippingPoint"),LZe=o(function(e,r){for(var n=0;nn){var v=r.gravity*m/y,x=r.gravity*g/y;p.offsetX+=v,p.offsetY+=x}}}}},"calculateGravityForces"),NZe=o(function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],l=e.idToIndex[s],u=e.layoutNodes[l],h=u.children;if(0n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},"limitForce"),OZe=o(function t(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLefti.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTopx&&(g+=v+r.componentSpacing,m=0,y=0,v=0)}}},"separateComponents"),PZe={fit:!0,padding:30,boundingBox:void 0,avoidOverlap:!0,avoidOverlapPadding:10,nodeDimensionsIncludeLabels:!1,spacingFactor:void 0,condense:!1,rows:void 0,cols:void 0,position:o(function(e){},"position"),sort:void 0,animate:!1,animationDuration:500,animationEasing:void 0,animateFilter:o(function(e,r){return!0},"animateFilter"),ready:void 0,stop:void 0,transform:o(function(e,r){return r},"transform")};o(p1e,"GridLayout");p1e.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=Ws(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(K){return{x:a.x1,y:a.y1}});else{var s=i.size(),l=Math.sqrt(s*a.h/a.w),u=Math.round(l),h=Math.round(a.w/a.h*l),f=o(function(ee){if(ee==null)return Math.min(u,h);var Y=Math.min(u,h);Y==u?u=ee:h=ee},"small"),d=o(function(ee){if(ee==null)return Math.max(u,h);var Y=Math.max(u,h);Y==u?u=ee:h=ee},"large"),p=e.rows,m=e.cols!=null?e.cols:e.columns;if(p!=null&&m!=null)u=p,h=m;else if(p!=null&&m==null)u=p,h=Math.ceil(s/u);else if(p==null&&m!=null)h=m,u=Math.ceil(s/h);else if(h*u>s){var g=f(),y=d();(g-1)*y>=s?f(g-1):(y-1)*g>=s&&d(y-1)}else for(;h*u=s?d(x+1):f(v+1)}var b=a.w/h,T=a.h/u;if(e.condense&&(b=0,T=0),e.avoidOverlap)for(var C=0;C=h&&(I=0,S++)},"moveToNextCell"),P={},B=0;B(I=sXe(t,e,M[P],M[P+1],M[P+2],M[P+3])))return v(_,I),!0}else if(D.edgeType==="bezier"||D.edgeType==="multibezier"||D.edgeType==="self"||D.edgeType==="compound"){for(var M=D.allpts,P=0;P+5(I=aXe(t,e,M[P],M[P+1],M[P+2],M[P+3],M[P+4],M[P+5])))return v(_,I),!0}for(var B=B||A.source,F=F||A.target,z=i.getArrowWidth(O,R),$=[{name:"source",x:D.arrowStartX,y:D.arrowStartY,angle:D.srcArrowAngle},{name:"target",x:D.arrowEndX,y:D.arrowEndY,angle:D.tgtArrowAngle},{name:"mid-source",x:D.midX,y:D.midY,angle:D.midsrcArrowAngle},{name:"mid-target",x:D.midX,y:D.midY,angle:D.midtgtArrowAngle}],P=0;P<$.length;P++){var U=$[P],K=a.arrowShapes[_.pstyle(U.name+"-arrow-shape").value],ee=_.pstyle("width").pfValue;if(K.roughCollide(t,e,z,U.angle,{x:U.x,y:U.y},ee,f)&&K.collide(t,e,z,U.angle,{x:U.x,y:U.y},ee,f))return v(_),!0}h&&l.length>0&&(x(B),x(F))}o(b,"checkEdge");function T(_,A,D){return Ul(_,A,D)}o(T,"preprop");function C(_,A){var D=_._private,O=p,R;A?R=A+"-":R="",_.boundingBox();var k=D.labelBounds[A||"main"],L=_.pstyle(R+"label").value,S=_.pstyle("text-events").strValue==="yes";if(!(!S||!L)){var I=T(D.rscratch,"labelX",A),M=T(D.rscratch,"labelY",A),P=T(D.rscratch,"labelAngle",A),B=_.pstyle(R+"text-margin-x").pfValue,F=_.pstyle(R+"text-margin-y").pfValue,z=k.x1-O-B,$=k.x2+O-B,U=k.y1-O-F,K=k.y2+O-F;if(P){var ee=Math.cos(P),Y=Math.sin(P),ce=o(function(he,le){return he=he-I,le=le-M,{x:he*ee-le*Y+I,y:he*Y+le*ee+M}},"rotate"),Z=ce(z,U),ue=ce(z,K),Q=ce($,U),j=ce($,K),ne=[Z.x+B,Z.y+F,Q.x+B,Q.y+F,j.x+B,j.y+F,ue.x+B,ue.y+F];if(Hs(t,e,ne))return v(_),!0}else if(Q1(k,t,e))return v(_),!0}}o(C,"checkLabel");for(var w=s.length-1;w>=0;w--){var E=s[w];E.isNode()?x(E)||C(E):b(E)||C(E)||C(E,"source")||C(E,"target")}return l};Zp.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=[],s=Math.min(t,r),l=Math.max(t,r),u=Math.min(e,n),h=Math.max(e,n);t=s,r=l,e=u,n=h;for(var f=Ws({x1:t,y1:e,x2:r,y2:n}),d=0;d0?-(Math.PI-e.ang):Math.PI+e.ang},"invertVec"),VZe=o(function(e,r,n,i,a){if(e!==Fme?$me(r,e,Xc):GZe(tl,Xc),$me(r,n,tl),Pme=Xc.nx*tl.ny-Xc.ny*tl.nx,Bme=Xc.nx*tl.nx-Xc.ny*-tl.ny,Zu=Math.asin(Math.max(-1,Math.min(1,Pme))),Math.abs(Zu)<1e-6){CB=r.x,AB=r.y,Up=V1=0;return}Hp=1,M6=!1,Bme<0?Zu<0?Zu=Math.PI+Zu:(Zu=Math.PI-Zu,Hp=-1,M6=!0):Zu>0&&(Hp=-1,M6=!0),r.radius!==void 0?V1=r.radius:V1=i,$p=Zu/2,w6=Math.min(Xc.len/2,tl.len/2),a?(Yc=Math.abs(Math.cos($p)*V1/Math.sin($p)),Yc>w6?(Yc=w6,Up=Math.abs(Yc*Math.sin($p)/Math.cos($p))):Up=V1):(Yc=Math.min(w6,V1),Up=Math.abs(Yc*Math.sin($p)/Math.cos($p))),_B=r.x+tl.nx*Yc,DB=r.y+tl.ny*Yc,CB=_B-tl.ny*Up*Hp,AB=DB+tl.nx*Up*Hp,v1e=r.x+Xc.nx*Yc,x1e=r.y+Xc.ny*Yc,Fme=r},"calcCornerArc");o(b1e,"drawPreparedRoundCorner");o(eF,"getRoundCorner");Ua={};Ua.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),l=t.pstyle("target-endpoint"),u=s.units!=null&&l.units!=null,h=o(function(w,E,_,A){var D=A-E,O=_-w,R=Math.sqrt(O*O+D*D);return{x:-D/R,y:O/R}},"recalcVectorNormInverse"),f=t.pstyle("edge-distances").value;switch(f){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(u){var d=this.manualEndptToPx(t.source()[0],s),p=Li(d,2),m=p[0],g=p[1],y=this.manualEndptToPx(t.target()[0],l),v=Li(y,2),x=v[0],b=v[1],T={x1:m,y1:g,x2:x,y2:b};i=h(m,g,x,b),a=T}else un("Edge ".concat(t.id()," has edge-distances:endpoints specified without manual endpoints specified via source-endpoint and target-endpoint. Falling back on edge-distances:intersection (default).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};Ua.findHaystackPoints=function(t){for(var e=0;e0?Math.max(W-pe,0):Math.min(W+pe,0)},"subDWH"),L=k(O,A),S=k(R,D),I=!1;b===h?x=Math.abs(L)>Math.abs(S)?i:n:b===u||b===l?(x=n,I=!0):(b===a||b===s)&&(x=i,I=!0);var M=x===n,P=M?S:L,B=M?R:O,F=Ege(B),z=!1;!(I&&(C||E))&&(b===l&&B<0||b===u&&B>0||b===a&&B>0||b===s&&B<0)&&(F*=-1,P=F*Math.abs(P),z=!0);var $;if(C){var U=w<0?1+w:w;$=U*P}else{var K=w<0?P:0;$=K+w*F}var ee=o(function(W){return Math.abs(W)<_||Math.abs(W)>=Math.abs(P)},"getIsTooClose"),Y=ee($),ce=ee(Math.abs(P)-Math.abs($)),Z=Y||ce;if(Z&&!z)if(M){var ue=Math.abs(B)<=p/2,Q=Math.abs(O)<=m/2;if(ue){var j=(f.x1+f.x2)/2,ne=f.y1,te=f.y2;r.segpts=[j,ne,j,te]}else if(Q){var he=(f.y1+f.y2)/2,le=f.x1,J=f.x2;r.segpts=[le,he,J,he]}else r.segpts=[f.x1,f.y2]}else{var Se=Math.abs(B)<=d/2,se=Math.abs(R)<=g/2;if(Se){var ae=(f.y1+f.y2)/2,Oe=f.x1,ye=f.x2;r.segpts=[Oe,ae,ye,ae]}else if(se){var Be=(f.x1+f.x2)/2,He=f.y1,ze=f.y2;r.segpts=[Be,He,Be,ze]}else r.segpts=[f.x2,f.y1]}else if(M){var Le=f.y1+$+(v?p/2*F:0),Ie=f.x1,xe=f.x2;r.segpts=[Ie,Le,xe,Le]}else{var q=f.x1+$+(v?d/2*F:0),de=f.y1,ie=f.y2;r.segpts=[q,de,q,ie]}if(r.isRound){var oe=t.pstyle("taxi-radius").value,V=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(oe),r.isArcRadius=new Array(r.segpts.length/2).fill(V)}};Ua.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,l=e.tgtW,u=e.tgtH,h=e.srcShape,f=e.tgtShape,d=e.srcCornerRadius,p=e.tgtCornerRadius,m=e.srcRs,g=e.tgtRs,y=!_t(r.startX)||!_t(r.startY),v=!_t(r.arrowStartX)||!_t(r.arrowStartY),x=!_t(r.endX)||!_t(r.endY),b=!_t(r.arrowEndX)||!_t(r.arrowEndY),T=3,C=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,w=T*C,E=Yp({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),_=ES.poolIndex()){var I=L;L=S,S=I}var M=D.srcPos=L.position(),P=D.tgtPos=S.position(),B=D.srcW=L.outerWidth(),F=D.srcH=L.outerHeight(),z=D.tgtW=S.outerWidth(),$=D.tgtH=S.outerHeight(),U=D.srcShape=r.nodeShapes[e.getNodeShape(L)],K=D.tgtShape=r.nodeShapes[e.getNodeShape(S)],ee=D.srcCornerRadius=L.pstyle("corner-radius").value==="auto"?"auto":L.pstyle("corner-radius").pfValue,Y=D.tgtCornerRadius=S.pstyle("corner-radius").value==="auto"?"auto":S.pstyle("corner-radius").pfValue,ce=D.tgtRs=S._private.rscratch,Z=D.srcRs=L._private.rscratch;D.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ue=0;ue0){var te=a,he=Gp(te,H1(r)),le=Gp(te,H1(ne)),J=he;if(le2){var Se=Gp(te,{x:ne[2],y:ne[3]});Se0){var ie=s,oe=Gp(ie,H1(r)),V=Gp(ie,H1(de)),Te=oe;if(V2){var W=Gp(ie,{x:de[2],y:de[3]});W=g||_){v={cp:C,segment:E};break}}if(v)break}var A=v.cp,D=v.segment,O=(g-x)/D.length,R=D.t1-D.t0,k=m?D.t0+R*O:D.t1-R*O;k=n4(0,k,1),e=q1(A.p0,A.p1,A.p2,k),p=HZe(A.p0,A.p1,A.p2,k);break}case"straight":case"segments":case"haystack":{for(var L=0,S,I,M,P,B=n.allpts.length,F=0;F+3=g));F+=2);var z=g-I,$=z/S;$=n4(0,$,1),e=jYe(M,P,$),p=k1e(M,P);break}}s("labelX",d,e.x),s("labelY",d,e.y),s("labelAutoAngle",d,p)}},"calculateEndProjection");h("source"),h("target"),this.applyLabelDimensions(t)}};Zc.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};Zc.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=this.calculateLabelDimensions(t,n),a=t.pstyle("line-height").pfValue,s=t.pstyle("text-wrap").strValue,l=Ul(r.rscratch,"labelWrapCachedLines",e)||[],u=s!=="wrap"?1:Math.max(l.length,1),h=i.height/u,f=h*a,d=i.width,p=i.height+(u-1)*(a-1)*h;Af(r.rstyle,"labelWidth",e,d),Af(r.rscratch,"labelWidth",e,d),Af(r.rstyle,"labelHeight",e,p),Af(r.rscratch,"labelHeight",e,p),Af(r.rscratch,"labelLineHeight",e,f)};Zc.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=o(function(K,ee){return ee?(Af(r.rscratch,K,e,ee),ee):Ul(r.rscratch,K,e)},"rscratch");if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var l=t.pstyle("text-wrap").value;if(l==="wrap"){var u=s("labelKey");if(u!=null&&s("labelWrapKey")===u)return s("labelWrapCachedText");for(var h="\u200B",f=i.split(` +`),d=t.pstyle("text-max-width").pfValue,p=t.pstyle("text-overflow-wrap").value,m=p==="anywhere",g=[],y=/[\s\u200b]+|$/g,v=0;vd){var w=x.matchAll(y),E="",_=0,A=go(w),D;try{for(A.s();!(D=A.n()).done;){var O=D.value,R=O[0],k=x.substring(_,O.index);_=O.index+R.length;var L=E.length===0?k:E+k+R,S=this.calculateLabelDimensions(t,L),I=S.width;I<=d?E+=k+R:(E&&g.push(E),E=k+R)}}catch(U){A.e(U)}finally{A.f()}E.match(/^[\s\u200b]+$/)||g.push(E)}else g.push(x)}s("labelWrapCachedLines",g),i=s("labelWrapCachedText",g.join(` +`)),s("labelWrapKey",u)}else if(l==="ellipsis"){var M=t.pstyle("text-max-width").pfValue,P="",B="\u2026",F=!1;if(this.calculateLabelDimensions(t,i).widthM)break;P+=i[z],z===i.length-1&&(F=!0)}return F||(P+=B),P}return i};Zc.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;if(e==="auto")if(t.isNode())switch(r){case"left":return"right";case"right":return"left";default:return"center"}else return"center";else return e};Zc.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=Nf(e,t._private.labelDimsKey),s=r.labelDimCache||(r.labelDimCache=[]),l=s[a];if(l!=null)return l;var u=0,h=t.pstyle("font-style").strValue,f=t.pstyle("font-size").pfValue,d=t.pstyle("font-family").strValue,p=t.pstyle("font-weight").strValue,m=this.labelCalcCanvas,g=this.labelCalcCanvasContext;if(!m){m=this.labelCalcCanvas=i.createElement("canvas"),g=this.labelCalcCanvasContext=m.getContext("2d");var y=m.style;y.position="absolute",y.left="-9999px",y.top="-9999px",y.zIndex="-1",y.visibility="hidden",y.pointerEvents="none"}g.font="".concat(h," ").concat(p," ").concat(f,"px ").concat(d);for(var v=0,x=0,b=e.split(` +`),T=0;T1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),l)for(var u=0;u=t.desktopTapThreshold2}var lt=a(q);at&&(t.hoverData.tapholdCancelled=!0);var Xt=o(function(){var kt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];kt.length===0?(kt.push(De[0]),kt.push(De[1])):(kt[0]+=De[0],kt[1]+=De[1])},"updateDragDelta");ie=!0,i(_e,["mousemove","vmousemove","tapdrag"],q,{x:W[0],y:W[1]});var Tt=o(function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||oe.emit({originalEvent:q,type:"boxstart",position:{x:W[0],y:W[1]}}),Pe[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()},"goIntoBoxMode");if(t.hoverData.which===3){if(at){var Mt={originalEvent:q,type:"cxtdrag",position:{x:W[0],y:W[1]}};Ve?Ve.emit(Mt):oe.emit(Mt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||_e!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit({originalEvent:q,type:"cxtdragout",position:{x:W[0],y:W[1]}}),t.hoverData.cxtOver=_e,_e&&_e.emit({originalEvent:q,type:"cxtdragover",position:{x:W[0],y:W[1]}}))}}else if(t.hoverData.dragging){if(ie=!0,oe.panningEnabled()&&oe.userPanningEnabled()){var bt;if(t.hoverData.justStartedPan){var ht=t.hoverData.mdownPos;bt={x:(W[0]-ht[0])*V,y:(W[1]-ht[1])*V},t.hoverData.justStartedPan=!1}else bt={x:De[0]*V,y:De[1]*V};oe.panBy(bt),oe.emit("dragpan"),t.hoverData.dragged=!0}W=t.projectIntoViewport(q.clientX,q.clientY)}else if(Pe[4]==1&&(Ve==null||Ve.pannable())){if(at){if(!t.hoverData.dragging&&oe.boxSelectionEnabled()&&(lt||!oe.panningEnabled()||!oe.userPanningEnabled()))Tt();else if(!t.hoverData.selecting&&oe.panningEnabled()&&oe.userPanningEnabled()){var St=s(Ve,t.hoverData.downs);St&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Pe[4]=0,t.data.bgActivePosistion=H1(pe),t.redrawHint("select",!0),t.redraw())}Ve&&Ve.pannable()&&Ve.active()&&Ve.unactivate()}}else{if(Ve&&Ve.pannable()&&Ve.active()&&Ve.unactivate(),(!Ve||!Ve.grabbed())&&_e!=be&&(be&&i(be,["mouseout","tapdragout"],q,{x:W[0],y:W[1]}),_e&&i(_e,["mouseover","tapdragover"],q,{x:W[0],y:W[1]}),t.hoverData.last=_e),Ve)if(at){if(oe.boxSelectionEnabled()&<)Ve&&Ve.grabbed()&&(x(Ye),Ve.emit("freeon"),Ye.emit("free"),t.dragData.didDrag&&(Ve.emit("dragfreeon"),Ye.emit("dragfree"))),Tt();else if(Ve&&Ve.grabbed()&&t.nodeIsDraggable(Ve)){var ft=!t.dragData.didDrag;ft&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||y(Ye,{inDragLayer:!0});var vt={x:0,y:0};if(_t(De[0])&&_t(De[1])&&(vt.x+=De[0],vt.y+=De[1],ft)){var nt=t.hoverData.dragDelta;nt&&_t(nt[0])&&_t(nt[1])&&(vt.x+=nt[0],vt.y+=nt[1])}t.hoverData.draggingEles=!0,Ye.silentShift(vt).emit("position drag"),t.redrawHint("drag",!0),t.redraw()}}else Xt();ie=!0}if(Pe[2]=W[0],Pe[3]=W[1],ie)return q.stopPropagation&&q.stopPropagation(),q.preventDefault&&q.preventDefault(),!1}},"mousemoveHandler"),!1);var k,L,S;t.registerBinding(e,"mouseup",o(function(q){if(!(t.hoverData.which===1&&q.which!==1&&t.hoverData.capture)){var de=t.hoverData.capture;if(de){t.hoverData.capture=!1;var ie=t.cy,oe=t.projectIntoViewport(q.clientX,q.clientY),V=t.selection,Te=t.findNearestElement(oe[0],oe[1],!0,!1),W=t.dragData.possibleDragElements,pe=t.hoverData.down,ve=a(q);if(t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,pe&&pe.unactivate(),t.hoverData.which===3){var Pe={originalEvent:q,type:"cxttapend",position:{x:oe[0],y:oe[1]}};if(pe?pe.emit(Pe):ie.emit(Pe),!t.hoverData.cxtDragged){var _e={originalEvent:q,type:"cxttap",position:{x:oe[0],y:oe[1]}};pe?pe.emit(_e):ie.emit(_e)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(Te,["mouseup","tapend","vmouseup"],q,{x:oe[0],y:oe[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(pe,["click","tap","vclick"],q,{x:oe[0],y:oe[1]}),L=!1,q.timeStamp-S<=ie.multiClickDebounceTime()?(k&&clearTimeout(k),L=!0,S=null,i(pe,["dblclick","dbltap","vdblclick"],q,{x:oe[0],y:oe[1]})):(k=setTimeout(function(){L||i(pe,["oneclick","onetap","voneclick"],q,{x:oe[0],y:oe[1]})},ie.multiClickDebounceTime()),S=q.timeStamp)),pe==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(q)&&(ie.$(r).unselect(["tapunselect"]),W.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=W=ie.collection()),Te==pe&&!t.dragData.didDrag&&!t.hoverData.selecting&&Te!=null&&Te._private.selectable&&(t.hoverData.dragging||(ie.selectionType()==="additive"||ve?Te.selected()?Te.unselect(["tapunselect"]):Te.select(["tapselect"]):ve||(ie.$(r).unmerge(Te).unselect(["tapunselect"]),Te.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var be=ie.collection(t.getAllInBox(V[0],V[1],V[2],V[3]));t.redrawHint("select",!0),be.length>0&&t.redrawHint("eles",!0),ie.emit({type:"boxend",originalEvent:q,position:{x:oe[0],y:oe[1]}});var Ve=o(function(at){return at.selectable()&&!at.selected()},"eleWouldBeSelected");ie.selectionType()==="additive"||ve||ie.$(r).unmerge(be).unselect(),be.emit("box").stdFilter(Ve).select().emit("boxselect"),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!V[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var De=pe&&pe.grabbed();x(W),De&&(pe.emit("freeon"),W.emit("free"),t.dragData.didDrag&&(pe.emit("dragfreeon"),W.emit("dragfree")))}}V[4]=0,t.hoverData.down=null,t.hoverData.cxtStarted=!1,t.hoverData.draggingEles=!1,t.hoverData.selecting=!1,t.hoverData.isOverThresholdDrag=!1,t.dragData.didDrag=!1,t.hoverData.dragged=!1,t.hoverData.dragDelta=[],t.hoverData.mdownPos=null,t.hoverData.mdownGPos=null,t.hoverData.which=null}}},"mouseupHandler"),!1);var I=o(function(q){if(!t.scrollingPage){var de=t.cy,ie=de.zoom(),oe=de.pan(),V=t.projectIntoViewport(q.clientX,q.clientY),Te=[V[0]*ie+oe.x,V[1]*ie+oe.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||D()){q.preventDefault();return}if(de.panningEnabled()&&de.userPanningEnabled()&&de.zoomingEnabled()&&de.userZoomingEnabled()){q.preventDefault(),t.data.wheelZooming=!0,clearTimeout(t.data.wheelTimeout),t.data.wheelTimeout=setTimeout(function(){t.data.wheelZooming=!1,t.redrawHint("eles",!0),t.redraw()},150);var W;q.deltaY!=null?W=q.deltaY/-250:q.wheelDeltaY!=null?W=q.wheelDeltaY/1e3:W=q.wheelDelta/1e3,W=W*t.wheelSensitivity;var pe=q.deltaMode===1;pe&&(W*=33);var ve=de.zoom()*Math.pow(10,W);q.type==="gesturechange"&&(ve=t.gestureStartZoom*q.scale),de.zoom({level:ve,renderedPosition:{x:Te[0],y:Te[1]}}),de.emit(q.type==="gesturechange"?"pinchzoom":"scrollzoom")}}},"wheelHandler");t.registerBinding(t.container,"wheel",I,!0),t.registerBinding(e,"scroll",o(function(q){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},"scrollHandler"),!0),t.registerBinding(t.container,"gesturestart",o(function(q){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||q.preventDefault()},"gestureStartHandler"),!0),t.registerBinding(t.container,"gesturechange",function(xe){t.hasTouchStarted||I(xe)},!0),t.registerBinding(t.container,"mouseout",o(function(q){var de=t.projectIntoViewport(q.clientX,q.clientY);t.cy.emit({originalEvent:q,type:"mouseout",position:{x:de[0],y:de[1]}})},"mouseOutHandler"),!1),t.registerBinding(t.container,"mouseover",o(function(q){var de=t.projectIntoViewport(q.clientX,q.clientY);t.cy.emit({originalEvent:q,type:"mouseover",position:{x:de[0],y:de[1]}})},"mouseOverHandler"),!1);var M,P,B,F,z,$,U,K,ee,Y,ce,Z,ue,Q=o(function(q,de,ie,oe){return Math.sqrt((ie-q)*(ie-q)+(oe-de)*(oe-de))},"distance"),j=o(function(q,de,ie,oe){return(ie-q)*(ie-q)+(oe-de)*(oe-de)},"distanceSq"),ne;t.registerBinding(t.container,"touchstart",ne=o(function(q){if(t.hasTouchStarted=!0,!!O(q)){T(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var de=t.cy,ie=t.touchData.now,oe=t.touchData.earlier;if(q.touches[0]){var V=t.projectIntoViewport(q.touches[0].clientX,q.touches[0].clientY);ie[0]=V[0],ie[1]=V[1]}if(q.touches[1]){var V=t.projectIntoViewport(q.touches[1].clientX,q.touches[1].clientY);ie[2]=V[0],ie[3]=V[1]}if(q.touches[2]){var V=t.projectIntoViewport(q.touches[2].clientX,q.touches[2].clientY);ie[4]=V[0],ie[5]=V[1]}if(q.touches[1]){t.touchData.singleTouchMoved=!0,x(t.dragData.touchDragEles);var Te=t.findContainerClientCoords();ee=Te[0],Y=Te[1],ce=Te[2],Z=Te[3],M=q.touches[0].clientX-ee,P=q.touches[0].clientY-Y,B=q.touches[1].clientX-ee,F=q.touches[1].clientY-Y,ue=0<=M&&M<=ce&&0<=B&&B<=ce&&0<=P&&P<=Z&&0<=F&&F<=Z;var W=de.pan(),pe=de.zoom();z=Q(M,P,B,F),$=j(M,P,B,F),U=[(M+B)/2,(P+F)/2],K=[(U[0]-W.x)/pe,(U[1]-W.y)/pe];var ve=200,Pe=ve*ve;if($=1){for(var st=t.touchData.startPosition=[null,null,null,null,null,null],Ue=0;Ue=t.touchTapThreshold2}if(de&&t.touchData.cxt){q.preventDefault();var st=q.touches[0].clientX-ee,Ue=q.touches[0].clientY-Y,ut=q.touches[1].clientX-ee,We=q.touches[1].clientY-Y,lt=j(st,Ue,ut,We),Xt=lt/$,Tt=150,Mt=Tt*Tt,bt=1.5,ht=bt*bt;if(Xt>=ht||lt>=Mt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var St={originalEvent:q,type:"cxttapend",position:{x:V[0],y:V[1]}};t.touchData.start?(t.touchData.start.unactivate().emit(St),t.touchData.start=null):oe.emit(St)}}if(de&&t.touchData.cxt){var St={originalEvent:q,type:"cxtdrag",position:{x:V[0],y:V[1]}};t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(St):oe.emit(St),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var ft=t.findNearestElement(V[0],V[1],!0,!0);(!t.touchData.cxtOver||ft!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit({originalEvent:q,type:"cxtdragout",position:{x:V[0],y:V[1]}}),t.touchData.cxtOver=ft,ft&&ft.emit({originalEvent:q,type:"cxtdragover",position:{x:V[0],y:V[1]}}))}else if(de&&q.touches[2]&&oe.boxSelectionEnabled())q.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||oe.emit({originalEvent:q,type:"boxstart",position:{x:V[0],y:V[1]}}),t.touchData.selecting=!0,t.touchData.didSelect=!0,ie[4]=1,!ie||ie.length===0||ie[0]===void 0?(ie[0]=(V[0]+V[2]+V[4])/3,ie[1]=(V[1]+V[3]+V[5])/3,ie[2]=(V[0]+V[2]+V[4])/3+1,ie[3]=(V[1]+V[3]+V[5])/3+1):(ie[2]=(V[0]+V[2]+V[4])/3,ie[3]=(V[1]+V[3]+V[5])/3),t.redrawHint("select",!0),t.redraw();else if(de&&q.touches[1]&&!t.touchData.didSelect&&oe.zoomingEnabled()&&oe.panningEnabled()&&oe.userZoomingEnabled()&&oe.userPanningEnabled()){q.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var vt=t.dragData.touchDragEles;if(vt){t.redrawHint("drag",!0);for(var nt=0;nt0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},"touchmoveHandler"),!1);var he;t.registerBinding(e,"touchcancel",he=o(function(q){var de=t.touchData.start;t.touchData.capture=!1,de&&de.unactivate()},"touchcancelHandler"));var le,J,Se,se;if(t.registerBinding(e,"touchend",le=o(function(q){var de=t.touchData.start,ie=t.touchData.capture;if(ie)q.touches.length===0&&(t.touchData.capture=!1),q.preventDefault();else return;var oe=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var V=t.cy,Te=V.zoom(),W=t.touchData.now,pe=t.touchData.earlier;if(q.touches[0]){var ve=t.projectIntoViewport(q.touches[0].clientX,q.touches[0].clientY);W[0]=ve[0],W[1]=ve[1]}if(q.touches[1]){var ve=t.projectIntoViewport(q.touches[1].clientX,q.touches[1].clientY);W[2]=ve[0],W[3]=ve[1]}if(q.touches[2]){var ve=t.projectIntoViewport(q.touches[2].clientX,q.touches[2].clientY);W[4]=ve[0],W[5]=ve[1]}de&&de.unactivate();var Pe;if(t.touchData.cxt){if(Pe={originalEvent:q,type:"cxttapend",position:{x:W[0],y:W[1]}},de?de.emit(Pe):V.emit(Pe),!t.touchData.cxtDragged){var _e={originalEvent:q,type:"cxttap",position:{x:W[0],y:W[1]}};de?de.emit(_e):V.emit(_e)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!q.touches[2]&&V.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var be=V.collection(t.getAllInBox(oe[0],oe[1],oe[2],oe[3]));oe[0]=void 0,oe[1]=void 0,oe[2]=void 0,oe[3]=void 0,oe[4]=0,t.redrawHint("select",!0),V.emit({type:"boxend",originalEvent:q,position:{x:W[0],y:W[1]}});var Ve=o(function(Mt){return Mt.selectable()&&!Mt.selected()},"eleWouldBeSelected");be.emit("box").stdFilter(Ve).select().emit("boxselect"),be.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(de?.unactivate(),q.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!q.touches[1]){if(!q.touches[0]){if(!q.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var De=t.dragData.touchDragEles;if(de!=null){var Ye=de._private.grabbed;x(De),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Ye&&(de.emit("freeon"),De.emit("free"),t.dragData.didDrag&&(de.emit("dragfreeon"),De.emit("dragfree"))),i(de,["touchend","tapend","vmouseup","tapdragout"],q,{x:W[0],y:W[1]}),de.unactivate(),t.touchData.start=null}else{var at=t.findNearestElement(W[0],W[1],!0,!0);i(at,["touchend","tapend","vmouseup","tapdragout"],q,{x:W[0],y:W[1]})}var Rt=t.touchData.startPosition[0]-W[0],st=Rt*Rt,Ue=t.touchData.startPosition[1]-W[1],ut=Ue*Ue,We=st+ut,lt=We*Te*Te;t.touchData.singleTouchMoved||(de||V.$(":selected").unselect(["tapunselect"]),i(de,["tap","vclick"],q,{x:W[0],y:W[1]}),J=!1,q.timeStamp-se<=V.multiClickDebounceTime()?(Se&&clearTimeout(Se),J=!0,se=null,i(de,["dbltap","vdblclick"],q,{x:W[0],y:W[1]})):(Se=setTimeout(function(){J||i(de,["onetap","voneclick"],q,{x:W[0],y:W[1]})},V.multiClickDebounceTime()),se=q.timeStamp)),de!=null&&!t.dragData.didDrag&&de._private.selectable&<"u"){var ae=[],Oe=o(function(q){return{clientX:q.clientX,clientY:q.clientY,force:1,identifier:q.pointerId,pageX:q.pageX,pageY:q.pageY,radiusX:q.width/2,radiusY:q.height/2,screenX:q.screenX,screenY:q.screenY,target:q.target}},"makeTouch"),ye=o(function(q){return{event:q,touch:Oe(q)}},"makePointer"),Be=o(function(q){ae.push(ye(q))},"addPointer"),He=o(function(q){for(var de=0;de0)return U[0]}return null},"getCurveT"),g=Object.keys(p),y=0;y0?m:Age(a,s,e,r,n,i,l,u)},"intersectLine"),checkPoint:o(function(e,r,n,i,a,s,l,u){u=u==="auto"?Xp(i,a):u;var h=2*u;if(eh(e,r,this.points,s,l,i,a-h,[0,-1],n)||eh(e,r,this.points,s,l,i-h,a,[0,-1],n))return!0;var f=i/2+2*n,d=a/2+2*n,p=[s-f,l-d,s-f,l,s+f,l,s+f,l-d];return!!(Hs(e,r,p)||Wp(e,r,h,h,s+i/2-u,l+a/2-u,n)||Wp(e,r,h,h,s-i/2+u,l+a/2-u,n))},"checkPoint")}};rh.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",ys(3,0)),this.generateRoundPolygon("round-triangle",ys(3,0)),this.generatePolygon("rectangle",ys(4,0)),t.square=t.rectangle,this.generateRoundRectangle(),this.generateCutRectangle(),this.generateBarrel(),this.generateBottomRoundrectangle();{var r=[0,1,1,0,0,-1,-1,0];this.generatePolygon("diamond",r),this.generateRoundPolygon("round-diamond",r)}this.generatePolygon("pentagon",ys(5,0)),this.generateRoundPolygon("round-pentagon",ys(5,0)),this.generatePolygon("hexagon",ys(6,0)),this.generateRoundPolygon("round-hexagon",ys(6,0)),this.generatePolygon("heptagon",ys(7,0)),this.generateRoundPolygon("round-heptagon",ys(7,0)),this.generatePolygon("octagon",ys(8,0)),this.generateRoundPolygon("round-octagon",ys(8,0));var n=new Array(20);{var i=vB(5,0),a=vB(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var l=0;l=e.deqFastCost*C)break}else if(h){if(b>=e.deqCost*m||b>=e.deqAvgCost*p)break}else if(T>=e.deqNoDrawCost*hB)break;var w=e.deq(n,v,y);if(w.length>0)for(var E=0;E0&&(e.onDeqd(n,g),!h&&e.shouldRedraw(n,g,v,y)&&a())},"dequeue"),l=e.priority||FB;i.beforeRender(s,l(n))}},"setupDequeueingImpl")},"setupDequeueing")},qZe=function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:B6;Bf(this,t),this.idsByKey=new Kc,this.keyForId=new Kc,this.cachesByLvl=new Kc,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return o(t,"ElementTextureCacheLookup"),Ff(t,[{key:"getIdsFor",value:o(function(r){r==null&&oi("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new ey,n.set(r,i)),i},"getIdsFor")},{key:"addIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).add(n)},"addIdForKey")},{key:"deleteIdForKey",value:o(function(r,n){r!=null&&this.getIdsFor(r).delete(n)},"deleteIdForKey")},{key:"getNumberOfIdsForKey",value:o(function(r){return r==null?0:this.getIdsFor(r).size},"getNumberOfIdsForKey")},{key:"updateKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)},"updateKeyMappingFor")},{key:"deleteKeyMappingFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)},"deleteKeyMappingFor")},{key:"keyHasChangedFor",value:o(function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a},"keyHasChangedFor")},{key:"isInvalid",value:o(function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)},"isInvalid")},{key:"getCachesAt",value:o(function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new Kc,n.set(r,a),i.push(r)),a},"getCachesAt")},{key:"getCache",value:o(function(r,n){return this.getCachesAt(n).get(r)},"getCache")},{key:"get",value:o(function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a},"get")},{key:"getForCachedKey",value:o(function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a},"getForCachedKey")},{key:"hasCache",value:o(function(r,n){return this.getCachesAt(n).has(r)},"hasCache")},{key:"has",value:o(function(r,n){var i=this.getKey(r);return this.hasCache(i,n)},"has")},{key:"setCache",value:o(function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)},"setCache")},{key:"set",value:o(function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)},"set")},{key:"deleteCache",value:o(function(r,n){this.getCachesAt(n).delete(r)},"deleteCache")},{key:"delete",value:o(function(r,n){var i=this.getKey(r);this.deleteCache(i,n)},"_delete")},{key:"invalidateKey",value:o(function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})},"invalidateKey")},{key:"invalidate",value:o(function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0},"invalidate")}]),t}(),Ume=25,k6=50,I6=-4,LB=3,D1e=7.99,YZe=8,XZe=1024,jZe=1024,KZe=1024,QZe=.2,ZZe=.8,JZe=10,eJe=.15,tJe=.1,rJe=.9,nJe=.9,iJe=100,aJe=1,W1={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},sJe=aa({getKey:null,doesEleInvalidateKey:B6,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:xge,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),Xb=o(function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=sJe(r);ir(n,i),n.lookup=new qZe(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},"ElementTextureCache"),Wi=Xb.prototype;Wi.reasons=W1;Wi.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};Wi.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};Wi.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new p4(function(r,n){return n.reqs-r.reqs});return e};Wi.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};Wi.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,l=s.cy.zoom(),u=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(zB(l*r))),n=D1e||n>LB)return null;var h=Math.pow(2,n),f=e.h*h,d=e.w*h,p=s.eleTextBiggerThanMin(t,h);if(!this.isVisible(t,p))return null;var m=u.get(t,n);if(m&&m.invalidated&&(m.invalidated=!1,m.texture.invalidatedWidth-=m.width),m)return m;var g;if(f<=Ume?g=Ume:f<=k6?g=k6:g=Math.ceil(f/k6)*k6,f>KZe||d>jZe)return null;var y=a.getTextureQueue(g),v=y[y.length-2],x=o(function(){return a.recycleTexture(g,d)||a.addTexture(g,d)},"addNewTxr");v||(v=y[y.length-1]),v||(v=x()),v.width-v.usedWidthn;R--)D=a.getElement(t,e,r,R,W1.downscale);O()}else return a.queueElement(t,E.level-1),E;else{var k;if(!T&&!C&&!w)for(var L=n-1;L>=I6;L--){var S=u.get(t,L);if(S){k=S;break}}if(b(k))return a.queueElement(t,n),k;v.context.translate(v.usedWidth,0),v.context.scale(h,h),this.drawElement(v.context,t,e,p,!1),v.context.scale(1/h,1/h),v.context.translate(-v.usedWidth,0)}return m={x:v.usedWidth,texture:v,level:n,scale:h,width:d,height:f,scaledLabelShown:p},v.usedWidth+=Math.ceil(d+YZe),v.eleCaches.push(m),u.set(t,n,m),a.checkTextureFullness(v),m};Wi.invalidateElements=function(t){for(var e=0;e=QZe*t.width&&this.retireTexture(t)};Wi.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>ZZe&&t.fullnessChecks>=JZe?Mf(r,t):t.fullnessChecks++};Wi.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;Mf(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,$B(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),Mf(i,s),n.push(s),s}};Wi.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var l={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(l),i[a]=l}};Wi.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s0;s++){var l=r.pop(),u=l.key,h=l.eles[0],f=a.hasCache(h,l.level);if(n[u]=null,f)continue;i.push(l);var d=e.getBoundingBox(h);e.getElement(h,d,t,l.level,W1.dequeue)}return i};Wi.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=BB,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};Wi.onDequeue=function(t){this.onDequeues.push(t)};Wi.offDequeue=function(t){Mf(this.onDequeues,t)};Wi.setupDequeueing=_1e.setupDequeueing({deqRedrawThreshold:iJe,deqCost:eJe,deqAvgCost:tJe,deqNoDrawCost:rJe,deqFastCost:nJe,deq:o(function(e,r,n){return e.dequeue(r,n)},"deq"),onDeqd:o(function(e,r){for(var n=0;n=lJe||r>W6)return null}n.validateLayersElesOrdering(r,t);var u=n.layersByLevel,h=Math.pow(2,r),f=u[r]=u[r]||[],d,p=n.levelIsComplete(r,t),m,g=o(function(){var O=o(function(I){if(n.validateLayersElesOrdering(I,t),n.levelIsComplete(I,t))return m=u[I],!0},"canUseAsTmpLvl"),R=o(function(I){if(!m)for(var M=r+I;Kb<=M&&M<=W6&&!O(M);M+=I);},"checkLvls");R(1),R(-1);for(var k=f.length-1;k>=0;k--){var L=f[k];L.invalid&&Mf(f,L)}},"checkTempLevels");if(!p)g();else return f;var y=o(function(){if(!d){d=Ws();for(var O=0;OWme||L>Wme)return null;var S=k*L;if(S>gJe)return null;var I=n.makeLayer(d,r);if(R!=null){var M=f.indexOf(R)+1;f.splice(M,0,I)}else(O.insert===void 0||O.insert)&&f.unshift(I);return I},"makeLayer");if(n.skipping&&!l)return null;for(var x=null,b=t.length/oJe,T=!l,C=0;C=b||!Cge(x.bb,w.boundingBox()))&&(x=v({insert:!0,after:x}),!x))return null;m||T?n.queueLayer(x,w):n.drawEleInLayer(x,w,r,e),x.eles.push(w),_[r]=x}return m||(T?null:f)};Ea.getEleLevelForLayerLevel=function(t,e){return t};Ea.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,l=e.boundingBox();l.w===0||l.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,yJe),a.setImgSmoothing(s,!0))};Ea.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Ea.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n0){e=!0;break}}return e};Ea.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=Ju(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,o(function(n,i,a){e.invalidateLayer(n)},"invalAssocLayers")))};Ea.invalidateLayer=function(t){if(this.lastInvalidationTime=Ju(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];Mf(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l=e._private.rscratch;if(!(a&&!e.visible())&&!(l.badLine||l.allpts==null||isNaN(l.allpts[0]))){var u;r&&(u=r,t.translate(-u.x1,-u.y1));var h=a?e.pstyle("opacity").value:1,f=a?e.pstyle("line-opacity").value:1,d=e.pstyle("curve-style").value,p=e.pstyle("line-style").value,m=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,y=e.pstyle("line-outline-width").value,v=e.pstyle("line-outline-color").value,x=h*f,b=h*f,T=o(function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;d==="straight-triangle"?(s.eleStrokeStyle(t,e,I),s.drawEdgeTrianglePath(e,t,l.allpts)):(t.lineWidth=m,t.lineCap=g,s.eleStrokeStyle(t,e,I),s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLine"),C=o(function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:x;if(t.lineWidth=m+y,t.lineCap=g,y>0)s.colorStrokeStyle(t,v[0],v[1],v[2],I);else{t.lineCap="butt";return}d==="straight-triangle"?s.drawEdgeTrianglePath(e,t,l.allpts):(s.drawEdgePath(e,t,l.allpts,p),t.lineCap="butt")},"drawLineOutline"),w=o(function(){i&&s.drawEdgeOverlay(t,e)},"drawOverlay"),E=o(function(){i&&s.drawEdgeUnderlay(t,e)},"drawUnderlay"),_=o(function(){var I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(t,e,I)},"drawArrows"),A=o(function(){s.drawElementText(t,e,null,n)},"drawText");t.lineJoin="round";var D=e.pstyle("ghost").value==="yes";if(D){var O=e.pstyle("ghost-offset-x").pfValue,R=e.pstyle("ghost-offset-y").pfValue,k=e.pstyle("ghost-opacity").value,L=x*k;t.translate(O,R),T(L),_(L),t.translate(-O,-R)}else C();E(),T(),_(),w(),A(),r&&t.translate(u.x1,u.y1)}};N1e=o(function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),l=n._private.rscratch,u=n.pstyle("".concat(e,"-padding")).pfValue,h=2*u,f=n.pstyle("".concat(e,"-color")).value;r.lineWidth=h,l.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,f[0],f[1],f[2],i),a.drawEdgePath(n,r,l.allpts,"solid")}}}},"drawEdgeOverlayUnderlay");nh.drawEdgeOverlay=N1e("overlay");nh.drawEdgeUnderlay=N1e("underlay");nh.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,l=!1,u=this.usePaths(),h=t.pstyle("line-dash-pattern").pfValue,f=t.pstyle("line-dash-offset").pfValue;if(u){var d=r.join("$"),p=i.pathCacheKey&&i.pathCacheKey===d;p?(s=e=i.pathCache,l=!0):(s=e=new Path2D,i.pathCacheKey=d,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(h),a.lineDashOffset=f;break;case"solid":a.setLineDash([]);break}if(!l&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var m=2;m+35&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var l=e.pstyle("label");if(!l||!l.value)return;var u=s.getLabelJustification(e);t.textAlign=u,t.textBaseline="bottom"}else{var h=e.element()._private.rscratch.badLine,f=e.pstyle("label"),d=e.pstyle("source-label"),p=e.pstyle("target-label");if(h||(!f||!f.value)&&(!d||!d.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var m=!r,g;r&&(g=r,t.translate(-g.x1,-g.y1)),i==null?(s.drawText(t,e,null,m,a),e.isEdge()&&(s.drawText(t,e,"source",m,a),s.drawText(t,e,"target",m,a))):s.drawText(t,e,i,m,a),r&&t.translate(g.x1,g.y1)};Jp.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,l=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,u=e.pstyle("text-outline-opacity").value*l,h=e.pstyle("color").value,f=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,h[0],h[1],h[2],l),this.colorStrokeStyle(t,f[0],f[1],f[2],u)};o(dB,"roundRect");Jp.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var l=Ul(i,"labelAngle",e);r=t.isEdge()?l:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};Jp.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,l=i?e.effectiveOpacity():1;if(!(i&&(l===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var u=Ul(s,"labelX",r),h=Ul(s,"labelY",r),f,d,p=this.getLabelText(e,r);if(p!=null&&p!==""&&!isNaN(u)&&!isNaN(h)){this.setupTextStyle(t,e,i);var m=r?r+"-":"",g=Ul(s,"labelWidth",r),y=Ul(s,"labelHeight",r),v=e.pstyle(m+"text-margin-x").pfValue,x=e.pstyle(m+"text-margin-y").pfValue,b=e.isEdge(),T=e.pstyle("text-halign").value,C=e.pstyle("text-valign").value;b&&(T="center",C="center"),u+=v,h+=x;var w;switch(n?w=this.getTextAngle(e,r):w=0,w!==0&&(f=u,d=h,t.translate(f,d),t.rotate(w),u=0,h=0),C){case"top":break;case"center":h+=y/2;break;case"bottom":h+=y;break}var E=e.pstyle("text-background-opacity").value,_=e.pstyle("text-border-opacity").value,A=e.pstyle("text-border-width").pfValue,D=e.pstyle("text-background-padding").pfValue,O=e.pstyle("text-background-shape").strValue,R=O.indexOf("round")===0,k=2;if(E>0||A>0&&_>0){var L=u-D;switch(T){case"left":L-=g;break;case"center":L-=g/2;break}var S=h-y-D,I=g+2*D,M=y+2*D;if(E>0){var P=t.fillStyle,B=e.pstyle("text-background-color").value;t.fillStyle="rgba("+B[0]+","+B[1]+","+B[2]+","+E*l+")",R?dB(t,L,S,I,M,k):t.fillRect(L,S,I,M),t.fillStyle=P}if(A>0&&_>0){var F=t.strokeStyle,z=t.lineWidth,$=e.pstyle("text-border-color").value,U=e.pstyle("text-border-style").value;if(t.strokeStyle="rgba("+$[0]+","+$[1]+","+$[2]+","+_*l+")",t.lineWidth=A,t.setLineDash)switch(U){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=A/4,t.setLineDash([]);break;case"solid":t.setLineDash([]);break}if(R?dB(t,L,S,I,M,k,"stroke"):t.strokeRect(L,S,I,M),U==="double"){var K=A/2;R?dB(t,L+K,S+K,I-K*2,M-K*2,k,"stroke"):t.strokeRect(L+K,S+K,I-K*2,M-K*2)}t.setLineDash&&t.setLineDash([]),t.lineWidth=z,t.strokeStyle=F}}var ee=2*e.pstyle("text-outline-width").pfValue;if(ee>0&&(t.lineWidth=ee),e.pstyle("text-wrap").value==="wrap"){var Y=Ul(s,"labelWrapCachedLines",r),ce=Ul(s,"labelLineHeight",r),Z=g/2,ue=this.getLabelJustification(e);switch(ue==="auto"||(T==="left"?ue==="left"?u+=-g:ue==="center"&&(u+=-Z):T==="center"?ue==="left"?u+=-Z:ue==="right"&&(u+=Z):T==="right"&&(ue==="center"?u+=Z:ue==="right"&&(u+=g))),C){case"top":h-=(Y.length-1)*ce;break;case"center":case"bottom":h-=(Y.length-1)*ce;break}for(var Q=0;Q0&&t.strokeText(Y[Q],u,h),t.fillText(Y[Q],u,h),h+=ce}else ee>0&&t.strokeText(p,u,h),t.fillText(p,u,h);w!==0&&(t.rotate(-w),t.translate(-f,-d))}}};cy={};cy.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,l,u,h=e._private,f=h.rscratch,d=e.position();if(!(!_t(d.x)||!_t(d.y))&&!(a&&!e.visible())){var p=a?e.effectiveOpacity():1,m=s.usePaths(),g,y=!1,v=e.padding();l=e.width()+2*v,u=e.height()+2*v;var x;r&&(x=r,t.translate(-x.x1,-x.y1));for(var b=e.pstyle("background-image"),T=b.value,C=new Array(T.length),w=new Array(T.length),E=0,_=0;_0&&arguments[0]!==void 0?arguments[0]:L;s.eleFillStyle(t,e,oe)},"setupShapeColor"),Q=o(function(){var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$;s.colorStrokeStyle(t,S[0],S[1],S[2],oe)},"setupBorderColor"),j=o(function(){var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Y;s.colorStrokeStyle(t,K[0],K[1],K[2],oe)},"setupOutlineColor"),ne=o(function(oe,V,Te,W){var pe=s.nodePathCache=s.nodePathCache||[],ve=vge(Te==="polygon"?Te+","+W.join(","):Te,""+V,""+oe,""+Z),Pe=pe[ve],_e,be=!1;return Pe!=null?(_e=Pe,be=!0,f.pathCache=_e):(_e=new Path2D,pe[ve]=f.pathCache=_e),{path:_e,cacheHit:be}},"getPath"),te=e.pstyle("shape").strValue,he=e.pstyle("shape-polygon-points").pfValue;if(m){t.translate(d.x,d.y);var le=ne(l,u,te,he);g=le.path,y=le.cacheHit}var J=o(function(){if(!y){var oe=d;m&&(oe={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(g||t,oe.x,oe.y,l,u,Z,f)}m?t.fill(g):t.fill()},"drawShape"),Se=o(function(){for(var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Te=h.backgrounding,W=0,pe=0;pe0&&arguments[0]!==void 0?arguments[0]:!1,V=arguments.length>1&&arguments[1]!==void 0?arguments[1]:p;s.hasPie(e)&&(s.drawPie(t,e,V),oe&&(m||s.nodeShapes[s.getNodeShape(e)].draw(t,d.x,d.y,l,u,Z,f)))},"drawPie"),ae=o(function(){var oe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:p,V=(R>0?R:-R)*oe,Te=R>0?0:255;R!==0&&(s.colorFillStyle(t,Te,Te,Te,V),m?t.fill(g):t.fill())},"darken"),Oe=o(function(){if(k>0){if(t.lineWidth=k,t.lineCap=P,t.lineJoin=M,t.setLineDash)switch(I){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(F),t.lineDashOffset=z;break;case"solid":case"double":t.setLineDash([]);break}if(B!=="center"){if(t.save(),t.lineWidth*=2,B==="inside")m?t.clip(g):t.clip();else{var oe=new Path2D;oe.rect(-l/2-k,-u/2-k,l+2*k,u+2*k),oe.addPath(g),t.clip(oe,"evenodd")}m?t.stroke(g):t.stroke(),t.restore()}else m?t.stroke(g):t.stroke();if(I==="double"){t.lineWidth=k/3;var V=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",m?t.stroke(g):t.stroke(),t.globalCompositeOperation=V}t.setLineDash&&t.setLineDash([])}},"drawBorder"),ye=o(function(){if(U>0){if(t.lineWidth=U,t.lineCap="butt",t.setLineDash)switch(ee){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var oe=d;m&&(oe={x:0,y:0});var V=s.getNodeShape(e),Te=k;B==="inside"&&(Te=0),B==="outside"&&(Te*=2);var W=(l+Te+(U+ce))/l,pe=(u+Te+(U+ce))/u,ve=l*W,Pe=u*pe,_e=s.nodeShapes[V].points,be;if(m){var Ve=ne(ve,Pe,V,_e);be=Ve.path}if(V==="ellipse")s.drawEllipsePath(be||t,oe.x,oe.y,ve,Pe);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(V)){var De=0,Ye=0,at=0;V==="round-diamond"?De=(Te+ce+U)*1.4:V==="round-heptagon"?(De=(Te+ce+U)*1.075,at=-(Te/2+ce+U)/35):V==="round-hexagon"?De=(Te+ce+U)*1.12:V==="round-pentagon"?(De=(Te+ce+U)*1.13,at=-(Te/2+ce+U)/15):V==="round-tag"?(De=(Te+ce+U)*1.12,Ye=(Te/2+U+ce)*.07):V==="round-triangle"&&(De=(Te+ce+U)*(Math.PI/2),at=-(Te+ce/2+U)/Math.PI),De!==0&&(W=(l+De)/l,ve=l*W,["round-hexagon","round-tag"].includes(V)||(pe=(u+De)/u,Pe=u*pe)),Z=Z==="auto"?Dge(ve,Pe):Z;for(var Rt=ve/2,st=Pe/2,Ue=Z+(Te+U+ce)/2,ut=new Array(_e.length/2),We=new Array(_e.length/2),lt=0;lt<_e.length/2;lt++)ut[lt]={x:oe.x+Ye+Rt*_e[lt*2],y:oe.y+at+st*_e[lt*2+1]};var Xt,Tt,Mt,bt,ht=ut.length;for(Tt=ut[ht-1],Xt=0;Xt0){if(i=i||n.position(),a==null||s==null){var m=n.padding();a=n.width()+2*m,s=n.height()+2*m}l.colorFillStyle(r,f[0],f[1],f[2],h),l.nodeShapes[d].draw(r,i.x,i.y,a+u*2,s+u*2,p),r.fill()}}}},"drawNodeOverlayUnderlay");cy.drawNodeOverlay=M1e("overlay");cy.drawNodeUnderlay=M1e("underlay");cy.hasPie=function(t){return t=t[0],t._private.hasPie};cy.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=n.x,l=n.y,u=e.width(),h=e.height(),f=Math.min(u,h)/2,d=0,p=this.usePaths();p&&(s=0,l=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2);for(var m=1;m<=i.pieBackgroundN;m++){var g=e.pstyle("pie-"+m+"-background-size").value,y=e.pstyle("pie-"+m+"-background-color").value,v=e.pstyle("pie-"+m+"-background-opacity").value*r,x=g/100;x+d>1&&(x=1-d);var b=1.5*Math.PI+2*Math.PI*d,T=2*Math.PI*x,C=b+T;g===0||d>=1||d+x>1||(t.beginPath(),t.moveTo(s,l),t.arc(s,l,f,b,C),t.closePath(),this.colorFillStyle(t,y[0],y[1],y[2],v),t.fill(),d+=x)}};vs={},_Je=100;vs.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};vs.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;ie.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!d&&(f[e.NODE]=!0,f[e.SELECT_BOX]=!0);var b=r.style(),T=r.zoom(),C=s!==void 0?s:T,w=r.pan(),E={x:w.x,y:w.y},_={zoom:T,pan:{x:w.x,y:w.y}},A=e.prevViewport,D=A===void 0||_.zoom!==A.zoom||_.pan.x!==A.pan.x||_.pan.y!==A.pan.y;!D&&!(y&&!g)&&(e.motionBlurPxRatio=1),l&&(E=l),C*=u,E.x*=u,E.y*=u;var O=e.getCachedZSortedEles();function R(Q,j,ne,te,he){var le=Q.globalCompositeOperation;Q.globalCompositeOperation="destination-out",e.colorFillStyle(Q,255,255,255,e.motionBlurTransparency),Q.fillRect(j,ne,te,he),Q.globalCompositeOperation=le}o(R,"mbclear");function k(Q,j){var ne,te,he,le;!e.clearingMotionBlur&&(Q===h.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||Q===h.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ne={x:w.x*m,y:w.y*m},te=T*m,he=e.canvasWidth*m,le=e.canvasHeight*m):(ne=E,te=C,he=e.canvasWidth,le=e.canvasHeight),Q.setTransform(1,0,0,1,0,0),j==="motionBlur"?R(Q,0,0,he,le):!n&&(j===void 0||j)&&Q.clearRect(0,0,he,le),i||(Q.translate(ne.x,ne.y),Q.scale(te,te)),l&&Q.translate(l.x,l.y),s&&Q.scale(s,s)}if(o(k,"setContextTransform"),d||(e.textureDrawLastFrame=!1),d){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var L=e.data.bufferContexts[e.TEXTURE_BUFFER];L.setTransform(1,0,0,1,0,0),L.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:L,drawOnlyNodeLayer:!0,forcedPxRatio:u*e.textureMult});var _=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};_.mpan={x:(0-_.pan.x)/_.zoom,y:(0-_.pan.y)/_.zoom}}f[e.DRAG]=!1,f[e.NODE]=!1;var S=h.contexts[e.NODE],I=e.textureCache.texture,_=e.textureCache.viewport;S.setTransform(1,0,0,1,0,0),p?R(S,0,0,_.width,_.height):S.clearRect(0,0,_.width,_.height);var M=b.core("outside-texture-bg-color").value,P=b.core("outside-texture-bg-opacity").value;e.colorFillStyle(S,M[0],M[1],M[2],P),S.fillRect(0,0,_.width,_.height);var T=r.zoom();k(S,!1),S.clearRect(_.mpan.x,_.mpan.y,_.width/_.zoom/u,_.height/_.zoom/u),S.drawImage(I,_.mpan.x,_.mpan.y,_.width/_.zoom/u,_.height/_.zoom/u)}else e.textureOnViewport&&!n&&(e.textureCache=null);var B=r.extent(),F=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),z=e.hideEdgesOnViewport&&F,$=[];if($[e.NODE]=!f[e.NODE]&&p&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,$[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),$[e.DRAG]=!f[e.DRAG]&&p&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,$[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),f[e.NODE]||i||a||$[e.NODE]){var U=p&&!$[e.NODE]&&m!==1,S=n||(U?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:h.contexts[e.NODE]),K=p&&!U?"motionBlur":void 0;k(S,K),z?e.drawCachedNodes(S,O.nondrag,u,B):e.drawLayeredElements(S,O.nondrag,u,B),e.debug&&e.drawDebugPoints(S,O.nondrag),!i&&!p&&(f[e.NODE]=!1)}if(!a&&(f[e.DRAG]||i||$[e.DRAG])){var U=p&&!$[e.DRAG]&&m!==1,S=n||(U?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:h.contexts[e.DRAG]);k(S,p&&!U?"motionBlur":void 0),z?e.drawCachedNodes(S,O.drag,u,B):e.drawCachedElements(S,O.drag,u,B),e.debug&&e.drawDebugPoints(S,O.drag),!i&&!p&&(f[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,k),p&&m!==1){var ee=h.contexts[e.NODE],Y=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],ce=h.contexts[e.DRAG],Z=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],ue=o(function(j,ne,te){j.setTransform(1,0,0,1,0,0),te||!x?j.clearRect(0,0,e.canvasWidth,e.canvasHeight):R(j,0,0,e.canvasWidth,e.canvasHeight);var he=m;j.drawImage(ne,0,0,e.canvasWidth*he,e.canvasHeight*he,0,0,e.canvasWidth,e.canvasHeight)},"drawMotionBlur");(f[e.NODE]||$[e.NODE])&&(ue(ee,Y,$[e.NODE]),f[e.NODE]=!1),(f[e.DRAG]||$[e.DRAG])&&(ue(ce,Z,$[e.DRAG]),f[e.DRAG]=!1)}e.prevViewport=_,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),p&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!d,e.mbFrames=0,f[e.NODE]=!0,f[e.DRAG]=!0,e.redraw()},_Je)),n||r.emit("render")};vs.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,l=t.drawAllLayers,u=i.canvasNeedsRedraw,h=t.forcedContext;if(r.showFps||!s&&u[r.SELECT_BOX]&&!l){var f=h||i.contexts[r.SELECT_BOX];if(e(f),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var d=r.cy.zoom(),p=a.core("selection-box-border-width").value/d;f.lineWidth=p,f.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",f.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),p>0&&(f.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",f.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var d=r.cy.zoom(),m=i.bgActivePosistion;f.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",f.beginPath(),f.arc(m.x,m.y,a.core("active-bg-size").pfValue/d,0,2*Math.PI),f.fill()}var g=r.lastRedrawTime;if(r.showFps&&g){g=Math.round(g);var y=Math.round(1e3/g),v="1 frame = "+g+" ms = "+y+" fps";if(f.setTransform(1,0,0,1,0,0),f.fillStyle="rgba(255, 0, 0, 0.75)",f.strokeStyle="rgba(255, 0, 0, 0.75)",f.font="30px Arial",!Vb){var x=f.measureText(v);Vb=x.actualBoundingBoxAscent}f.fillText(v,0,Vb);var b=60;f.strokeRect(0,Vb+10,250,20),f.fillRect(0,Vb+10,250*Math.min(y/b,1),20)}l||(u[r.SELECT_BOX]=!1)}};o(jme,"compileShader");o(DJe,"createProgram");o(LJe,"createTextureCanvas");o(nF,"getEffectivePanZoom");o(pB,"modelToRenderedPosition");o(E6,"toWebGLColor");o(S6,"indexToVec4");o(RJe,"vec4ToIndex");o(NJe,"createTexture");o(I1e,"getTypeInfo");o(O1e,"createTypedArray");o(MJe,"createTypedArrayView");o(IJe,"createBufferStaticDraw");o(mo,"createBufferDynamicDraw");o(OJe,"createPickingFrameBuffer");Kme=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});o(Qb,"create");o(P1e,"identity");o(PJe,"multiply");o(q6,"translate");o(B1e,"rotate");o(iF,"scale");o(BJe,"projection");Zb={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},Ub=aa({getKey:null,drawElement:null,getBoundingBox:null,getRotation:null,getRotationPoint:null,getRotationOffset:null,isVisible:null,getPadding:null}),FJe=function(){function t(e,r){Bf(this,t),this.debugID=Math.floor(Math.random()*1e4),this.r=e,this.atlasSize=r.webglTexSize,this.rows=r.webglTexRows,this.enableWrapping=r.enableWrapping,this.texHeight=Math.floor(this.atlasSize/this.rows),this.maxTexWidth=this.atlasSize,this.texture=null,this.canvas=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=r.createTextureCanvas(e,this.atlasSize,this.atlasSize),this.scratch=r.createTextureCanvas(e,this.atlasSize,this.texHeight,"scratch")}return o(t,"Atlas"),Ff(t,[{key:"getKeys",value:o(function(){return new Set(this.keyToLocation.keys())},"getKeys")},{key:"getScale",value:o(function(r){var n=r.w,i=r.h,a=this.texHeight,s=this.maxTexWidth,l=a/i,u=n*l,h=i*l;return u>s&&(l=s/n,u=n*l,h=i*l),{scale:l,texW:u,texH:h}},"getScale")},{key:"draw",value:o(function(r,n,i){var a=this,s=this.atlasSize,l=this.rows,u=this.texHeight,h=this.getScale(n),f=h.scale,d=h.texW,p=h.texH,m=[null,null],g=o(function(T,C){if(i&&C){var w=C.context,E=T.x,_=T.row,A=E,D=u*_;w.save(),w.translate(A,D),w.scale(f,f),i(w,n),w.restore()}},"drawAt"),y=o(function(){g(a.freePointer,a.canvas),m[0]={x:a.freePointer.x,y:a.freePointer.row*u,w:d,h:p},m[1]={x:a.freePointer.x+d,y:a.freePointer.row*u,w:0,h:p},a.freePointer.x+=d,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},"drawNormal"),v=o(function(){var T=a.scratch,C=a.canvas;T.clear(),g({x:0,row:0},T);var w=s-a.freePointer.x,E=d-w,_=u;{var A=a.freePointer.x,D=a.freePointer.row*u,O=w;C.context.drawImage(T,0,0,O,_,A,D,O,_),m[0]={x:A,y:D,w:O,h:p}}{var R=w,k=(a.freePointer.row+1)*u,L=E;C&&C.context.drawImage(T,R,0,L,_,0,k,L,_),m[1]={x:0,y:k,w:L,h:p}}a.freePointer.x=E,a.freePointer.row++},"drawWrapped"),x=o(function(){a.freePointer.x=0,a.freePointer.row++},"moveToStartOfNextRow");if(this.freePointer.x+d<=s)y();else{if(this.freePointer.row>=l-1)return!1;this.freePointer.x===s?(x(),y()):this.enableWrapping?v():(x(),y())}return this.keyToLocation.set(r,m),this.needsBuffer=!0,m},"draw")},{key:"getOffsets",value:o(function(r){return this.keyToLocation.get(r)},"getOffsets")},{key:"isEmpty",value:o(function(){return this.freePointer.x===0&&this.freePointer.row===0},"isEmpty")},{key:"canFit",value:o(function(r){var n=this.atlasSize,i=this.rows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row1&&arguments[1]!==void 0?arguments[1]:{},i=n.forceRedraw,a=i===void 0?!1:i,s=n.filterEle,l=s===void 0?function(){return!0}:s,u=n.filterType,h=u===void 0?function(){return!0}:u,f=!1,d=go(r),p;try{for(d.s();!(p=d.n()).done;){var m=p.value;if(l(m)){var g=m.id(),y=go(this.getRenderTypes()),v;try{for(y.s();!(v=y.n()).done;){var x=v.value;if(h(x.type)){var b=x.getKey(m);a?(x.atlasCollection.deleteKey(g,b),x.atlasCollection.styleKeyNeedsRedraw.add(b),f=!0):f|=x.atlasCollection.checkKeyIsInvalid(g,b)}}}catch(T){y.e(T)}finally{y.f()}}}}catch(T){d.e(T)}finally{d.f()}return f},"invalidate")},{key:"gc",value:o(function(){var r=go(this.getRenderTypes()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.atlasCollection.gc()}}catch(a){r.e(a)}finally{r.f()}},"gc")},{key:"isRenderable",value:o(function(r,n){var i=this.getRenderTypeOpts(n);return i&&i.isVisible(r)},"isRenderable")},{key:"startBatch",value:o(function(){this.batchAtlases=[]},"startBatch")},{key:"getAtlasCount",value:o(function(){return this.batchAtlases.length},"getAtlasCount")},{key:"getAtlases",value:o(function(){return this.batchAtlases},"getAtlases")},{key:"getOrCreateAtlas",value:o(function(r,n,i){var a=this.renderTypes.get(i),s=a.getKey(r),l=r.id();return a.atlasCollection.draw(l,s,n,function(u){a.drawElement(u,r,n,!0,!0)})},"getOrCreateAtlas")},{key:"getAtlasIndexForBatch",value:o(function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)return;this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n},"getAtlasIndexForBatch")},{key:"getIndexArray",value:o(function(){return Array.from({length:this.maxAtlases},function(r,n){return n})},"getIndexArray")},{key:"getAtlasInfo",value:o(function(r,n){var i=this.renderTypes.get(n),a=i.getBoundingBox(r),s=this.getOrCreateAtlas(r,a,n),l=this.getAtlasIndexForBatch(s);if(l!==void 0){var u=i.getKey(r),h=s.getOffsets(u),f=Li(h,2),d=f[0],p=f[1];return{atlasID:l,tex:d,tex1:d,tex2:p,bb:a,type:n,styleKey:u}}},"getAtlasInfo")},{key:"canAddToCurrentBatch",value:o(function(r,n){if(this.batchAtlases.length===this.maxAtlasesPerBatch){var i=this.renderTypes.get(n),a=i.getKey(r),s=i.atlasCollection.getAtlas(a);return s&&this.batchAtlases.includes(s)}return!0},"canAddToCurrentBatch")},{key:"setTransformMatrix",value:o(function(r,n,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,s=n.bb,l=n.type,u=n.tex1,h=n.tex2,f=this.getRenderTypeOpts(l),d=f.getPadding?f.getPadding(i):0,p=u.w/(u.w+h.w);a||(p=1-p);var m=this.getAdjustedBB(s,d,a,p),g,y;P1e(r);var v=f.getRotation?f.getRotation(i):0;if(v!==0){var x=f.getRotationPoint(i),b=x.x,T=x.y;q6(r,r,[b,T]),B1e(r,r,v);var C=f.getRotationOffset(i);g=C.x+m.xOffset,y=C.y}else g=m.x1,y=m.y1;q6(r,r,[g,y]),iF(r,r,[m.w,m.h])},"setTransformMatrix")},{key:"getTransformMatrix",value:o(function(r,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Qb();return this.setTransformMatrix(a,r,n,i),a},"getTransformMatrix")},{key:"getAdjustedBB",value:o(function(r,n,i,a){var s=r.x1,l=r.y1,u=r.w,h=r.h;n&&(s-=n,l-=n,u+=2*n,h+=2*n);var f=0,d=u*a;return i&&a<1?u=d:!i&&a<1&&(f=u-d,s+=f,u=d),{x1:s,y1:l,w:u,h,xOffset:f}},"getAdjustedBB")},{key:"getDebugInfo",value:o(function(){var r=[],n=go(this.renderTypes),i;try{for(n.s();!(i=n.n()).done;){var a=Li(i.value,2),s=a[0],l=a[1],u=l.atlasCollection.getCounts(),h=u.keyCount,f=u.atlasCount;r.push({type:s,keyCount:h,atlasCount:f})}}catch(d){n.e(d)}finally{n.f()}return r},"getDebugInfo")}]),t}(),mB=0,Qme=1,Zme=2,gB=3,VJe=function(){function t(e,r,n){Bf(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.maxAtlases=n.webglTexPerBatch,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,n.enableWrapping=!0,n.createTextureCanvas=LJe,this.atlasManager=new GJe(e,n),this.program=this.createShaderProgram(Zb.SCREEN),this.pickingProgram=this.createShaderProgram(Zb.PICKING),this.vao=this.createVAO(),this.debugInfo=[]}return o(t,"ElementDrawingWebGL"),Ff(t,[{key:"addTextureRenderType",value:o(function(r,n){this.atlasManager.addRenderType(r,n)},"addTextureRenderType")},{key:"invalidate",value:o(function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:o(function(l){return l===i},"filterType"),forceRedraw:!0}):a.invalidate(r)},"invalidate")},{key:"gc",value:o(function(){this.atlasManager.gc()},"gc")},{key:"createShaderProgram",value:o(function(r){var n=this.gl,i=`#version 300 es + precision highp float; + + uniform mat3 uPanZoomMatrix; + uniform int uAtlasSize; + + // instanced + in vec2 aPosition; + + // what are we rendering? + in int aVertType; + + // for picking + in vec4 aIndex; + + // For textures + in int aAtlasId; // which shader unit/atlas to use + in vec4 aTex1; // x/y/w/h of texture in atlas + in vec4 aTex2; + + // for any transforms that are needed + in vec4 aScaleRotate1; // vectors use fewer attributes than matrices + in vec2 aTranslate1; + in vec4 aScaleRotate2; + in vec2 aTranslate2; + + // for edges + in vec4 aPointAPointB; + in vec4 aPointCPointD; + in float aLineWidth; + in vec4 aEdgeColor; + + out vec2 vTexCoord; + out vec4 vEdgeColor; + flat out int vAtlasId; + flat out vec4 vIndex; + flat out int vVertType; + + void main(void) { + int vid = gl_VertexID; + vec2 position = aPosition; + + if(aVertType == `.concat(mB,`) { + float texX; + float texY; + float texW; + float texH; + mat3 texMatrix; + + int vid = gl_VertexID; + if(vid <= 5) { + texX = aTex1.x; + texY = aTex1.y; + texW = aTex1.z; + texH = aTex1.w; + texMatrix = mat3( + vec3(aScaleRotate1.xy, 0.0), + vec3(aScaleRotate2.zw, 0.0), + vec3(aTranslate1, 1.0) + ); + } else { + texX = aTex2.x; + texY = aTex2.y; + texW = aTex2.z; + texH = aTex2.w; + texMatrix = mat3( + vec3(aScaleRotate2.xy, 0.0), + vec3(aScaleRotate2.zw, 0.0), + vec3(aTranslate2, 1.0) + ); + } + + if(vid == 1 || vid == 2 || vid == 4 || vid == 7 || vid == 8 || vid == 10) { + texX += texW; + } + if(vid == 2 || vid == 4 || vid == 5 || vid == 8 || vid == 10 || vid == 11) { + texY += texH; + } + + float d = float(uAtlasSize); + vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1 + + gl_Position = vec4(uPanZoomMatrix * texMatrix * vec3(position, 1.0), 1.0); + } + else if(aVertType == `).concat(Qme,` && vid < 6) { + vec2 source = aPointAPointB.xy; + vec2 target = aPointAPointB.zw; + + // adjust the geometry so that the line is centered on the edge + position.y = position.y - 0.5; + + vec2 xBasis = target - source; + vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x)); + vec2 point = source + xBasis * position.x + yBasis * aLineWidth * position.y; + + gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0); + vEdgeColor = aEdgeColor; + } + else if(aVertType == `).concat(Zme,` && vid < 6) { + vec2 pointA = aPointAPointB.xy; + vec2 pointB = aPointAPointB.zw; + vec2 pointC = aPointCPointD.xy; + vec2 pointD = aPointCPointD.zw; + + // adjust the geometry so that the line is centered on the edge + position.y = position.y - 0.5; + + vec2 p0 = pointA; + vec2 p1 = pointB; + vec2 p2 = pointC; + vec2 pos = position; + if(position.x == 1.0) { + p0 = pointD; + p1 = pointC; + p2 = pointB; + pos = vec2(0.0, -position.y); + } + + vec2 p01 = p1 - p0; + vec2 p12 = p2 - p1; + vec2 p21 = p1 - p2; + + // Find the normal vector. + vec2 tangent = normalize(normalize(p12) + normalize(p01)); + vec2 normal = vec2(-tangent.y, tangent.x); + + // Find the vector perpendicular to p0 -> p1. + vec2 p01Norm = normalize(vec2(-p01.y, p01.x)); + + // Determine the bend direction. + float sigma = sign(dot(p01 + p21, normal)); + float width = aLineWidth; + + if(sign(pos.y) == -sigma) { + // This is an intersecting vertex. Adjust the position so that there's no overlap. + vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm); + gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0); + } else { + // This is a non-intersecting vertex. Treat it like a mitre join. + vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm); + gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0); + } + + vEdgeColor = aEdgeColor; + } + else if(aVertType == `).concat(gB,` && vid < 3) { + // massage the first triangle into an edge arrow + if(vid == 0) + position = vec2(-0.15, -0.3); + if(vid == 1) + position = vec2( 0.0, 0.0); + if(vid == 2) + position = vec2( 0.15, -0.3); + + mat3 transform = mat3( + vec3(aScaleRotate1.xy, 0.0), + vec3(aScaleRotate1.zw, 0.0), + vec3(aTranslate1, 1.0) + ); + gl_Position = vec4(uPanZoomMatrix * transform * vec3(position, 1.0), 1.0); + vEdgeColor = aEdgeColor; + } else { + gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space + } + + vAtlasId = aAtlasId; + vIndex = aIndex; + vVertType = aVertType; + } + `),a=this.atlasManager.getIndexArray(),s=`#version 300 es + precision highp float; + + // define texture unit for each node in the batch + `.concat(a.map(function(h){return"uniform sampler2D uTexture".concat(h,";")}).join(` + `),` + + uniform vec4 uBGColor; + + in vec2 vTexCoord; + in vec4 vEdgeColor; + flat in int vAtlasId; + flat in vec4 vIndex; + flat in int vVertType; + + out vec4 outColor; + + void main(void) { + if(vVertType == `).concat(mB,`) { + `).concat(a.map(function(h){return"if(vAtlasId == ".concat(h,") outColor = texture(uTexture").concat(h,", vTexCoord);")}).join(` + else `),` + } else if(vVertType == `).concat(gB,`) { + // blend arrow color with background (using premultiplied alpha) + outColor.rgb = vEdgeColor.rgb + (uBGColor.rgb * (1.0 - vEdgeColor.a)); + outColor.a = 1.0; // make opaque, masks out line under arrow + } else { + outColor = vEdgeColor; + } + + `).concat(r.picking?`if(outColor.a == 0.0) discard; + else outColor = vIndex;`:"",` + } + `),l=DJe(n,i,s);l.aPosition=n.getAttribLocation(l,"aPosition"),l.aIndex=n.getAttribLocation(l,"aIndex"),l.aVertType=n.getAttribLocation(l,"aVertType"),l.aAtlasId=n.getAttribLocation(l,"aAtlasId"),l.aTex1=n.getAttribLocation(l,"aTex1"),l.aTex2=n.getAttribLocation(l,"aTex2"),l.aScaleRotate1=n.getAttribLocation(l,"aScaleRotate1"),l.aTranslate1=n.getAttribLocation(l,"aTranslate1"),l.aScaleRotate2=n.getAttribLocation(l,"aScaleRotate2"),l.aTranslate2=n.getAttribLocation(l,"aTranslate2"),l.aPointAPointB=n.getAttribLocation(l,"aPointAPointB"),l.aPointCPointD=n.getAttribLocation(l,"aPointCPointD"),l.aLineWidth=n.getAttribLocation(l,"aLineWidth"),l.aEdgeColor=n.getAttribLocation(l,"aEdgeColor"),l.uPanZoomMatrix=n.getUniformLocation(l,"uPanZoomMatrix"),l.uAtlasSize=n.getUniformLocation(l,"uAtlasSize"),l.uBGColor=n.getUniformLocation(l,"uBGColor"),l.uTextures=[];for(var u=0;u2&&arguments[2]!==void 0?arguments[2]:Zb.SCREEN;this.panZoomMatrix=r,this.debugInfo=n,this.renderTarget=i,this.startBatch()},"startFrame")},{key:"startBatch",value:o(function(){this.instanceCount=0,this.atlasManager.startBatch()},"startBatch")},{key:"endFrame",value:o(function(){this.endBatch()},"endFrame")},{key:"getTempMatrix",value:o(function(){return this.tempMatrix=this.tempMatrix||Qb()},"getTempMatrix")},{key:"drawTexture",value:o(function(r,n,i){var a=this.atlasManager;if(a.isRenderable(r,i)){a.canAddToCurrentBatch(r,i)||this.endBatch();var s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=mB;var l=this.indexBuffer.getView(s);S6(n,l);var u=a.getAtlasInfo(r,i,u),h=u.atlasID,f=u.tex1,d=u.tex2,p=this.atlasIdBuffer.getView(s);p[0]=h;var m=this.tex1Buffer.getView(s);m[0]=f.x,m[1]=f.y,m[2]=f.w,m[3]=f.h;var g=this.tex2Buffer.getView(s);g[0]=d.x,g[1]=d.y,g[2]=d.w,g[3]=d.h;for(var y=this.getTempMatrix(),v=0,x=[1,2];v=this.maxInstances&&this.endBatch()}},"drawTexture")},{key:"drawEdgeArrow",value:o(function(r,n,i){var a=r._private.rscratch,s,l,u;if(i==="source"?(s=a.arrowStartX,l=a.arrowStartY,u=a.srcArrowAngle):(s=a.arrowEndX,l=a.arrowEndY,u=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(l)||l==null||isNaN(u)||u==null)){var h=r.pstyle(i+"-arrow-shape").value;if(h!=="none"){var f=r.pstyle(i+"-arrow-color").value,d=r.pstyle("opacity").value,p=r.pstyle("line-opacity").value,m=d*p,g=r.pstyle("width").pfValue,y=r.pstyle("arrow-scale").value,v=this.r.getArrowWidth(g,y),x=this.getTempMatrix();P1e(x),q6(x,x,[s,l]),iF(x,x,[v,v]),B1e(x,x,u);var b=this.instanceCount;this.vertTypeBuffer.getView(b)[0]=gB;var T=this.indexBuffer.getView(b);S6(n,T);var C=this.edgeColorBuffer.getView(b);E6(f,m,C);var w=this.scaleRotate1Buffer.getView(b);w[0]=x[0],w[1]=x[1],w[2]=x[3],w[3]=x[4];var E=this.translate1Buffer.getView(b);E[0]=x[6],E[1]=x[7],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},"drawEdgeArrow")},{key:"drawEdgeLine",value:o(function(r,n){var i=r.pstyle("opacity").value,a=r.pstyle("line-opacity").value,s=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=i*a,h=this.getEdgePoints(r);if(h.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),h.length==4){var f=this.instanceCount;this.vertTypeBuffer.getView(f)[0]=Qme;var d=this.indexBuffer.getView(f);S6(n,d);var p=this.edgeColorBuffer.getView(f);E6(l,u,p);var m=this.lineWidthBuffer.getView(f);m[0]=s;var g=this.pointAPointBBuffer.getView(f);g[0]=h[0],g[1]=h[1],g[2]=h[2],g[3]=h[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var y=0;y=this.maxInstances&&this.endBatch()}},"drawEdgeLine")},{key:"getEdgePoints",value:o(function(r){var n=r._private.rscratch,i=n.allpts;if(i.length==4)return i;var a=this.getNumSegments(r);return this.getCurveSegmentPoints(i,a)},"getEdgePoints")},{key:"getNumSegments",value:o(function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)},"getNumSegments")},{key:"getCurveSegmentPoints",value:o(function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this.setCurvePoint(r,s,i,a*2)}return i},"getCurveSegmentPoints")},{key:"setCurvePoint",value:o(function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),l=0;l0},"isVisible")},{key:"getStyle",value:o(function(r,n){var i=n.pstyle("".concat(r,"-opacity")).value,a=n.pstyle("".concat(r,"-color")).value,s=n.pstyle("".concat(r,"-shape")).value;return{opacity:i,color:a,shape:s}},"getStyle")},{key:"getPadding",value:o(function(r,n){return n.pstyle("".concat(r,"-padding")).pfValue},"getPadding")},{key:"draw",value:o(function(r,n,i,a){if(this.isVisible(r,i)){var s=this.r,l=a.w,u=a.h,h=l/2,f=u/2,d=this.getStyle(r,i),p=d.shape,m=d.color,g=d.opacity;n.save(),n.fillStyle=Jme(m,g),p==="round-rectangle"||p==="roundrectangle"?s.drawRoundRectanglePath(n,h,f,l,u,"auto"):p==="ellipse"&&s.drawEllipsePath(n,h,f,l,u),n.fill(),n.restore()}},"draw")}]),t}();o(HJe,"getBGColor");F1e={};F1e.initWebgl=function(t,e){var r=this,n=r.data.contexts[r.WEBGL],i=t.cy.container();t.bgColor=HJe(i),t.webglTexSize=Math.min(t.webglTexSize,n.getParameter(n.MAX_TEXTURE_SIZE)),t.webglTexRows=Math.min(t.webglTexRows,54),t.webglBatchSize=Math.min(t.webglBatchSize,16384),t.webglTexPerBatch=Math.min(t.webglTexPerBatch,n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS)),r.webglDebug=t.webglDebug,r.webglDebugShowAtlases=t.webglDebugShowAtlases,console.log("max texture units",n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS)),console.log("max texture size",n.getParameter(n.MAX_TEXTURE_SIZE)),console.log("webgl options",t),r.pickingFrameBuffer=OJe(n),r.pickingFrameBuffer.needsDraw=!0;var a=o(function(f){return r.getTextAngle(f,null)},"getLabelRotation"),s=o(function(f){var d=f.pstyle("label");return d&&d.value},"isLabelVisible");r.eleDrawing=new VJe(r,n,t);var l=new UJe(r);r.eleDrawing.addTextureRenderType("node-body",Ub({getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement,isVisible:o(function(f){return f.visible()},"isVisible")})),r.eleDrawing.addTextureRenderType("node-label",Ub({getKey:e.getLabelKey,getBoundingBox:e.getLabelBox,drawElement:e.drawLabel,getRotation:a,getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:s})),r.eleDrawing.addTextureRenderType("node-overlay",Ub({getBoundingBox:e.getElementBox,getKey:o(function(f){return l.getStyleKey("overlay",f)},"getKey"),drawElement:o(function(f,d,p){return l.draw("overlay",f,d,p)},"drawElement"),isVisible:o(function(f){return l.isVisible("overlay",f)},"isVisible"),getPadding:o(function(f){return l.getPadding("overlay",f)},"getPadding")})),r.eleDrawing.addTextureRenderType("node-underlay",Ub({getBoundingBox:e.getElementBox,getKey:o(function(f){return l.getStyleKey("underlay",f)},"getKey"),drawElement:o(function(f,d,p){return l.draw("underlay",f,d,p)},"drawElement"),isVisible:o(function(f){return l.isVisible("underlay",f)},"isVisible"),getPadding:o(function(f){return l.getPadding("underlay",f)},"getPadding")})),r.eleDrawing.addTextureRenderType("edge-label",Ub({getKey:e.getLabelKey,getBoundingBox:e.getLabelBox,drawElement:e.drawLabel,getRotation:a,getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:s}));var u=d4(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(h,f){var d=!1;f&&f.length>0&&(d|=r.eleDrawing.invalidate(f)),d&&u()}),WJe(r)};o(WJe,"overrideCanvasRendererFunctions");o(qJe,"clearWebgl");o(YJe,"clearCanvas");o(XJe,"createPanZoomMatrix");o($1e,"setContextTransform");o(jJe,"drawSelectionRectangle");o(KJe,"drawAxes");o(QJe,"drawAtlases");o(ZJe,"getPickingIndexes");o(JJe,"findNearestElementsWebgl");o(z1e,"renderWebgl");zf={};zf.drawPolygonPath=function(t,e,r,n,i,a){var s=n/2,l=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],r+l*a[1]);for(var u=1;u0&&s>0){m.clearRect(0,0,a,s),m.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)m.translate(-n.x1*h,-n.y1*h),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(n.x1*h,n.y1*h);else{var y=e.pan(),v={x:y.x*h,y:y.y*h};h*=e.zoom(),m.translate(v.x,v.y),m.scale(h,h),this.drawElements(m,g),m.scale(1/h,1/h),m.translate(-v.x,-v.y)}t.bg&&(m.globalCompositeOperation="destination-over",m.fillStyle=t.bg,m.rect(0,0,a,s),m.fill())}return p};o(eet,"b64ToBlob");o(rge,"b64UriToB64");o(V1e,"output");x4.png=function(t){return V1e(t,this.bufferCanvasImage(t),"image/png")};x4.jpg=function(t){return V1e(t,this.bufferCanvasImage(t),"image/jpeg")};U1e={};U1e.nodeShapeImpl=function(t,e,r,n,i,a,s,l){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,s);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,s,l);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,l);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,s,l);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,l);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};tet=H1e,Er=H1e.prototype;Er.CANVAS_LAYERS=3;Er.SELECT_BOX=0;Er.DRAG=1;Er.NODE=2;Er.WEBGL=3;Er.CANVAS_TYPES=["2d","2d","2d","webgl2"];Er.BUFFER_COUNT=3;Er.TEXTURE_BUFFER=0;Er.MOTIONBLUR_BUFFER_NODE=1;Er.MOTIONBLUR_BUFFER_DRAG=2;o(H1e,"CanvasRenderer");Er.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[Er.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[Er.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[Er.SELECT_BOX]=e;break;case"gc":r.data.gc=!0;break}};ret=typeof Path2D<"u";Er.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};Er.usePaths=function(){return ret&&this.pathsEnabled};Er.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};Er.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};Er.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":Hi(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[R1e,Jc,nh,rF,Jp,cy,vs,F1e,zf,x4,U1e].forEach(function(t){ir(Er,t)});net=[{name:"null",impl:y1e},{name:"base",impl:A1e},{name:"canvas",impl:tet}],iet=[{type:"layout",extensions:zZe},{type:"renderer",extensions:net}],W1e={},q1e={};o(Y1e,"setExtension");o(X1e,"getExtension");o(aet,"setModule");o(set,"getModule");MB=o(function(){if(arguments.length===2)return X1e.apply(null,arguments);if(arguments.length===3)return Y1e.apply(null,arguments);if(arguments.length===4)return set.apply(null,arguments);if(arguments.length===5)return aet.apply(null,arguments);oi("Invalid extension access syntax")},"extension");c4.prototype.extension=MB;iet.forEach(function(t){t.extensions.forEach(function(e){Y1e(t.type,e.name,e.impl)})});j1e=o(function t(){if(!(this instanceof t))return new t;this.length=0},"Stylesheet"),Qp=j1e.prototype;Qp.instanceString=function(){return"stylesheet"};Qp.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};Qp.css=function(t,e){var r=this.length-1;if(Jt(t))this[r].properties.push({name:t,value:e});else if(Vr(t))for(var n=t,i=Object.keys(n),a=0;a{"use strict";o(function(e,r){typeof b4=="object"&&typeof sF=="object"?sF.exports=r():typeof define=="function"&&define.amd?define([],r):typeof b4=="object"?b4.layoutBase=r():e.layoutBase=r()},"webpackUniversalModuleDefinition")(b4,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=26)}([function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(4);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp&&(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h},function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(6),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&E>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(E,1);var C=x.source.owner.getEdges().indexOf(x);if(C==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(C,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),C=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,C,w,E,_,A=this.nodes,D=A.length,O=0;OT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var D=0;v.forEach(function(O){O.owner==g&&D++}),D==this.nodes.length&&(this.isConnected=!0)}},t.exports=p},function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(5),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=A,!1;if(hf)return l[0]=p,l[1]=h,l[2]=E,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,k=!0):(l[0]=g,l[1]=m,k=!0):S===M&&(u>f?(l[0]=p,l[1]=m,k=!0):(l[0]=x,l[1]=v,k=!0)),-I===M?f>u?(l[2]=_,l[3]=A,L=!0):(l[2]=E,l[3]=w,L=!0):I===M&&(f>u?(l[2]=C,l[3]=w,L=!0):(l[2]=D,l[3]=A,L=!0)),k&&L)return!1;if(u>f?h>d?(P=this.getCardinalDirection(S,M,4),B=this.getCardinalDirection(I,M,2)):(P=this.getCardinalDirection(-S,M,3),B=this.getCardinalDirection(-I,M,1)):h>d?(P=this.getCardinalDirection(-S,M,1),B=this.getCardinalDirection(-I,M,3)):(P=this.getCardinalDirection(S,M,2),B=this.getCardinalDirection(I,M,4)),!k)switch(P){case 1:z=m,F=u+-T/M,l[0]=F,l[1]=z;break;case 2:F=x,z=h+b*M,l[0]=F,l[1]=z;break;case 3:z=v,F=u+T/M,l[0]=F,l[1]=z;break;case 4:F=y,z=h+-b*M,l[0]=F,l[1]=z;break}if(!L)switch(B){case 1:U=w,$=f+-R/M,l[2]=$,l[3]=U;break;case 2:$=D,U=d+O*M,l[2]=$,l[3]=U;break;case 3:U=A,$=f+R/M,l[2]=$,l[3]=U;break;case 4:$=_,U=d+-O*M,l[2]=$,l[3]=U;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,C=void 0,w=void 0,E=void 0,_=void 0,A=void 0,D=void 0;return T=p-f,w=h-d,_=d*f-h*p,C=v-g,E=m-y,A=y*g-m*v,D=T*E-C*w,D===0?null:(x=(w*A-E*_)/D,b=(C*_-T*A)/D,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n},function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,r){"use strict";var n=function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i},function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var E=T[0];T.splice(0,1),b.add(E);for(var _=E.getEdges(),x=0;x<_.length;x++){var A=_[x].getOtherEnd(E);if(C.get(E)!=A)if(!b.has(A))T.push(A),C.set(A,E);else{g=!1;break}}}if(!g)m=[];else{var D=[].concat(n(b));m.push(D);for(var x=0;x-1&&w.splice(R,1)}b=new Set,C=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(A,1);var D=C.getNeighborsList();D.forEach(function(k){if(y.indexOf(k)<0){var L=v.get(k),S=L-1;S==1&&E.push(k),v.set(k,S)}})}y=y.concat(E),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p},function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n},function(t,e,r){"use strict";var n=r(4);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i},function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var C=0;Ch},"_defaultCompareFunction")}]),l}();t.exports=s},function(t,e,r){"use strict";var n=function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o(function(e,r){typeof T4=="object"&&typeof lF=="object"?lF.exports=r(oF()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof T4=="object"?T4.coseBase=r(oF()):e.coseBase=r(e.layoutBase)},"webpackUniversalModuleDefinition")(T4,function(t){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=7)}([function(e,r){e.exports=t},function(e,r,n){"use strict";var i=n(0).FDLayoutConstants;function a(){}o(a,"CoSEConstants");for(var s in i)a[s]=i[s];a.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,a.DEFAULT_RADIAL_SEPARATION=i.DEFAULT_EDGE_LENGTH,a.DEFAULT_COMPONENT_SEPERATION=60,a.TILE=!0,a.TILING_PADDING_VERTICAL=10,a.TILING_PADDING_HORIZONTAL=10,a.TREE_REDUCTION_ON_INCREMENTAL=!1,e.exports=a},function(e,r,n){"use strict";var i=n(0).FDLayoutEdge;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEEdge"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a},function(e,r,n){"use strict";var i=n(0).LGraph;function a(l,u,h){i.call(this,l,u,h)}o(a,"CoSEGraph"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a},function(e,r,n){"use strict";var i=n(0).LGraphManager;function a(l){i.call(this,l)}o(a,"CoSEGraphManager"),a.prototype=Object.create(i.prototype);for(var s in i)a[s]=i[s];e.exports=a},function(e,r,n){"use strict";var i=n(0).FDLayoutNode,a=n(0).IMath;function s(u,h,f,d){i.call(this,u,h,f,d)}o(s,"CoSENode"),s.prototype=Object.create(i.prototype);for(var l in i)s[l]=i[l];s.prototype.move=function(){var u=this.graphManager.getLayout();this.displacementX=u.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=u.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementX=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementX)),Math.abs(this.displacementY)>u.coolingFactor*u.maxNodeDisplacement&&(this.displacementY=u.coolingFactor*u.maxNodeDisplacement*a.sign(this.displacementY)),this.child==null?this.moveBy(this.displacementX,this.displacementY):this.child.getNodes().length==0?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),u.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},s.prototype.propogateDisplacementToChildren=function(u,h){for(var f=this.getChild().getNodes(),d,p=0;p0)this.positionNodesRadially(w);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var E=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(A){return E.has(A)});this.graphManager.setAllNodesToApplyGravitation(_),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},T.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%f.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var w=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(D){return w.has(D)});this.graphManager.setAllNodesToApplyGravitation(E),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var _=!this.isTreeGrowing&&!this.isGrowthFinished,A=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(_,A),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},T.prototype.getPositionsData=function(){for(var w=this.graphManager.getAllNodes(),E={},_=0;_1){var k;for(k=0;kA&&(A=Math.floor(R.y)),O=Math.floor(R.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(d.WORLD_CENTER_X-R.x/2,d.WORLD_CENTER_Y-R.y/2))},T.radialLayout=function(w,E,_){var A=Math.max(this.maxDiagonalInTree(w),h.DEFAULT_RADIAL_SEPARATION);T.branchRadialLayout(E,null,0,359,0,A);var D=x.calculateBounds(w),O=new b;O.setDeviceOrgX(D.getMinX()),O.setDeviceOrgY(D.getMinY()),O.setWorldOrgX(_.x),O.setWorldOrgY(_.y);for(var R=0;R1;){var K=U[0];U.splice(0,1);var ee=P.indexOf(K);ee>=0&&P.splice(ee,1),z--,B--}E!=null?$=(P.indexOf(U[0])+1)%z:$=0;for(var Y=Math.abs(A-_)/B,ce=$;F!=B;ce=++ce%z){var Z=P[ce].getOtherEnd(w);if(Z!=E){var ue=(_+F*Y)%360,Q=(ue+Y)%360;T.branchRadialLayout(Z,w,ue,Q,D+O,O),F++}}},T.maxDiagonalInTree=function(w){for(var E=y.MIN_VALUE,_=0;_E&&(E=D)}return E},T.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},T.prototype.groupZeroDegreeMembers=function(){var w=this,E={};this.memberGroups={},this.idToDummyNode={};for(var _=[],A=this.graphManager.getAllNodes(),D=0;D"u"&&(E[k]=[]),E[k]=E[k].concat(O)}Object.keys(E).forEach(function(L){if(E[L].length>1){var S="DummyCompound_"+L;w.memberGroups[S]=E[L];var I=E[L][0].getParent(),M=new l(w.graphManager);M.id=S,M.paddingLeft=I.paddingLeft||0,M.paddingRight=I.paddingRight||0,M.paddingBottom=I.paddingBottom||0,M.paddingTop=I.paddingTop||0,w.idToDummyNode[S]=M;var P=w.getGraphManager().add(w.newGraph(),M),B=I.getChild();B.add(M);for(var F=0;F=0;w--){var E=this.compoundOrder[w],_=E.id,A=E.paddingLeft,D=E.paddingTop;this.adjustLocations(this.tiledMemberPack[_],E.rect.x,E.rect.y,A,D)}},T.prototype.repopulateZeroDegreeMembers=function(){var w=this,E=this.tiledZeroDegreePack;Object.keys(E).forEach(function(_){var A=w.idToDummyNode[_],D=A.paddingLeft,O=A.paddingTop;w.adjustLocations(E[_],A.rect.x,A.rect.y,D,O)})},T.prototype.getToBeTiled=function(w){var E=w.id;if(this.toBeTiled[E]!=null)return this.toBeTiled[E];var _=w.getChild();if(_==null)return this.toBeTiled[E]=!1,!1;for(var A=_.getNodes(),D=0;D0)return this.toBeTiled[E]=!1,!1;if(O.getChild()==null){this.toBeTiled[O.id]=!1;continue}if(!this.getToBeTiled(O))return this.toBeTiled[E]=!1,!1}return this.toBeTiled[E]=!0,!0},T.prototype.getNodeDegree=function(w){for(var E=w.id,_=w.getEdges(),A=0,D=0;D<_.length;D++){var O=_[D];O.getSource().id!==O.getTarget().id&&(A=A+1)}return A},T.prototype.getNodeDegreeWithChildren=function(w){var E=this.getNodeDegree(w);if(w.getChild()==null)return E;for(var _=w.getChild().getNodes(),A=0;A<_.length;A++){var D=_[A];E+=this.getNodeDegreeWithChildren(D)}return E},T.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},T.prototype.fillCompexOrderByDFS=function(w){for(var E=0;EL&&(L=I.rect.height)}_+=L+w.verticalPadding}},T.prototype.tileCompoundMembers=function(w,E){var _=this;this.tiledMemberPack=[],Object.keys(w).forEach(function(A){var D=E[A];_.tiledMemberPack[A]=_.tileNodes(w[A],D.paddingLeft+D.paddingRight),D.rect.width=_.tiledMemberPack[A].width,D.rect.height=_.tiledMemberPack[A].height})},T.prototype.tileNodes=function(w,E){var _=h.TILING_PADDING_VERTICAL,A=h.TILING_PADDING_HORIZONTAL,D={rows:[],rowWidth:[],rowHeight:[],width:0,height:E,verticalPadding:_,horizontalPadding:A};w.sort(function(k,L){return k.rect.width*k.rect.height>L.rect.width*L.rect.height?-1:k.rect.width*k.rect.height0&&(R+=w.horizontalPadding),w.rowWidth[_]=R,w.width0&&(k+=w.verticalPadding);var L=0;k>w.rowHeight[_]&&(L=w.rowHeight[_],w.rowHeight[_]=k,L=w.rowHeight[_]-L),w.height+=L,w.rows[_].push(E)},T.prototype.getShortestRowIndex=function(w){for(var E=-1,_=Number.MAX_VALUE,A=0;A_&&(E=A,_=w.rowWidth[A]);return E},T.prototype.canAddHorizontal=function(w,E,_){var A=this.getShortestRowIndex(w);if(A<0)return!0;var D=w.rowWidth[A];if(D+w.horizontalPadding+E<=w.width)return!0;var O=0;w.rowHeight[A]<_&&A>0&&(O=_+w.verticalPadding-w.rowHeight[A]);var R;w.width-D>=E+w.horizontalPadding?R=(w.height+O)/(D+E+w.horizontalPadding):R=(w.height+O)/w.width,O=_+w.verticalPadding;var k;return w.widthO&&E!=_){A.splice(-1,1),w.rows[_].push(D),w.rowWidth[E]=w.rowWidth[E]-O,w.rowWidth[_]=w.rowWidth[_]+O,w.width=w.rowWidth[instance.getLongestRowIndex(w)];for(var R=Number.MIN_VALUE,k=0;kR&&(R=A[k].height);E>0&&(R+=w.verticalPadding);var L=w.rowHeight[E]+w.rowHeight[_];w.rowHeight[E]=R,w.rowHeight[_]0)for(var B=D;B<=O;B++)P[0]+=this.grid[B][R-1].length+this.grid[B][R].length-1;if(O0)for(var B=R;B<=k;B++)P[3]+=this.grid[D-1][B].length+this.grid[D][B].length-1;for(var F=y.MAX_VALUE,z,$,U=0;U{"use strict";o(function(e,r){typeof w4=="object"&&typeof uF=="object"?uF.exports=r(cF()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof w4=="object"?w4.cytoscapeCoseBilkent=r(cF()):e.cytoscapeCoseBilkent=r(e.coseBase)},"webpackUniversalModuleDefinition")(w4,function(t){return function(e){var r={};function n(i){if(r[i])return r[i].exports;var a=r[i]={i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return o(n,"__webpack_require__"),n.m=e,n.c=r,n.i=function(i){return i},n.d=function(i,a,s){n.o(i,a)||Object.defineProperty(i,a,{configurable:!1,enumerable:!0,get:s})},n.n=function(i){var a=i&&i.__esModule?o(function(){return i.default},"getDefault"):o(function(){return i},"getModuleExports");return n.d(a,"a",a),a},n.o=function(i,a){return Object.prototype.hasOwnProperty.call(i,a)},n.p="",n(n.s=1)}([function(e,r){e.exports=t},function(e,r,n){"use strict";var i=n(0).layoutBase.LayoutConstants,a=n(0).layoutBase.FDLayoutConstants,s=n(0).CoSEConstants,l=n(0).CoSELayout,u=n(0).CoSENode,h=n(0).layoutBase.PointD,f=n(0).layoutBase.DimensionD,d={ready:o(function(){},"ready"),stop:o(function(){},"stop"),quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function p(v,x){var b={};for(var T in v)b[T]=v[T];for(var T in x)b[T]=x[T];return b}o(p,"extend");function m(v){this.options=p(d,v),g(this.options)}o(m,"_CoSELayout");var g=o(function(x){x.nodeRepulsion!=null&&(s.DEFAULT_REPULSION_STRENGTH=a.DEFAULT_REPULSION_STRENGTH=x.nodeRepulsion),x.idealEdgeLength!=null&&(s.DEFAULT_EDGE_LENGTH=a.DEFAULT_EDGE_LENGTH=x.idealEdgeLength),x.edgeElasticity!=null&&(s.DEFAULT_SPRING_STRENGTH=a.DEFAULT_SPRING_STRENGTH=x.edgeElasticity),x.nestingFactor!=null&&(s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=x.nestingFactor),x.gravity!=null&&(s.DEFAULT_GRAVITY_STRENGTH=a.DEFAULT_GRAVITY_STRENGTH=x.gravity),x.numIter!=null&&(s.MAX_ITERATIONS=a.MAX_ITERATIONS=x.numIter),x.gravityRange!=null&&(s.DEFAULT_GRAVITY_RANGE_FACTOR=a.DEFAULT_GRAVITY_RANGE_FACTOR=x.gravityRange),x.gravityCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH=x.gravityCompound),x.gravityRangeCompound!=null&&(s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=x.gravityRangeCompound),x.initialEnergyOnIncremental!=null&&(s.DEFAULT_COOLING_FACTOR_INCREMENTAL=a.DEFAULT_COOLING_FACTOR_INCREMENTAL=x.initialEnergyOnIncremental),x.quality=="draft"?i.QUALITY=0:x.quality=="proof"?i.QUALITY=2:i.QUALITY=1,s.NODE_DIMENSIONS_INCLUDE_LABELS=a.NODE_DIMENSIONS_INCLUDE_LABELS=i.NODE_DIMENSIONS_INCLUDE_LABELS=x.nodeDimensionsIncludeLabels,s.DEFAULT_INCREMENTAL=a.DEFAULT_INCREMENTAL=i.DEFAULT_INCREMENTAL=!x.randomize,s.ANIMATE=a.ANIMATE=i.ANIMATE=x.animate,s.TILE=x.tile,s.TILING_PADDING_VERTICAL=typeof x.tilingPaddingVertical=="function"?x.tilingPaddingVertical.call():x.tilingPaddingVertical,s.TILING_PADDING_HORIZONTAL=typeof x.tilingPaddingHorizontal=="function"?x.tilingPaddingHorizontal.call():x.tilingPaddingHorizontal},"getUserOptions");m.prototype.run=function(){var v,x,b=this.options,T=this.idToLNode={},C=this.layout=new l,w=this;w.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var E=C.newGraphManager();this.gm=E;var _=this.options.eles.nodes(),A=this.options.eles.edges();this.root=E.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(_),C);for(var D=0;D0){var k;k=b.getGraphManager().add(b.newGraph(),_),this.processChildrenList(k,E,b)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=o(function(x){x("layout","cose-bilkent",m)},"register");typeof cytoscape<"u"&&y(cytoscape),e.exports=y}])})});function met(t,e,r,n,i){return t.insert("polygon",":first-child").attr("points",n.map(function(a){return a.x+","+a.y}).join(" ")).attr("transform","translate("+(i.width-e)/2+", "+r+")")}var cet,uet,het,fet,det,pet,get,yet,Q1e,Z1e,J1e=N(()=>{"use strict";no();nr();cet=12,uet=o(function(t,e,r,n){e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 ${r.height-5} v${-r.height+2*5} q0,-5 5,-5 h${r.width-2*5} q5,0 5,5 v${r.height-5} H0 Z`),e.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",r.height).attr("x2",r.width).attr("y2",r.height)},"defaultBkg"),het=o(function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("width",r.width)},"rectBkg"),fet=o(function(t,e,r){let n=r.width,i=r.height,a=.15*n,s=.25*n,l=.35*n,u=.2*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 0 0,1 ${n*.25},${-1*n*.1} + a${l},${l} 1 0,1 ${n*.4},${-1*n*.1} + a${s},${s} 1 0,1 ${n*.35},${1*n*.2} + + a${a},${a} 1 0,1 ${n*.15},${1*i*.35} + a${u},${u} 1 0,1 ${-1*n*.15},${1*i*.65} + + a${s},${a} 1 0,1 ${-1*n*.25},${n*.15} + a${l},${l} 1 0,1 ${-1*n*.5},0 + a${a},${a} 1 0,1 ${-1*n*.25},${-1*n*.15} + + a${a},${a} 1 0,1 ${-1*n*.1},${-1*i*.35} + a${u},${u} 1 0,1 ${n*.1},${-1*i*.65} + + H0 V0 Z`)},"cloudBkg"),det=o(function(t,e,r){let n=r.width,i=r.height,a=.15*n;e.append("path").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("d",`M0 0 a${a},${a} 1 0,0 ${n*.25},${-1*i*.1} + a${a},${a} 1 0,0 ${n*.25},0 + a${a},${a} 1 0,0 ${n*.25},0 + a${a},${a} 1 0,0 ${n*.25},${1*i*.1} + + a${a},${a} 1 0,0 ${n*.15},${1*i*.33} + a${a*.8},${a*.8} 1 0,0 0,${1*i*.34} + a${a},${a} 1 0,0 ${-1*n*.15},${1*i*.33} + + a${a},${a} 1 0,0 ${-1*n*.25},${i*.15} + a${a},${a} 1 0,0 ${-1*n*.25},0 + a${a},${a} 1 0,0 ${-1*n*.25},0 + a${a},${a} 1 0,0 ${-1*n*.25},${-1*i*.15} + + a${a},${a} 1 0,0 ${-1*n*.1},${-1*i*.33} + a${a*.8},${a*.8} 1 0,0 0,${-1*i*.34} + a${a},${a} 1 0,0 ${n*.1},${-1*i*.33} + + H0 V0 Z`)},"bangBkg"),pet=o(function(t,e,r){e.append("circle").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("r",r.width/2)},"circleBkg");o(met,"insertPolygonShape");get=o(function(t,e,r){let n=r.height,a=n/4,s=r.width-r.padding+2*a,l=[{x:a,y:0},{x:s-a,y:0},{x:s,y:-n/2},{x:s-a,y:-n},{x:a,y:-n},{x:0,y:-n/2}];met(e,s,n,l,r)},"hexagonBkg"),yet=o(function(t,e,r){e.append("rect").attr("id","node-"+r.id).attr("class","node-bkg node-"+t.type2Str(r.type)).attr("height",r.height).attr("rx",r.padding).attr("ry",r.padding).attr("width",r.width)},"roundedRectBkg"),Q1e=o(async function(t,e,r,n,i){let a=i.htmlLabels,s=n%(cet-1),l=e.append("g");r.section=s;let u="section-"+s;s<0&&(u+=" section-root"),l.attr("class",(r.class?r.class+" ":"")+"mindmap-node "+u);let h=l.append("g"),f=l.append("g"),d=r.descr.replace(/()/g,` +`);await Hn(f,d,{useHtmlLabels:a,width:r.width,classes:"mindmap-node-label"},i),a||f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");let p=f.node().getBBox(),[m]=Fo(i.fontSize);if(r.height=p.height+m*1.1*.5+r.padding,r.width=p.width+2*r.padding,r.icon)if(r.type===t.nodeType.CIRCLE)r.height+=50,r.width+=50,l.append("foreignObject").attr("height","50px").attr("width",r.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+s+" "+r.icon),f.attr("transform","translate("+r.width/2+", "+(r.height/2-1.5*r.padding)+")");else{r.width+=50;let g=r.height;r.height=Math.max(g,60);let y=Math.abs(r.height-g);l.append("foreignObject").attr("width","60px").attr("height",r.height).attr("style","text-align: center;margin-top:"+y/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+s+" "+r.icon),f.attr("transform","translate("+(25+r.width/2)+", "+(y/2+r.padding/2)+")")}else if(a){let g=(r.width-p.width)/2,y=(r.height-p.height)/2;f.attr("transform","translate("+g+", "+y+")")}else{let g=r.width/2,y=r.padding/2;f.attr("transform","translate("+g+", "+y+")")}switch(r.type){case t.nodeType.DEFAULT:uet(t,h,r,s);break;case t.nodeType.ROUNDED_RECT:yet(t,h,r,s);break;case t.nodeType.RECT:het(t,h,r,s);break;case t.nodeType.CIRCLE:h.attr("transform","translate("+r.width/2+", "+ +r.height/2+")"),pet(t,h,r,s);break;case t.nodeType.CLOUD:fet(t,h,r,s);break;case t.nodeType.BANG:det(t,h,r,s);break;case t.nodeType.HEXAGON:get(t,h,r,s);break}return t.setElementForId(r.id,l),r.height},"drawNode"),Z1e=o(function(t,e){let r=t.getElementById(e.id),n=e.x||0,i=e.y||0;r.attr("transform","translate("+n+","+i+")")},"positionNode")});async function tye(t,e,r,n,i){await Q1e(t,e,r,n,i),r.children&&await Promise.all(r.children.map((a,s)=>tye(t,e,a,n<0?s:n,i)))}function vet(t,e){e.edges().map((r,n)=>{let i=r.data();if(r[0]._private.bodyBounds){let a=r[0]._private.rscratch;X.trace("Edge: ",n,i),t.insert("path").attr("d",`M ${a.startX},${a.startY} L ${a.midX},${a.midY} L${a.endX},${a.endY} `).attr("class","edge section-edge-"+i.section+" edge-depth-"+i.depth)}})}function rye(t,e,r,n){e.add({group:"nodes",data:{id:t.id.toString(),labelText:t.descr,height:t.height,width:t.width,level:n,nodeId:t.id,padding:t.padding,type:t.type},position:{x:t.x,y:t.y}}),t.children&&t.children.forEach(i=>{rye(i,e,r,n+1),e.add({group:"edges",data:{id:`${t.id}_${i.id}`,source:t.id,target:i.id,depth:n,section:i.section}})})}function xet(t,e){return new Promise(r=>{let n=Ge("body").append("div").attr("id","cy").attr("style","display:none"),i=il({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});n.remove(),rye(t,i,e,0),i.nodes().forEach(function(a){a.layoutDimensions=()=>{let s=a.data();return{w:s.width,h:s.height}}}),i.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),i.ready(a=>{X.info("Ready",a),r(i)})})}function bet(t,e){e.nodes().map((r,n)=>{let i=r.data();i.x=r.position().x,i.y=r.position().y,Z1e(t,i);let a=t.getElementById(i.nodeId);X.info("id:",n,"Position: (",r.position().x,", ",r.position().y,")",i),a.attr("transform",`translate(${r.position().x-i.width/2}, ${r.position().y-i.height/2})`),a.attr("attr",`apa-${n})`)})}var eye,Tet,nye,iye=N(()=>{"use strict";aF();eye=Sa(K1e(),1);pr();qt();yt();zl();yi();J1e();Ca();il.use(eye.default);o(tye,"drawNodes");o(vet,"drawEdges");o(rye,"addNodes");o(xet,"layoutMindmap");o(bet,"positionNodes");Tet=o(async(t,e,r,n)=>{X.debug(`Rendering mindmap diagram +`+t);let i=n.db,a=i.getMindmap();if(!a)return;let s=ge();s.htmlLabels=!1;let l=Di(e),u=l.append("g");u.attr("class","mindmap-edges");let h=l.append("g");h.attr("class","mindmap-nodes"),await tye(i,h,a,-1,s);let f=await xet(a,s);vet(u,f),bet(i,f),_o(void 0,l,s.mindmap?.padding??lr.mindmap.padding,s.mindmap?.useMaxWidth??lr.mindmap.useMaxWidth)},"draw"),nye={draw:Tet}});var wet,ket,aye,sye=N(()=>{"use strict";Xs();wet=o(t=>{let e="";for(let r=0;r` + .edge { + stroke-width: 3; + } + ${wet(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .mindmap-node-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } +`,"getStyles"),aye=ket});var oye={};hr(oye,{diagram:()=>Eet});var Eet,lye=N(()=>{"use strict";P0e();B0e();iye();sye();Eet={get db(){return new h6},renderer:nye,parser:O0e,styles:aye}});var hF,hye,fye=N(()=>{"use strict";hF=function(){var t=o(function(_,A,D,O){for(D=D||{},O=_.length;O--;D[_[O]]=A);return D},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],l=[1,19],u=[6,7,8],h=[1,26],f=[1,24],d=[1,25],p=[6,7,11],m=[1,31],g=[6,7,11,24],y=[1,6,13,16,17,20,23],v=[1,35],x=[1,36],b=[1,6,7,11,13,16,17,20,23],T=[1,38],C={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:o(function(A,D,O,R,k,L,S){var I=L.length-1;switch(k){case 6:case 7:return R;case 8:R.getLogger().trace("Stop NL ");break;case 9:R.getLogger().trace("Stop EOF ");break;case 11:R.getLogger().trace("Stop NL2 ");break;case 12:R.getLogger().trace("Stop EOF2 ");break;case 15:R.getLogger().info("Node: ",L[I-1].id),R.addNode(L[I-2].length,L[I-1].id,L[I-1].descr,L[I-1].type,L[I]);break;case 16:R.getLogger().info("Node: ",L[I].id),R.addNode(L[I-1].length,L[I].id,L[I].descr,L[I].type);break;case 17:R.getLogger().trace("Icon: ",L[I]),R.decorateNode({icon:L[I]});break;case 18:case 23:R.decorateNode({class:L[I]});break;case 19:R.getLogger().trace("SPACELIST");break;case 20:R.getLogger().trace("Node: ",L[I-1].id),R.addNode(0,L[I-1].id,L[I-1].descr,L[I-1].type,L[I]);break;case 21:R.getLogger().trace("Node: ",L[I].id),R.addNode(0,L[I].id,L[I].descr,L[I].type);break;case 22:R.decorateNode({icon:L[I]});break;case 27:R.getLogger().trace("node found ..",L[I-2]),this.$={id:L[I-1],descr:L[I-1],type:R.getType(L[I-2],L[I])};break;case 28:this.$={id:L[I],descr:L[I],type:0};break;case 29:R.getLogger().trace("node found ..",L[I-3]),this.$={id:L[I-3],descr:L[I-1],type:R.getType(L[I-2],L[I])};break;case 30:this.$=L[I-1]+L[I];break;case 31:this.$=L[I];break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:r,7:[1,10],9:9,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(u,[2,3]),{1:[2,2]},t(u,[2,4]),t(u,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},{6:h,7:f,10:23,11:d},t(p,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:l}),t(p,[2,19]),t(p,[2,21],{15:30,24:m}),t(p,[2,22]),t(p,[2,23]),t(g,[2,25]),t(g,[2,26]),t(g,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:f,10:34,11:d},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:l},t(y,[2,14],{7:v,11:x}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(p,[2,16],{15:37,24:m}),t(p,[2,17]),t(p,[2,18]),t(p,[2,20],{24:T}),t(g,[2,31]),{21:[1,39]},{22:[1,40]},t(y,[2,13],{7:v,11:x}),t(b,[2,11]),t(b,[2,12]),t(p,[2,15],{24:T}),t(g,[2,30]),{22:[1,41]},t(g,[2,27]),t(g,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(A,D){if(D.recoverable)this.trace(A);else{var O=new Error(A);throw O.hash=D,O}},"parseError"),parse:o(function(A){var D=this,O=[0],R=[],k=[null],L=[],S=this.table,I="",M=0,P=0,B=0,F=2,z=1,$=L.slice.call(arguments,1),U=Object.create(this.lexer),K={yy:{}};for(var ee in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ee)&&(K.yy[ee]=this.yy[ee]);U.setInput(A,K.yy),K.yy.lexer=U,K.yy.parser=this,typeof U.yylloc>"u"&&(U.yylloc={});var Y=U.yylloc;L.push(Y);var ce=U.options&&U.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Z(Be){O.length=O.length-2*Be,k.length=k.length-Be,L.length=L.length-Be}o(Z,"popStack");function ue(){var Be;return Be=R.pop()||U.lex()||z,typeof Be!="number"&&(Be instanceof Array&&(R=Be,Be=R.pop()),Be=D.symbols_[Be]||Be),Be}o(ue,"lex");for(var Q,j,ne,te,he,le,J={},Se,se,ae,Oe;;){if(ne=O[O.length-1],this.defaultActions[ne]?te=this.defaultActions[ne]:((Q===null||typeof Q>"u")&&(Q=ue()),te=S[ne]&&S[ne][Q]),typeof te>"u"||!te.length||!te[0]){var ye="";Oe=[];for(Se in S[ne])this.terminals_[Se]&&Se>F&&Oe.push("'"+this.terminals_[Se]+"'");U.showPosition?ye="Parse error on line "+(M+1)+`: +`+U.showPosition()+` +Expecting `+Oe.join(", ")+", got '"+(this.terminals_[Q]||Q)+"'":ye="Parse error on line "+(M+1)+": Unexpected "+(Q==z?"end of input":"'"+(this.terminals_[Q]||Q)+"'"),this.parseError(ye,{text:U.match,token:this.terminals_[Q]||Q,line:U.yylineno,loc:Y,expected:Oe})}if(te[0]instanceof Array&&te.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ne+", token: "+Q);switch(te[0]){case 1:O.push(Q),k.push(U.yytext),L.push(U.yylloc),O.push(te[1]),Q=null,j?(Q=j,j=null):(P=U.yyleng,I=U.yytext,M=U.yylineno,Y=U.yylloc,B>0&&B--);break;case 2:if(se=this.productions_[te[1]][1],J.$=k[k.length-se],J._$={first_line:L[L.length-(se||1)].first_line,last_line:L[L.length-1].last_line,first_column:L[L.length-(se||1)].first_column,last_column:L[L.length-1].last_column},ce&&(J._$.range=[L[L.length-(se||1)].range[0],L[L.length-1].range[1]]),le=this.performAction.apply(J,[I,P,M,K.yy,te[1],k,L].concat($)),typeof le<"u")return le;se&&(O=O.slice(0,-1*se*2),k=k.slice(0,-1*se),L=L.slice(0,-1*se)),O.push(this.productions_[te[1]][0]),k.push(J.$),L.push(J._$),ae=S[O[O.length-2]][O[O.length-1]],O.push(ae);break;case 3:return!0}}return!0},"parse")},w=function(){var _={EOF:1,parseError:o(function(D,O){if(this.yy.parser)this.yy.parser.parseError(D,O);else throw new Error(D)},"parseError"),setInput:o(function(A,D){return this.yy=D||this.yy||{},this._input=A,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var A=this._input[0];this.yytext+=A,this.yyleng++,this.offset++,this.match+=A,this.matched+=A;var D=A.match(/(?:\r\n?|\n).*/g);return D?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),A},"input"),unput:o(function(A){var D=A.length,O=A.split(/(?:\r\n?|\n)/g);this._input=A+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-D),this.offset-=D;var R=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),O.length-1&&(this.yylineno-=O.length-1);var k=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:O?(O.length===R.length?this.yylloc.first_column:0)+R[R.length-O.length].length-O[0].length:this.yylloc.first_column-D},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-D]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(A){this.unput(this.match.slice(A))},"less"),pastInput:o(function(){var A=this.matched.substr(0,this.matched.length-this.match.length);return(A.length>20?"...":"")+A.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var A=this.match;return A.length<20&&(A+=this._input.substr(0,20-A.length)),(A.substr(0,20)+(A.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var A=this.pastInput(),D=new Array(A.length+1).join("-");return A+this.upcomingInput()+` +`+D+"^"},"showPosition"),test_match:o(function(A,D){var O,R,k;if(this.options.backtrack_lexer&&(k={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(k.yylloc.range=this.yylloc.range.slice(0))),R=A[0].match(/(?:\r\n?|\n).*/g),R&&(this.yylineno+=R.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:R?R[R.length-1].length-R[R.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+A[0].length},this.yytext+=A[0],this.match+=A[0],this.matches=A,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(A[0].length),this.matched+=A[0],O=this.performAction.call(this,this.yy,this,D,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),O)return O;if(this._backtrack){for(var L in k)this[L]=k[L];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var A,D,O,R;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),L=0;LD[0].length)){if(D=O,R=L,this.options.backtrack_lexer){if(A=this.test_match(O,k[L]),A!==!1)return A;if(this._backtrack){D=!1;continue}else return!1}else if(!this.options.flex)break}return D?(A=this.test_match(D,k[R]),A!==!1?A:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var D=this.next();return D||this.lex()},"lex"),begin:o(function(D){this.conditionStack.push(D)},"begin"),popState:o(function(){var D=this.conditionStack.length-1;return D>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(D){return D=this.conditionStack.length-1-Math.abs(D||0),D>=0?this.conditionStack[D]:"INITIAL"},"topState"),pushState:o(function(D){this.begin(D)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(D,O,R,k){var L=k;switch(R){case 0:return this.pushState("shapeData"),O.yytext="",24;break;case 1:return this.pushState("shapeDataStr"),24;break;case 2:return this.popState(),24;break;case 3:let S=/\n\s*/g;return O.yytext=O.yytext.replace(S,"
    "),24;break;case 4:return 24;case 5:this.popState();break;case 6:return D.getLogger().trace("Found comment",O.yytext),6;break;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;break;case 10:this.popState();break;case 11:D.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return D.getLogger().trace("SPACELINE"),6;break;case 13:return 7;case 14:return 16;case 15:D.getLogger().trace("end icon"),this.popState();break;case 16:return D.getLogger().trace("Exploding node"),this.begin("NODE"),20;break;case 17:return D.getLogger().trace("Cloud"),this.begin("NODE"),20;break;case 18:return D.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;break;case 19:return D.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;break;case 20:return this.begin("NODE"),20;break;case 21:return this.begin("NODE"),20;break;case 22:return this.begin("NODE"),20;break;case 23:return this.begin("NODE"),20;break;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:D.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return D.getLogger().trace("description:",O.yytext),"NODE_DESCR";break;case 32:this.popState();break;case 33:return this.popState(),D.getLogger().trace("node end ))"),"NODE_DEND";break;case 34:return this.popState(),D.getLogger().trace("node end )"),"NODE_DEND";break;case 35:return this.popState(),D.getLogger().trace("node end ...",O.yytext),"NODE_DEND";break;case 36:return this.popState(),D.getLogger().trace("node end (("),"NODE_DEND";break;case 37:return this.popState(),D.getLogger().trace("node end (-"),"NODE_DEND";break;case 38:return this.popState(),D.getLogger().trace("node end (-"),"NODE_DEND";break;case 39:return this.popState(),D.getLogger().trace("node end (("),"NODE_DEND";break;case 40:return this.popState(),D.getLogger().trace("node end (("),"NODE_DEND";break;case 41:return D.getLogger().trace("Long description:",O.yytext),21;break;case 42:return D.getLogger().trace("Long description:",O.yytext),21;break}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return _}();C.lexer=w;function E(){this.yy={}}return o(E,"Parser"),E.prototype=C,C.Parser=E,new E}();hF.parser=hF;hye=hF});var al,dF,fF,pF,Det,Let,dye,Ret,Net,qi,Met,Iet,Oet,Pet,Bet,Fet,$et,pye,mye=N(()=>{"use strict";qt();dr();yt();Ca();IT();al=[],dF=[],fF=0,pF={},Det=o(()=>{al=[],dF=[],fF=0,pF={}},"clear"),Let=o(t=>{if(al.length===0)return null;let e=al[0].level,r=null;for(let n=al.length-1;n>=0;n--)if(al[n].level===e&&!r&&(r=al[n]),al[n].levell.parentId===i.id);for(let l of s){let u={id:l.id,parentId:i.id,label:ar(l.label??"",n),isGroup:!1,ticket:l?.ticket,priority:l?.priority,assigned:l?.assigned,icon:l?.icon,shape:"kanbanItem",level:l.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(u)}}return{nodes:e,edges:t,other:{},config:ge()}},"getData"),Net=o((t,e,r,n,i)=>{let a=ge(),s=a.mindmap?.padding??lr.mindmap.padding;switch(n){case qi.ROUNDED_RECT:case qi.RECT:case qi.HEXAGON:s*=2}let l={id:ar(e,a)||"kbn"+fF++,level:t,label:ar(r,a),width:a.mindmap?.maxNodeWidth??lr.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let h;i.includes(` +`)?h=i+` +`:h=`{ +`+i+` +}`;let f=gm(h,{schema:mm});if(f.shape&&(f.shape!==f.shape.toLowerCase()||f.shape.includes("_")))throw new Error(`No such shape: ${f.shape}. Shape names should be lowercase.`);f?.shape&&f.shape==="kanbanItem"&&(l.shape=f?.shape),f?.label&&(l.label=f?.label),f?.icon&&(l.icon=f?.icon.toString()),f?.assigned&&(l.assigned=f?.assigned.toString()),f?.ticket&&(l.ticket=f?.ticket.toString()),f?.priority&&(l.priority=f?.priority)}let u=Let(t);u?l.parentId=u.id||"kbn"+fF++:dF.push(l),al.push(l)},"addNode"),qi={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},Met=o((t,e)=>{switch(X.debug("In get type",t,e),t){case"[":return qi.RECT;case"(":return e===")"?qi.ROUNDED_RECT:qi.CLOUD;case"((":return qi.CIRCLE;case")":return qi.CLOUD;case"))":return qi.BANG;case"{{":return qi.HEXAGON;default:return qi.DEFAULT}},"getType"),Iet=o((t,e)=>{pF[t]=e},"setElementForId"),Oet=o(t=>{if(!t)return;let e=ge(),r=al[al.length-1];t.icon&&(r.icon=ar(t.icon,e)),t.class&&(r.cssClasses=ar(t.class,e))},"decorateNode"),Pet=o(t=>{switch(t){case qi.DEFAULT:return"no-border";case qi.RECT:return"rect";case qi.ROUNDED_RECT:return"rounded-rect";case qi.CIRCLE:return"circle";case qi.CLOUD:return"cloud";case qi.BANG:return"bang";case qi.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),Bet=o(()=>X,"getLogger"),Fet=o(t=>pF[t],"getElementById"),$et={clear:Det,addNode:Net,getSections:dye,getData:Ret,nodeType:qi,getType:Met,setElementForId:Iet,decorateNode:Oet,type2Str:Pet,getLogger:Bet,getElementById:Fet},pye=$et});var zet,gye,yye=N(()=>{"use strict";qt();yt();zl();yi();Ca();nw();dw();zet=o(async(t,e,r,n)=>{X.debug(`Rendering kanban diagram +`+t);let a=n.db.getData(),s=ge();s.htmlLabels=!1;let l=Di(e),u=l.append("g");u.attr("class","sections");let h=l.append("g");h.attr("class","items");let f=a.nodes.filter(v=>v.isGroup),d=0,p=10,m=[],g=25;for(let v of f){let x=s?.kanban?.sectionWidth||200;d=d+1,v.x=x*d+(d-1)*p/2,v.width=x,v.y=0,v.height=x*3,v.rx=5,v.ry=5,v.cssClasses=v.cssClasses+" section-"+d;let b=await bm(u,v);g=Math.max(g,b?.labelBBox?.height),m.push(b)}let y=0;for(let v of f){let x=m[y];y=y+1;let b=s?.kanban?.sectionWidth||200,T=-b*3/2+g,C=T,w=a.nodes.filter(A=>A.parentId===v.id);for(let A of w){if(A.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");A.x=v.x,A.width=b-1.5*p;let O=(await Tm(h,A,{config:s})).node().getBBox();A.y=C+O.height/2,await N2(A),C=A.y+O.height/2+p/2}let E=x.cluster.select("rect"),_=Math.max(C-T+3*p,50)+(g-25);E.attr("height",_)}_o(void 0,l,s.mindmap?.padding??lr.kanban.padding,s.mindmap?.useMaxWidth??lr.kanban.useMaxWidth)},"draw"),gye={draw:zet}});var Get,Vet,vye,xye=N(()=>{"use strict";Xs();Vm();Get=o(t=>{let e="";for(let n=0;nt.darkMode?Ot(n,i):Lt(n,i),"adjuster");for(let n=0;n` + .edge { + stroke-width: 3; + } + ${Get(t)} + .section-root rect, .section-root path, .section-root circle, .section-root polygon { + fill: ${t.git0}; + } + .section-root text { + fill: ${t.gitBranchLabel0}; + } + .icon-container { + height:100%; + display: flex; + justify-content: center; + align-items: center; + } + .edge { + fill: none; + } + .cluster-label, .label { + color: ${t.textColor}; + fill: ${t.textColor}; + } + .kanban-label { + dy: 1em; + alignment-baseline: middle; + text-anchor: middle; + dominant-baseline: middle; + text-align: center; + } + ${Lc()} +`,"getStyles"),vye=Vet});var bye={};hr(bye,{diagram:()=>Uet});var Uet,Tye=N(()=>{"use strict";fye();mye();yye();xye();Uet={db:pye,renderer:gye,parser:hye,styles:vye}});var mF,k4,Eye=N(()=>{"use strict";mF=function(){var t=o(function(l,u,h,f){for(h=h||{},f=l.length;f--;h[l[f]]=u);return h},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:o(function(u,h,f,d,p,m,g){var y=m.length-1;switch(p){case 7:let v=d.findOrCreateNode(m[y-4].trim().replaceAll('""','"')),x=d.findOrCreateNode(m[y-2].trim().replaceAll('""','"')),b=parseFloat(m[y].trim());d.addLink(v,x,b);break;case 8:case 9:case 11:this.$=m[y];break;case 10:this.$=m[y-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:o(function(u,h){if(h.recoverable)this.trace(u);else{var f=new Error(u);throw f.hash=h,f}},"parseError"),parse:o(function(u){var h=this,f=[0],d=[],p=[null],m=[],g=this.table,y="",v=0,x=0,b=0,T=2,C=1,w=m.slice.call(arguments,1),E=Object.create(this.lexer),_={yy:{}};for(var A in this.yy)Object.prototype.hasOwnProperty.call(this.yy,A)&&(_.yy[A]=this.yy[A]);E.setInput(u,_.yy),_.yy.lexer=E,_.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var D=E.yylloc;m.push(D);var O=E.options&&E.options.ranges;typeof _.yy.parseError=="function"?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function R(Y){f.length=f.length-2*Y,p.length=p.length-Y,m.length=m.length-Y}o(R,"popStack");function k(){var Y;return Y=d.pop()||E.lex()||C,typeof Y!="number"&&(Y instanceof Array&&(d=Y,Y=d.pop()),Y=h.symbols_[Y]||Y),Y}o(k,"lex");for(var L,S,I,M,P,B,F={},z,$,U,K;;){if(I=f[f.length-1],this.defaultActions[I]?M=this.defaultActions[I]:((L===null||typeof L>"u")&&(L=k()),M=g[I]&&g[I][L]),typeof M>"u"||!M.length||!M[0]){var ee="";K=[];for(z in g[I])this.terminals_[z]&&z>T&&K.push("'"+this.terminals_[z]+"'");E.showPosition?ee="Parse error on line "+(v+1)+`: +`+E.showPosition()+` +Expecting `+K.join(", ")+", got '"+(this.terminals_[L]||L)+"'":ee="Parse error on line "+(v+1)+": Unexpected "+(L==C?"end of input":"'"+(this.terminals_[L]||L)+"'"),this.parseError(ee,{text:E.match,token:this.terminals_[L]||L,line:E.yylineno,loc:D,expected:K})}if(M[0]instanceof Array&&M.length>1)throw new Error("Parse Error: multiple actions possible at state: "+I+", token: "+L);switch(M[0]){case 1:f.push(L),p.push(E.yytext),m.push(E.yylloc),f.push(M[1]),L=null,S?(L=S,S=null):(x=E.yyleng,y=E.yytext,v=E.yylineno,D=E.yylloc,b>0&&b--);break;case 2:if($=this.productions_[M[1]][1],F.$=p[p.length-$],F._$={first_line:m[m.length-($||1)].first_line,last_line:m[m.length-1].last_line,first_column:m[m.length-($||1)].first_column,last_column:m[m.length-1].last_column},O&&(F._$.range=[m[m.length-($||1)].range[0],m[m.length-1].range[1]]),B=this.performAction.apply(F,[y,x,v,_.yy,M[1],p,m].concat(w)),typeof B<"u")return B;$&&(f=f.slice(0,-1*$*2),p=p.slice(0,-1*$),m=m.slice(0,-1*$)),f.push(this.productions_[M[1]][0]),p.push(F.$),m.push(F._$),U=g[f[f.length-2]][f[f.length-1]],f.push(U);break;case 3:return!0}}return!0},"parse")},a=function(){var l={EOF:1,parseError:o(function(h,f){if(this.yy.parser)this.yy.parser.parseError(h,f);else throw new Error(h)},"parseError"),setInput:o(function(u,h){return this.yy=h||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var h=u.match(/(?:\r\n?|\n).*/g);return h?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:o(function(u){var h=u.length,f=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-h),this.offset-=h;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1&&(this.yylineno-=f.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===d.length?this.yylloc.first_column:0)+d[d.length-f.length].length-f[0].length:this.yylloc.first_column-h},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-h]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(u){this.unput(this.match.slice(u))},"less"),pastInput:o(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var u=this.pastInput(),h=new Array(u.length+1).join("-");return u+this.upcomingInput()+` +`+h+"^"},"showPosition"),test_match:o(function(u,h){var f,d,p;if(this.options.backtrack_lexer&&(p={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(p.yylloc.range=this.yylloc.range.slice(0))),d=u[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],f=this.performAction.call(this,this.yy,this,h,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),f)return f;if(this._backtrack){for(var m in p)this[m]=p[m];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,h,f,d;this._more||(this.yytext="",this.match="");for(var p=this._currentRules(),m=0;mh[0].length)){if(h=f,d=m,this.options.backtrack_lexer){if(u=this.test_match(f,p[m]),u!==!1)return u;if(this._backtrack){h=!1;continue}else return!1}else if(!this.options.flex)break}return h?(u=this.test_match(h,p[d]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var h=this.next();return h||this.lex()},"lex"),begin:o(function(h){this.conditionStack.push(h)},"begin"),popState:o(function(){var h=this.conditionStack.length-1;return h>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(h){return h=this.conditionStack.length-1-Math.abs(h||0),h>=0?this.conditionStack[h]:"INITIAL"},"topState"),pushState:o(function(h){this.begin(h)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:o(function(h,f,d,p){var m=p;switch(d){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return l}();i.lexer=a;function s(){this.yy={}}return o(s,"Parser"),s.prototype=i,i.Parser=s,new s}();mF.parser=mF;k4=mF});var hC,fC,uC,Yet,gF,Xet,yF,jet,Ket,Qet,Zet,Sye,Cye=N(()=>{"use strict";qt();dr();ci();hC=[],fC=[],uC=new Map,Yet=o(()=>{hC=[],fC=[],uC=new Map,wr()},"clear"),gF=class{constructor(e,r,n=0){this.source=e;this.target=r;this.value=n}static{o(this,"SankeyLink")}},Xet=o((t,e,r)=>{hC.push(new gF(t,e,r))},"addLink"),yF=class{constructor(e){this.ID=e}static{o(this,"SankeyNode")}},jet=o(t=>{t=Ze.sanitizeText(t,ge());let e=uC.get(t);return e===void 0&&(e=new yF(t),uC.set(t,e),fC.push(e)),e},"findOrCreateNode"),Ket=o(()=>fC,"getNodes"),Qet=o(()=>hC,"getLinks"),Zet=o(()=>({nodes:fC.map(t=>({id:t.ID})),links:hC.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),Sye={nodesMap:uC,getConfig:o(()=>ge().sankey,"getConfig"),getNodes:Ket,getLinks:Qet,getGraph:Zet,addLink:Xet,findOrCreateNode:jet,getAccTitle:_r,setAccTitle:Cr,getAccDescription:Lr,setAccDescription:Dr,getDiagramTitle:Rr,setDiagramTitle:Ir,clear:Yet}});function E4(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r=i)&&(r=i)}return r}var Aye=N(()=>{"use strict";o(E4,"max")});function uy(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}var _ye=N(()=>{"use strict";o(uy,"min")});function hy(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}var Dye=N(()=>{"use strict";o(hy,"sum")});var vF=N(()=>{"use strict";Aye();_ye();Dye()});function Jet(t){return t.target.depth}function xF(t){return t.depth}function bF(t,e){return e-1-t.height}function S4(t,e){return t.sourceLinks.length?t.depth:e-1}function TF(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?uy(t.sourceLinks,Jet)-1:0}var wF=N(()=>{"use strict";vF();o(Jet,"targetDepth");o(xF,"left");o(bF,"right");o(S4,"justify");o(TF,"center")});function fy(t){return function(){return t}}var Lye=N(()=>{"use strict";o(fy,"constant")});function Rye(t,e){return dC(t.source,e.source)||t.index-e.index}function Nye(t,e){return dC(t.target,e.target)||t.index-e.index}function dC(t,e){return t.y0-e.y0}function kF(t){return t.value}function ett(t){return t.index}function ttt(t){return t.nodes}function rtt(t){return t.links}function Mye(t,e){let r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function Iye({nodes:t}){for(let e of t){let r=e.y0,n=r;for(let i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(let i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function pC(){let t=0,e=0,r=1,n=1,i=24,a=8,s,l=ett,u=S4,h,f,d=ttt,p=rtt,m=6;function g(){let I={nodes:d.apply(null,arguments),links:p.apply(null,arguments)};return y(I),v(I),x(I),b(I),w(I),Iye(I),I}o(g,"sankey"),g.update=function(I){return Iye(I),I},g.nodeId=function(I){return arguments.length?(l=typeof I=="function"?I:fy(I),g):l},g.nodeAlign=function(I){return arguments.length?(u=typeof I=="function"?I:fy(I),g):u},g.nodeSort=function(I){return arguments.length?(h=I,g):h},g.nodeWidth=function(I){return arguments.length?(i=+I,g):i},g.nodePadding=function(I){return arguments.length?(a=s=+I,g):a},g.nodes=function(I){return arguments.length?(d=typeof I=="function"?I:fy(I),g):d},g.links=function(I){return arguments.length?(p=typeof I=="function"?I:fy(I),g):p},g.linkSort=function(I){return arguments.length?(f=I,g):f},g.size=function(I){return arguments.length?(t=e=0,r=+I[0],n=+I[1],g):[r-t,n-e]},g.extent=function(I){return arguments.length?(t=+I[0][0],r=+I[1][0],e=+I[0][1],n=+I[1][1],g):[[t,e],[r,n]]},g.iterations=function(I){return arguments.length?(m=+I,g):m};function y({nodes:I,links:M}){for(let[B,F]of I.entries())F.index=B,F.sourceLinks=[],F.targetLinks=[];let P=new Map(I.map((B,F)=>[l(B,F,I),B]));for(let[B,F]of M.entries()){F.index=B;let{source:z,target:$}=F;typeof z!="object"&&(z=F.source=Mye(P,z)),typeof $!="object"&&($=F.target=Mye(P,$)),z.sourceLinks.push(F),$.targetLinks.push(F)}if(f!=null)for(let{sourceLinks:B,targetLinks:F}of I)B.sort(f),F.sort(f)}o(y,"computeNodeLinks");function v({nodes:I}){for(let M of I)M.value=M.fixedValue===void 0?Math.max(hy(M.sourceLinks,kF),hy(M.targetLinks,kF)):M.fixedValue}o(v,"computeNodeValues");function x({nodes:I}){let M=I.length,P=new Set(I),B=new Set,F=0;for(;P.size;){for(let z of P){z.depth=F;for(let{target:$}of z.sourceLinks)B.add($)}if(++F>M)throw new Error("circular link");P=B,B=new Set}}o(x,"computeNodeDepths");function b({nodes:I}){let M=I.length,P=new Set(I),B=new Set,F=0;for(;P.size;){for(let z of P){z.height=F;for(let{source:$}of z.targetLinks)B.add($)}if(++F>M)throw new Error("circular link");P=B,B=new Set}}o(b,"computeNodeHeights");function T({nodes:I}){let M=E4(I,F=>F.depth)+1,P=(r-t-i)/(M-1),B=new Array(M);for(let F of I){let z=Math.max(0,Math.min(M-1,Math.floor(u.call(null,F,M))));F.layer=z,F.x0=t+z*P,F.x1=F.x0+i,B[z]?B[z].push(F):B[z]=[F]}if(h)for(let F of B)F.sort(h);return B}o(T,"computeNodeLayers");function C(I){let M=uy(I,P=>(n-e-(P.length-1)*s)/hy(P,kF));for(let P of I){let B=e;for(let F of P){F.y0=B,F.y1=B+F.value*M,B=F.y1+s;for(let z of F.sourceLinks)z.width=z.value*M}B=(n-B+s)/(P.length+1);for(let F=0;FP.length)-1)),C(M);for(let P=0;P0))continue;let ee=(U/K-$.y0)*M;$.y0+=ee,$.y1+=ee,R($)}h===void 0&&z.sort(dC),A(z,P)}}o(E,"relaxLeftToRight");function _(I,M,P){for(let B=I.length,F=B-2;F>=0;--F){let z=I[F];for(let $ of z){let U=0,K=0;for(let{target:Y,value:ce}of $.sourceLinks){let Z=ce*(Y.layer-$.layer);U+=S($,Y)*Z,K+=Z}if(!(K>0))continue;let ee=(U/K-$.y0)*M;$.y0+=ee,$.y1+=ee,R($)}h===void 0&&z.sort(dC),A(z,P)}}o(_,"relaxRightToLeft");function A(I,M){let P=I.length>>1,B=I[P];O(I,B.y0-s,P-1,M),D(I,B.y1+s,P+1,M),O(I,n,I.length-1,M),D(I,e,0,M)}o(A,"resolveCollisions");function D(I,M,P,B){for(;P1e-6&&(F.y0+=z,F.y1+=z),M=F.y1+s}}o(D,"resolveCollisionsTopToBottom");function O(I,M,P,B){for(;P>=0;--P){let F=I[P],z=(F.y1-M)*B;z>1e-6&&(F.y0-=z,F.y1-=z),M=F.y0-s}}o(O,"resolveCollisionsBottomToTop");function R({sourceLinks:I,targetLinks:M}){if(f===void 0){for(let{source:{sourceLinks:P}}of M)P.sort(Nye);for(let{target:{targetLinks:P}}of I)P.sort(Rye)}}o(R,"reorderNodeLinks");function k(I){if(f===void 0)for(let{sourceLinks:M,targetLinks:P}of I)M.sort(Nye),P.sort(Rye)}o(k,"reorderLinks");function L(I,M){let P=I.y0-(I.sourceLinks.length-1)*s/2;for(let{target:B,width:F}of I.sourceLinks){if(B===M)break;P+=F+s}for(let{source:B,width:F}of M.targetLinks){if(B===I)break;P-=F}return P}o(L,"targetTop");function S(I,M){let P=M.y0-(M.targetLinks.length-1)*s/2;for(let{source:B,width:F}of M.targetLinks){if(B===I)break;P+=F+s}for(let{target:B,width:F}of I.sourceLinks){if(B===M)break;P-=F}return P}return o(S,"sourceTop"),g}var Oye=N(()=>{"use strict";vF();wF();Lye();o(Rye,"ascendingSourceBreadth");o(Nye,"ascendingTargetBreadth");o(dC,"ascendingBreadth");o(kF,"value");o(ett,"defaultId");o(ttt,"defaultNodes");o(rtt,"defaultLinks");o(Mye,"find");o(Iye,"computeLinkBreadths");o(pC,"Sankey")});function CF(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Pye(){return new CF}var EF,SF,e0,ntt,AF,Bye=N(()=>{"use strict";EF=Math.PI,SF=2*EF,e0=1e-6,ntt=SF-e0;o(CF,"Path");o(Pye,"path");CF.prototype=Pye.prototype={constructor:CF,moveTo:o(function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},"moveTo"),closePath:o(function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},"closePath"),lineTo:o(function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},"lineTo"),quadraticCurveTo:o(function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},"quadraticCurveTo"),bezierCurveTo:o(function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},"bezierCurveTo"),arcTo:o(function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,l=r-t,u=n-e,h=a-t,f=s-e,d=h*h+f*f;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(d>e0)if(!(Math.abs(f*l-u*h)>e0)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var p=r-a,m=n-s,g=l*l+u*u,y=p*p+m*m,v=Math.sqrt(g),x=Math.sqrt(d),b=i*Math.tan((EF-Math.acos((g+d-y)/(2*v*x)))/2),T=b/x,C=b/v;Math.abs(T-1)>e0&&(this._+="L"+(t+T*h)+","+(e+T*f)),this._+="A"+i+","+i+",0,0,"+ +(f*p>h*m)+","+(this._x1=t+C*l)+","+(this._y1=e+C*u)}},"arcTo"),arc:o(function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),l=r*Math.sin(n),u=t+s,h=e+l,f=1^a,d=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+u+","+h:(Math.abs(this._x1-u)>e0||Math.abs(this._y1-h)>e0)&&(this._+="L"+u+","+h),r&&(d<0&&(d=d%SF+SF),d>ntt?this._+="A"+r+","+r+",0,1,"+f+","+(t-s)+","+(e-l)+"A"+r+","+r+",0,1,"+f+","+(this._x1=u)+","+(this._y1=h):d>e0&&(this._+="A"+r+","+r+",0,"+ +(d>=EF)+","+f+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},"arc"),rect:o(function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},"rect"),toString:o(function(){return this._},"toString")};AF=Pye});var Fye=N(()=>{"use strict";Bye()});function mC(t){return o(function(){return t},"constant")}var $ye=N(()=>{"use strict";o(mC,"default")});function zye(t){return t[0]}function Gye(t){return t[1]}var Vye=N(()=>{"use strict";o(zye,"x");o(Gye,"y")});var Uye,Hye=N(()=>{"use strict";Uye=Array.prototype.slice});function itt(t){return t.source}function att(t){return t.target}function stt(t){var e=itt,r=att,n=zye,i=Gye,a=null;function s(){var l,u=Uye.call(arguments),h=e.apply(this,u),f=r.apply(this,u);if(a||(a=l=AF()),t(a,+n.apply(this,(u[0]=h,u)),+i.apply(this,u),+n.apply(this,(u[0]=f,u)),+i.apply(this,u)),l)return a=null,l+""||null}return o(s,"link"),s.source=function(l){return arguments.length?(e=l,s):e},s.target=function(l){return arguments.length?(r=l,s):r},s.x=function(l){return arguments.length?(n=typeof l=="function"?l:mC(+l),s):n},s.y=function(l){return arguments.length?(i=typeof l=="function"?l:mC(+l),s):i},s.context=function(l){return arguments.length?(a=l??null,s):a},s}function ott(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function _F(){return stt(ott)}var Wye=N(()=>{"use strict";Fye();Hye();$ye();Vye();o(itt,"linkSource");o(att,"linkTarget");o(stt,"link");o(ott,"curveHorizontal");o(_F,"linkHorizontal")});var qye=N(()=>{"use strict";Wye()});function ltt(t){return[t.source.x1,t.y0]}function ctt(t){return[t.target.x0,t.y1]}function gC(){return _F().source(ltt).target(ctt)}var Yye=N(()=>{"use strict";qye();o(ltt,"horizontalSource");o(ctt,"horizontalTarget");o(gC,"default")});var Xye=N(()=>{"use strict";Oye();wF();Yye()});var C4,jye=N(()=>{"use strict";C4=class t{static{o(this,"Uid")}static{this.count=0}static next(e){return new t(e+ ++t.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}}});var utt,htt,Kye,Qye=N(()=>{"use strict";qt();pr();Xye();yi();jye();utt={left:xF,right:bF,center:TF,justify:S4},htt=o(function(t,e,r,n){let{securityLevel:i,sankey:a}=ge(),s=B3.sankey,l;i==="sandbox"&&(l=Ge("#i"+e));let u=i==="sandbox"?Ge(l.nodes()[0].contentDocument.body):Ge("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):Ge(`[id="${e}"]`),f=a?.width??s.width,d=a?.height??s.width,p=a?.useMaxWidth??s.useMaxWidth,m=a?.nodeAlignment??s.nodeAlignment,g=a?.prefix??s.prefix,y=a?.suffix??s.suffix,v=a?.showValues??s.showValues,x=n.db.getGraph(),b=utt[m];pC().nodeId(O=>O.id).nodeWidth(10).nodePadding(10+(v?15:0)).nodeAlign(b).extent([[0,0],[f,d]])(x);let w=Qs(MD);h.append("g").attr("class","nodes").selectAll(".node").data(x.nodes).join("g").attr("class","node").attr("id",O=>(O.uid=C4.next("node-")).id).attr("transform",function(O){return"translate("+O.x0+","+O.y0+")"}).attr("x",O=>O.x0).attr("y",O=>O.y0).append("rect").attr("height",O=>O.y1-O.y0).attr("width",O=>O.x1-O.x0).attr("fill",O=>w(O.id));let E=o(({id:O,value:R})=>v?`${O} +${g}${Math.round(R*100)/100}${y}`:O,"getText");h.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(x.nodes).join("text").attr("x",O=>O.x0(O.y1+O.y0)/2).attr("dy",`${v?"0":"0.35"}em`).attr("text-anchor",O=>O.x0(R.uid=C4.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",R=>R.source.x1).attr("x2",R=>R.target.x0);O.append("stop").attr("offset","0%").attr("stop-color",R=>w(R.source.id)),O.append("stop").attr("offset","100%").attr("stop-color",R=>w(R.target.id))}let D;switch(A){case"gradient":D=o(O=>O.uid,"coloring");break;case"source":D=o(O=>w(O.source.id),"coloring");break;case"target":D=o(O=>w(O.target.id),"coloring");break;default:D=A}_.append("path").attr("d",gC()).attr("stroke",D).attr("stroke-width",O=>Math.max(1,O.width)),_o(void 0,h,0,p)},"draw"),Kye={draw:htt}});var Zye,Jye=N(()=>{"use strict";Zye=o(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,` +`).trim(),"prepareTextForParsing")});var ftt,eve,tve=N(()=>{"use strict";ftt=o(t=>`.label { + font-family: ${t.fontFamily}; + }`,"getStyles"),eve=ftt});var rve={};hr(rve,{diagram:()=>ptt});var dtt,ptt,nve=N(()=>{"use strict";Eye();Cye();Qye();Jye();tve();dtt=k4.parse.bind(k4);k4.parse=t=>dtt(Zye(t));ptt={styles:eve,parser:k4,db:Sye,renderer:Kye}});var vtt,dy,DF=N(()=>{"use strict";Jn();Ca();nr();ci();vtt=lr.packet,dy=class{constructor(){this.packet=[];this.setAccTitle=Cr;this.getAccTitle=_r;this.setDiagramTitle=Ir;this.getDiagramTitle=Rr;this.getAccDescription=Lr;this.setAccDescription=Dr}static{o(this,"PacketDB")}getConfig(){let e=Fn({...vtt,...Qt().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){wr(),this.packet=[]}}});var xtt,btt,Ttt,LF,sve=N(()=>{"use strict";gf();yt();Dp();DF();xtt=1e4,btt=o((t,e)=>{Qo(t,e);let r=-1,n=[],i=1,{bitsPerRow:a}=e.getConfig();for(let{start:s,end:l,bits:u,label:h}of t.blocks){if(s!==void 0&&l!==void 0&&l{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];let n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),LF={parser:{yy:void 0},parse:o(async t=>{let e=await ps("packet",t),r=LF.parser?.yy;if(!(r instanceof dy))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");X.debug(e),btt(e,r)},"parse")}});var wtt,ktt,ove,lve=N(()=>{"use strict";zl();yi();wtt=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:l,bitWidth:u,bitsPerRow:h}=a,f=i.getPacket(),d=i.getDiagramTitle(),p=s+l,m=p*(f.length+1)-(d?0:s),g=u*h+2,y=Di(e);y.attr("viewbox",`0 0 ${g} ${m}`),hn(y,m,g,a.useMaxWidth);for(let[v,x]of f.entries())ktt(y,x,v,a);y.append("text").text(d).attr("x",g/2).attr("y",m-p/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),ktt=o((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:l,showBits:u})=>{let h=t.append("g"),f=r*(n+a)+a;for(let d of e){let p=d.start%l*s+1,m=(d.end-d.start+1)*s-i;if(h.append("rect").attr("x",p).attr("y",f).attr("width",m).attr("height",n).attr("class","packetBlock"),h.append("text").attr("x",p+m/2).attr("y",f+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(d.label),!u)continue;let g=d.end===d.start,y=f-2;h.append("text").attr("x",p+(g?m/2:0)).attr("y",y).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(d.start),g||h.append("text").attr("x",p+m).attr("y",y).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(d.end)}},"drawWord"),ove={draw:wtt}});var Ett,cve,uve=N(()=>{"use strict";nr();Ett={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},cve=o(({packet:t}={})=>{let e=Fn(Ett,t);return` + .packetByte { + font-size: ${e.byteFontSize}; + } + .packetByte.start { + fill: ${e.startByteColor}; + } + .packetByte.end { + fill: ${e.endByteColor}; + } + .packetLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .packetTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + .packetBlock { + stroke: ${e.blockStrokeColor}; + stroke-width: ${e.blockStrokeWidth}; + fill: ${e.blockFillColor}; + } + `},"styles")});var hve={};hr(hve,{diagram:()=>Stt});var Stt,fve=N(()=>{"use strict";DF();sve();lve();uve();Stt={parser:LF,get db(){return new dy},renderer:ove,styles:cve}});var py,mve,t0,_tt,Dtt,gve,Ltt,Rtt,Ntt,Mtt,Itt,Ott,Ptt,r0,RF=N(()=>{"use strict";Jn();Ca();nr();ci();py={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},mve={axes:[],curves:[],options:py},t0=structuredClone(mve),_tt=lr.radar,Dtt=o(()=>Fn({..._tt,...Qt().radar}),"getConfig"),gve=o(()=>t0.axes,"getAxes"),Ltt=o(()=>t0.curves,"getCurves"),Rtt=o(()=>t0.options,"getOptions"),Ntt=o(t=>{t0.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),Mtt=o(t=>{t0.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:Itt(e.entries)}))},"setCurves"),Itt=o(t=>{if(t[0].axis==null)return t.map(r=>r.value);let e=gve();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{let n=t.find(i=>i.axis?.$refText===r.name);if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),Ott=o(t=>{let e=t.reduce((r,n)=>(r[n.name]=n,r),{});t0.options={showLegend:e.showLegend?.value??py.showLegend,ticks:e.ticks?.value??py.ticks,max:e.max?.value??py.max,min:e.min?.value??py.min,graticule:e.graticule?.value??py.graticule}},"setOptions"),Ptt=o(()=>{wr(),t0=structuredClone(mve)},"clear"),r0={getAxes:gve,getCurves:Ltt,getOptions:Rtt,setAxes:Ntt,setCurves:Mtt,setOptions:Ott,getConfig:Dtt,clear:Ptt,setAccTitle:Cr,getAccTitle:_r,setDiagramTitle:Ir,getDiagramTitle:Rr,getAccDescription:Lr,setAccDescription:Dr}});var Btt,yve,vve=N(()=>{"use strict";gf();yt();Dp();RF();Btt=o(t=>{Qo(t,r0);let{axes:e,curves:r,options:n}=t;r0.setAxes(e),r0.setCurves(r),r0.setOptions(n)},"populate"),yve={parse:o(async t=>{let e=await ps("radar",t);X.debug(e),Btt(e)},"parse")}});function Vtt(t,e,r,n,i,a,s){let l=e.length,u=Math.min(s.width,s.height)/2;r.forEach((h,f)=>{if(h.entries.length!==l)return;let d=h.entries.map((p,m)=>{let g=2*Math.PI*m/l-Math.PI/2,y=Utt(p,n,i,u),v=y*Math.cos(g),x=y*Math.sin(g);return{x:v,y:x}});a==="circle"?t.append("path").attr("d",Htt(d,s.curveTension)).attr("class",`radarCurve-${f}`):a==="polygon"&&t.append("polygon").attr("points",d.map(p=>`${p.x},${p.y}`).join(" ")).attr("class",`radarCurve-${f}`)})}function Utt(t,e,r,n){let i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}function Htt(t,e){let r=t.length,n=`M${t[0].x},${t[0].y}`;for(let i=0;i{let h=t.append("g").attr("transform",`translate(${i}, ${a+u*s})`);h.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${u}`),h.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(l.label)})}var Ftt,$tt,ztt,Gtt,xve,bve=N(()=>{"use strict";zl();Ftt=o((t,e,r,n)=>{let i=n.db,a=i.getAxes(),s=i.getCurves(),l=i.getOptions(),u=i.getConfig(),h=i.getDiagramTitle(),f=Di(e),d=$tt(f,u),p=l.max??Math.max(...s.map(y=>Math.max(...y.entries))),m=l.min,g=Math.min(u.width,u.height)/2;ztt(d,a,g,l.ticks,l.graticule),Gtt(d,a,g,u),Vtt(d,a,s,m,p,l.graticule,u),Wtt(d,s,l.showLegend,u),d.append("text").attr("class","radarTitle").text(h).attr("x",0).attr("y",-u.height/2-u.marginTop)},"draw"),$tt=o((t,e)=>{let r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return t.attr("viewbox",`0 0 ${r} ${n}`).attr("width",r).attr("height",n),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),ztt=o((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a{let d=2*f*Math.PI/a-Math.PI/2,p=l*Math.cos(d),m=l*Math.sin(d);return`${p},${m}`}).join(" ");t.append("polygon").attr("points",u).attr("class","radarGraticule")}}},"drawGraticule"),Gtt=o((t,e,r,n)=>{let i=e.length;for(let a=0;a{"use strict";nr();Ny();Jn();qtt=o((t,e)=>{let r="";for(let n=0;n{let e=ch(),r=Qt(),n=Fn(e,r.themeVariables),i=Fn(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),Tve=o(({radar:t}={})=>{let{themeVariables:e,radarOptions:r}=Ytt(t);return` + .radarTitle { + font-size: ${e.fontSize}; + color: ${e.titleColor}; + dominant-baseline: hanging; + text-anchor: middle; + } + .radarAxisLine { + stroke: ${r.axisColor}; + stroke-width: ${r.axisStrokeWidth}; + } + .radarAxisLabel { + dominant-baseline: middle; + text-anchor: middle; + font-size: ${r.axisLabelFontSize}px; + color: ${r.axisColor}; + } + .radarGraticule { + fill: ${r.graticuleColor}; + fill-opacity: ${r.graticuleOpacity}; + stroke: ${r.graticuleColor}; + stroke-width: ${r.graticuleStrokeWidth}; + } + .radarLegendText { + text-anchor: start; + font-size: ${r.legendFontSize}px; + dominant-baseline: hanging; + } + ${qtt(e,r)} + `},"styles")});var kve={};hr(kve,{diagram:()=>Xtt});var Xtt,Eve=N(()=>{"use strict";RF();vve();bve();wve();Xtt={parser:yve,db:r0,renderer:xve,styles:Tve}});var NF,Ave,_ve=N(()=>{"use strict";NF=function(){var t=o(function(T,C,w,E){for(w=w||{},E=T.length;E--;w[T[E]]=C);return w},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],l=[1,17],u=[1,18],h=[8,30],f=[8,10,21,28,29,30,31,39,43,46],d=[1,23],p=[1,24],m=[8,10,15,16,21,28,29,30,31,39,43,46],g=[8,10,15,16,21,27,28,29,30,31,39,43,46],y=[1,49],v={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:o(function(C,w,E,_,A,D,O){var R=D.length-1;switch(A){case 4:_.getLogger().debug("Rule: separator (NL) ");break;case 5:_.getLogger().debug("Rule: separator (Space) ");break;case 6:_.getLogger().debug("Rule: separator (EOF) ");break;case 7:_.getLogger().debug("Rule: hierarchy: ",D[R-1]),_.setHierarchy(D[R-1]);break;case 8:_.getLogger().debug("Stop NL ");break;case 9:_.getLogger().debug("Stop EOF ");break;case 10:_.getLogger().debug("Stop NL2 ");break;case 11:_.getLogger().debug("Stop EOF2 ");break;case 12:_.getLogger().debug("Rule: statement: ",D[R]),typeof D[R].length=="number"?this.$=D[R]:this.$=[D[R]];break;case 13:_.getLogger().debug("Rule: statement #2: ",D[R-1]),this.$=[D[R-1]].concat(D[R]);break;case 14:_.getLogger().debug("Rule: link: ",D[R],C),this.$={edgeTypeStr:D[R],label:""};break;case 15:_.getLogger().debug("Rule: LABEL link: ",D[R-3],D[R-1],D[R]),this.$={edgeTypeStr:D[R],label:D[R-1]};break;case 18:let k=parseInt(D[R]),L=_.generateId();this.$={id:L,type:"space",label:"",width:k,children:[]};break;case 23:_.getLogger().debug("Rule: (nodeStatement link node) ",D[R-2],D[R-1],D[R]," typestr: ",D[R-1].edgeTypeStr);let S=_.edgeStrToEdgeData(D[R-1].edgeTypeStr);this.$=[{id:D[R-2].id,label:D[R-2].label,type:D[R-2].type,directions:D[R-2].directions},{id:D[R-2].id+"-"+D[R].id,start:D[R-2].id,end:D[R].id,label:D[R-1].label,type:"edge",directions:D[R].directions,arrowTypeEnd:S,arrowTypeStart:"arrow_open"},{id:D[R].id,label:D[R].label,type:_.typeStr2Type(D[R].typeStr),directions:D[R].directions}];break;case 24:_.getLogger().debug("Rule: nodeStatement (abc88 node size) ",D[R-1],D[R]),this.$={id:D[R-1].id,label:D[R-1].label,type:_.typeStr2Type(D[R-1].typeStr),directions:D[R-1].directions,widthInColumns:parseInt(D[R],10)};break;case 25:_.getLogger().debug("Rule: nodeStatement (node) ",D[R]),this.$={id:D[R].id,label:D[R].label,type:_.typeStr2Type(D[R].typeStr),directions:D[R].directions,widthInColumns:1};break;case 26:_.getLogger().debug("APA123",this?this:"na"),_.getLogger().debug("COLUMNS: ",D[R]),this.$={type:"column-setting",columns:D[R]==="auto"?-1:parseInt(D[R])};break;case 27:_.getLogger().debug("Rule: id-block statement : ",D[R-2],D[R-1]);let I=_.generateId();this.$={...D[R-2],type:"composite",children:D[R-1]};break;case 28:_.getLogger().debug("Rule: blockStatement : ",D[R-2],D[R-1],D[R]);let M=_.generateId();this.$={id:M,type:"composite",label:"",children:D[R-1]};break;case 29:_.getLogger().debug("Rule: node (NODE_ID separator): ",D[R]),this.$={id:D[R]};break;case 30:_.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",D[R-1],D[R]),this.$={id:D[R-1],label:D[R].label,typeStr:D[R].typeStr,directions:D[R].directions};break;case 31:_.getLogger().debug("Rule: dirList: ",D[R]),this.$=[D[R]];break;case 32:_.getLogger().debug("Rule: dirList: ",D[R-1],D[R]),this.$=[D[R-1]].concat(D[R]);break;case 33:_.getLogger().debug("Rule: nodeShapeNLabel: ",D[R-2],D[R-1],D[R]),this.$={typeStr:D[R-2]+D[R],label:D[R-1]};break;case 34:_.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",D[R-3],D[R-2]," #3:",D[R-1],D[R]),this.$={typeStr:D[R-3]+D[R],label:D[R-2],directions:D[R-1]};break;case 35:case 36:this.$={type:"classDef",id:D[R-1].trim(),css:D[R].trim()};break;case 37:this.$={type:"applyClass",id:D[R-1].trim(),styleClass:D[R].trim()};break;case 38:this.$={type:"applyStyles",id:D[R-1].trim(),stylesStr:D[R].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{8:[1,20]},t(h,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:l,46:u}),t(f,[2,16],{14:22,15:d,16:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,22]),t(m,[2,25],{27:[1,25]}),t(f,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(g,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(h,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(m,[2,24]),{10:e,11:37,13:4,14:22,15:d,16:p,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:l,46:u},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(m,[2,23]),{18:[1,45]},{30:[1,46]},t(f,[2,28]),t(f,[2,35]),t(f,[2,36]),t(f,[2,37]),t(f,[2,38]),{36:[1,47]},{33:48,34:y},{15:[1,50]},t(f,[2,27]),t(g,[2,33]),{38:[1,51]},{33:52,34:y,38:[2,31]},{31:[2,15]},t(g,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:o(function(C,w){if(w.recoverable)this.trace(C);else{var E=new Error(C);throw E.hash=w,E}},"parseError"),parse:o(function(C){var w=this,E=[0],_=[],A=[null],D=[],O=this.table,R="",k=0,L=0,S=0,I=2,M=1,P=D.slice.call(arguments,1),B=Object.create(this.lexer),F={yy:{}};for(var z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,z)&&(F.yy[z]=this.yy[z]);B.setInput(C,F.yy),F.yy.lexer=B,F.yy.parser=this,typeof B.yylloc>"u"&&(B.yylloc={});var $=B.yylloc;D.push($);var U=B.options&&B.options.ranges;typeof F.yy.parseError=="function"?this.parseError=F.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function K(se){E.length=E.length-2*se,A.length=A.length-se,D.length=D.length-se}o(K,"popStack");function ee(){var se;return se=_.pop()||B.lex()||M,typeof se!="number"&&(se instanceof Array&&(_=se,se=_.pop()),se=w.symbols_[se]||se),se}o(ee,"lex");for(var Y,ce,Z,ue,Q,j,ne={},te,he,le,J;;){if(Z=E[E.length-1],this.defaultActions[Z]?ue=this.defaultActions[Z]:((Y===null||typeof Y>"u")&&(Y=ee()),ue=O[Z]&&O[Z][Y]),typeof ue>"u"||!ue.length||!ue[0]){var Se="";J=[];for(te in O[Z])this.terminals_[te]&&te>I&&J.push("'"+this.terminals_[te]+"'");B.showPosition?Se="Parse error on line "+(k+1)+`: +`+B.showPosition()+` +Expecting `+J.join(", ")+", got '"+(this.terminals_[Y]||Y)+"'":Se="Parse error on line "+(k+1)+": Unexpected "+(Y==M?"end of input":"'"+(this.terminals_[Y]||Y)+"'"),this.parseError(Se,{text:B.match,token:this.terminals_[Y]||Y,line:B.yylineno,loc:$,expected:J})}if(ue[0]instanceof Array&&ue.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+Y);switch(ue[0]){case 1:E.push(Y),A.push(B.yytext),D.push(B.yylloc),E.push(ue[1]),Y=null,ce?(Y=ce,ce=null):(L=B.yyleng,R=B.yytext,k=B.yylineno,$=B.yylloc,S>0&&S--);break;case 2:if(he=this.productions_[ue[1]][1],ne.$=A[A.length-he],ne._$={first_line:D[D.length-(he||1)].first_line,last_line:D[D.length-1].last_line,first_column:D[D.length-(he||1)].first_column,last_column:D[D.length-1].last_column},U&&(ne._$.range=[D[D.length-(he||1)].range[0],D[D.length-1].range[1]]),j=this.performAction.apply(ne,[R,L,k,F.yy,ue[1],A,D].concat(P)),typeof j<"u")return j;he&&(E=E.slice(0,-1*he*2),A=A.slice(0,-1*he),D=D.slice(0,-1*he)),E.push(this.productions_[ue[1]][0]),A.push(ne.$),D.push(ne._$),le=O[E[E.length-2]][E[E.length-1]],E.push(le);break;case 3:return!0}}return!0},"parse")},x=function(){var T={EOF:1,parseError:o(function(w,E){if(this.yy.parser)this.yy.parser.parseError(w,E);else throw new Error(w)},"parseError"),setInput:o(function(C,w){return this.yy=w||this.yy||{},this._input=C,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var C=this._input[0];this.yytext+=C,this.yyleng++,this.offset++,this.match+=C,this.matched+=C;var w=C.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),C},"input"),unput:o(function(C){var w=C.length,E=C.split(/(?:\r\n?|\n)/g);this._input=C+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),E.length-1&&(this.yylineno-=E.length-1);var A=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:E?(E.length===_.length?this.yylloc.first_column:0)+_[_.length-E.length].length-E[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(C){this.unput(this.match.slice(C))},"less"),pastInput:o(function(){var C=this.matched.substr(0,this.matched.length-this.match.length);return(C.length>20?"...":"")+C.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var C=this.match;return C.length<20&&(C+=this._input.substr(0,20-C.length)),(C.substr(0,20)+(C.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var C=this.pastInput(),w=new Array(C.length+1).join("-");return C+this.upcomingInput()+` +`+w+"^"},"showPosition"),test_match:o(function(C,w){var E,_,A;if(this.options.backtrack_lexer&&(A={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(A.yylloc.range=this.yylloc.range.slice(0))),_=C[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+C[0].length},this.yytext+=C[0],this.match+=C[0],this.matches=C,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(C[0].length),this.matched+=C[0],E=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),E)return E;if(this._backtrack){for(var D in A)this[D]=A[D];return!1}return!1},"test_match"),next:o(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var C,w,E,_;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),D=0;Dw[0].length)){if(w=E,_=D,this.options.backtrack_lexer){if(C=this.test_match(E,A[D]),C!==!1)return C;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(C=this.test_match(w,A[_]),C!==!1?C:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:o(function(){var w=this.next();return w||this.lex()},"lex"),begin:o(function(w){this.conditionStack.push(w)},"begin"),popState:o(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:o(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:o(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:o(function(w){this.begin(w)},"pushState"),stateStackSize:o(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:o(function(w,E,_,A){var D=A;switch(_){case 0:return w.getLogger().debug("Found block-beta"),10;break;case 1:return w.getLogger().debug("Found id-block"),29;break;case 2:return w.getLogger().debug("Found block"),10;break;case 3:w.getLogger().debug(".",E.yytext);break;case 4:w.getLogger().debug("_",E.yytext);break;case 5:return 5;case 6:return E.yytext=-1,28;break;case 7:return E.yytext=E.yytext.replace(/columns\s+/,""),w.getLogger().debug("COLUMNS (LEX)",E.yytext),28;break;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:w.getLogger().debug("LEX: POPPING STR:",E.yytext),this.popState();break;case 13:return w.getLogger().debug("LEX: STR end:",E.yytext),"STR";break;case 14:return E.yytext=E.yytext.replace(/space\:/,""),w.getLogger().debug("SPACE NUM (LEX)",E.yytext),21;break;case 15:return E.yytext="1",w.getLogger().debug("COLUMNS (LEX)",E.yytext),21;break;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;break;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";break;case 21:return this.popState(),this.pushState("CLASSDEFID"),40;break;case 22:return this.popState(),41;break;case 23:return this.pushState("CLASS"),43;break;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;break;case 25:return this.popState(),45;break;case 26:return this.pushState("STYLE_STMNT"),46;break;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;break;case 28:return this.popState(),48;break;case 29:return this.pushState("acc_title"),"acc_title";break;case 30:return this.popState(),"acc_title_value";break;case 31:return this.pushState("acc_descr"),"acc_descr";break;case 32:return this.popState(),"acc_descr_value";break;case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 38:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 39:return this.popState(),w.getLogger().debug("Lex: ))"),"NODE_DEND";break;case 40:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 41:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 42:return this.popState(),w.getLogger().debug("Lex: (-"),"NODE_DEND";break;case 43:return this.popState(),w.getLogger().debug("Lex: -)"),"NODE_DEND";break;case 44:return this.popState(),w.getLogger().debug("Lex: (("),"NODE_DEND";break;case 45:return this.popState(),w.getLogger().debug("Lex: ]]"),"NODE_DEND";break;case 46:return this.popState(),w.getLogger().debug("Lex: ("),"NODE_DEND";break;case 47:return this.popState(),w.getLogger().debug("Lex: ])"),"NODE_DEND";break;case 48:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 49:return this.popState(),w.getLogger().debug("Lex: /]"),"NODE_DEND";break;case 50:return this.popState(),w.getLogger().debug("Lex: )]"),"NODE_DEND";break;case 51:return this.popState(),w.getLogger().debug("Lex: )"),"NODE_DEND";break;case 52:return this.popState(),w.getLogger().debug("Lex: ]>"),"NODE_DEND";break;case 53:return this.popState(),w.getLogger().debug("Lex: ]"),"NODE_DEND";break;case 54:return w.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;break;case 55:return w.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;break;case 56:return w.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;break;case 57:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 58:return w.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;break;case 59:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 60:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 61:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 62:return w.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;break;case 63:return w.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;break;case 64:return w.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;break;case 65:return this.pushState("NODE"),35;break;case 66:return this.pushState("NODE"),35;break;case 67:return this.pushState("NODE"),35;break;case 68:return this.pushState("NODE"),35;break;case 69:return this.pushState("NODE"),35;break;case 70:return this.pushState("NODE"),35;break;case 71:return this.pushState("NODE"),35;break;case 72:return w.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;break;case 73:return this.pushState("BLOCK_ARROW"),w.getLogger().debug("LEX ARR START"),37;break;case 74:return w.getLogger().debug("Lex: NODE_ID",E.yytext),31;break;case 75:return w.getLogger().debug("Lex: EOF",E.yytext),8;break;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:w.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:w.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return w.getLogger().debug("LEX: NODE_DESCR:",E.yytext),"NODE_DESCR";break;case 83:w.getLogger().debug("LEX POPPING"),this.popState();break;case 84:w.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return E.yytext=E.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (right): dir:",E.yytext),"DIR";break;case 86:return E.yytext=E.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (left):",E.yytext),"DIR";break;case 87:return E.yytext=E.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (x):",E.yytext),"DIR";break;case 88:return E.yytext=E.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (y):",E.yytext),"DIR";break;case 89:return E.yytext=E.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (up):",E.yytext),"DIR";break;case 90:return E.yytext=E.yytext.replace(/^,\s*/,""),w.getLogger().debug("Lex (down):",E.yytext),"DIR";break;case 91:return E.yytext="]>",w.getLogger().debug("Lex (ARROW_DIR end):",E.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";break;case 92:return w.getLogger().debug("Lex: LINK","#"+E.yytext+"#"),15;break;case 93:return w.getLogger().debug("Lex: LINK",E.yytext),15;break;case 94:return w.getLogger().debug("Lex: LINK",E.yytext),15;break;case 95:return w.getLogger().debug("Lex: LINK",E.yytext),15;break;case 96:return w.getLogger().debug("Lex: START_LINK",E.yytext),this.pushState("LLABEL"),16;break;case 97:return w.getLogger().debug("Lex: START_LINK",E.yytext),this.pushState("LLABEL"),16;break;case 98:return w.getLogger().debug("Lex: START_LINK",E.yytext),this.pushState("LLABEL"),16;break;case 99:this.pushState("md_string");break;case 100:return w.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";break;case 101:return this.popState(),w.getLogger().debug("Lex: LINK","#"+E.yytext+"#"),15;break;case 102:return this.popState(),w.getLogger().debug("Lex: LINK",E.yytext),15;break;case 103:return this.popState(),w.getLogger().debug("Lex: LINK",E.yytext),15;break;case 104:return w.getLogger().debug("Lex: COLON",E.yytext),E.yytext=E.yytext.slice(1),27;break}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return T}();v.lexer=x;function b(){this.yy={}}return o(b,"Parser"),b.prototype=v,v.Parser=b,new b}();NF.parser=NF;Ave=NF});function irt(t){switch(X.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return X.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function art(t){switch(X.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}function srt(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}var Wl,IF,MF,Dve,Lve,Qtt,Nve,Ztt,yC,Jtt,ert,trt,rrt,Mve,OF,A4,nrt,Rve,ort,lrt,crt,urt,hrt,frt,drt,prt,mrt,grt,yrt,Ive,Ove=N(()=>{"use strict";KL();Jn();qt();yt();dr();ci();Wl=new Map,IF=[],MF=new Map,Dve="color",Lve="fill",Qtt="bgFill",Nve=",",Ztt=ge(),yC=new Map,Jtt=o(t=>Ze.sanitizeText(t,Ztt),"sanitizeText"),ert=o(function(t,e=""){let r=yC.get(t);r||(r={id:t,styles:[],textStyles:[]},yC.set(t,r)),e?.split(Nve).forEach(n=>{let i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(Dve).exec(n)){let s=i.replace(Lve,Qtt).replace(Dve,Lve);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),trt=o(function(t,e=""){let r=Wl.get(t);e!=null&&(r.styles=e.split(Nve))},"addStyle2Node"),rrt=o(function(t,e){t.split(",").forEach(function(r){let n=Wl.get(r);if(n===void 0){let i=r.trim();n={id:i,type:"na",children:[]},Wl.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),Mve=o((t,e)=>{let r=t.flat(),n=[],a=r.find(s=>s?.type==="column-setting")?.columns??-1;for(let s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&X.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=Jtt(s.label)),s.type==="classDef"){ert(s.id,s.css);continue}if(s.type==="applyClass"){rrt(s.id,s?.styleClass??"");continue}if(s.type==="applyStyles"){s?.stylesStr&&trt(s.id,s?.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){let l=(MF.get(s.id)??0)+1;MF.set(s.id,l),s.id=l+"-"+s.id,IF.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);let l=Wl.get(s.id);if(l===void 0?Wl.set(s.id,s):(s.type!=="na"&&(l.type=s.type),s.label!==s.id&&(l.label=s.label)),s.children&&Mve(s.children,s),s.type==="space"){let u=s.width??1;for(let h=0;h{X.debug("Clear called"),wr(),A4={id:"root",type:"composite",children:[],columns:-1},Wl=new Map([["root",A4]]),OF=[],yC=new Map,IF=[],MF=new Map},"clear");o(irt,"typeStr2Type");o(art,"edgeTypeStr2Type");o(srt,"edgeStrToEdgeData");Rve=0,ort=o(()=>(Rve++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Rve),"generateId"),lrt=o(t=>{A4.children=t,Mve(t,A4),OF=A4.children},"setHierarchy"),crt=o(t=>{let e=Wl.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),urt=o(()=>[...Wl.values()],"getBlocksFlat"),hrt=o(()=>OF||[],"getBlocks"),frt=o(()=>IF,"getEdges"),drt=o(t=>Wl.get(t),"getBlock"),prt=o(t=>{Wl.set(t.id,t)},"setBlock"),mrt=o(()=>X,"getLogger"),grt=o(function(){return yC},"getClasses"),yrt={getConfig:o(()=>Qt().block,"getConfig"),typeStr2Type:irt,edgeTypeStr2Type:art,edgeStrToEdgeData:srt,getLogger:mrt,getBlocksFlat:urt,getBlocks:hrt,getEdges:frt,setHierarchy:lrt,getBlock:drt,setBlock:prt,getColumns:crt,getClasses:grt,clear:nrt,generateId:ort},Ive=yrt});var vC,vrt,Pve,Bve=N(()=>{"use strict";Xs();Vm();vC=o((t,e)=>{let r=Kf,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ya(n,i,a,e)},"fade"),vrt=o(t=>`.label { + font-family: ${t.fontFamily}; + color: ${t.nodeTextColor||t.textColor}; + } + .cluster-label text { + fill: ${t.titleColor}; + } + .cluster-label span,p { + color: ${t.titleColor}; + } + + + + .label text,span,p { + fill: ${t.nodeTextColor||t.textColor}; + color: ${t.nodeTextColor||t.textColor}; + } + + .node rect, + .node circle, + .node ellipse, + .node polygon, + .node path { + fill: ${t.mainBkg}; + stroke: ${t.nodeBorder}; + stroke-width: 1px; + } + .flowchart-label text { + text-anchor: middle; + } + // .flowchart-label .text-outer-tspan { + // text-anchor: middle; + // } + // .flowchart-label .text-inner-tspan { + // text-anchor: start; + // } + + .node .label { + text-align: center; + } + .node.clickable { + cursor: pointer; + } + + .arrowheadPath { + fill: ${t.arrowheadColor}; + } + + .edgePath .path { + stroke: ${t.lineColor}; + stroke-width: 2.0px; + } + + .flowchart-link { + stroke: ${t.lineColor}; + fill: none; + } + + .edgeLabel { + background-color: ${t.edgeLabelBackground}; + rect { + opacity: 0.5; + background-color: ${t.edgeLabelBackground}; + fill: ${t.edgeLabelBackground}; + } + text-align: center; + } + + /* For html labels only */ + .labelBkg { + background-color: ${vC(t.edgeLabelBackground,.5)}; + // background-color: + } + + .node .cluster { + // fill: ${vC(t.mainBkg,.5)}; + fill: ${vC(t.clusterBkg,.5)}; + stroke: ${vC(t.clusterBorder,.2)}; + box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px; + stroke-width: 1px; + } + + .cluster text { + fill: ${t.titleColor}; + } + + .cluster span,p { + color: ${t.titleColor}; + } + /* .cluster div { + color: ${t.titleColor}; + } */ + + div.mermaidTooltip { + position: absolute; + text-align: center; + max-width: 200px; + padding: 2px; + font-family: ${t.fontFamily}; + font-size: 12px; + background: ${t.tertiaryColor}; + border: 1px solid ${t.border2}; + border-radius: 2px; + pointer-events: none; + z-index: 100; + } + + .flowchartTitleText { + text-anchor: middle; + font-size: 18px; + fill: ${t.textColor}; + } + ${Lc()} +`,"getStyles"),Pve=vrt});var xrt,brt,Trt,wrt,krt,Ert,Srt,Crt,Art,_rt,Drt,Fve,$ve=N(()=>{"use strict";yt();xrt=o((t,e,r,n)=>{e.forEach(i=>{Drt[i](t,r,n)})},"insertMarkers"),brt=o((t,e,r)=>{X.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},"extension"),Trt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),wrt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),krt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),Ert=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),Srt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"point"),Crt=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},"circle"),Art=o((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},"cross"),_rt=o((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),Drt={extension:brt,composition:Trt,aggregation:wrt,dependency:krt,lollipop:Ert,point:Srt,circle:Crt,cross:Art,barb:_rt},Fve=xrt});function Lrt(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};let r=e%t,n=Math.floor(e/t);return{px:r,py:n}}function PF(t,e,r=0,n=0){X.debug("setBlockSizes abc95 (start)",t.id,t?.size?.x,"block width =",t?.size,"siblingWidth",r),t?.size?.width||(t.size={width:r,height:n,x:0,y:0});let i=0,a=0;if(t.children?.length>0){for(let m of t.children)PF(m,e);let s=Rrt(t);i=s.width,a=s.height,X.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",i,a);for(let m of t.children)m.size&&(X.debug(`abc95 Setting size of children of ${t.id} id=${m.id} ${i} ${a} ${JSON.stringify(m.size)}`),m.size.width=i*(m.widthInColumns??1)+wi*((m.widthInColumns??1)-1),m.size.height=a,m.size.x=0,m.size.y=0,X.debug(`abc95 updating size of ${t.id} children child:${m.id} maxWidth:${i} maxHeight:${a}`));for(let m of t.children)PF(m,e,i,a);let l=t.columns??-1,u=0;for(let m of t.children)u+=m.widthInColumns??1;let h=t.children.length;l>0&&l0?Math.min(t.children.length,l):t.children.length;if(m>0){let g=(d-m*wi-wi)/m;X.debug("abc95 (growing to fit) width",t.id,d,t.size?.width,g);for(let y of t.children)y.size&&(y.size.width=g)}}t.size={width:d,height:p,x:0,y:0}}X.debug("setBlockSizes abc94 (done)",t.id,t?.size?.x,t?.size?.width,t?.size?.y,t?.size?.height)}function zve(t,e){X.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`);let r=t.columns??-1;if(X.debug("layoutBlocks columns abc95",t.id,"=>",r,t),t.children&&t.children.length>0){let n=t?.children[0]?.size?.width??0,i=t.children.length*n+(t.children.length-1)*wi;X.debug("widthOfChildren 88",i,"posX");let a=0;X.debug("abc91 block?.size?.x",t.id,t?.size?.x);let s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-wi,l=0;for(let u of t.children){let h=t;if(!u.size)continue;let{width:f,height:d}=u.size,{px:p,py:m}=Lrt(r,a);if(m!=l&&(l=m,s=t?.size?.x?t?.size?.x+(-t?.size?.width/2||0):-wi,X.debug("New row in layout for block",t.id," and child ",u.id,l)),X.debug(`abc89 layout blocks (child) id: ${u.id} Pos: ${a} (px, py) ${p},${m} (${h?.size?.x},${h?.size?.y}) parent: ${h.id} width: ${f}${wi}`),h.size){let y=f/2;u.size.x=s+wi+y,X.debug(`abc91 layout blocks (calc) px, pyid:${u.id} startingPos=X${s} new startingPosX${u.size.x} ${y} padding=${wi} width=${f} halfWidth=${y} => x:${u.size.x} y:${u.size.y} ${u.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(u?.widthInColumns??1)/2}`),s=u.size.x+y,u.size.y=h.size.y-h.size.height/2+m*(d+wi)+d/2+wi,X.debug(`abc88 layout blocks (calc) px, pyid:${u.id}startingPosX${s}${wi}${y}=>x:${u.size.x}y:${u.size.y}${u.widthInColumns}(width * (child?.w || 1)) / 2${f*(u?.widthInColumns??1)/2}`)}u.children&&zve(u,e);let g=u?.widthInColumns??1;r>0&&(g=Math.min(g,r-a%r)),a+=g,X.debug("abc88 columnsPos",u,a)}}X.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${t?.size?.x} y: ${t?.size?.y} width: ${t?.size?.width}`)}function Gve(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){let{x:a,y:s,width:l,height:u}=t.size;a-l/2n&&(n=a+l/2),s+u/2>i&&(i=s+u/2)}if(t.children)for(let a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=Gve(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}function Vve(t){let e=t.getBlock("root");if(!e)return;PF(e,t,0,0),zve(e,t),X.debug("getBlocks",JSON.stringify(e,null,2));let{minX:r,minY:n,maxX:i,maxY:a}=Gve(e),s=a-n,l=i-r;return{x:r,y:n,width:l,height:s}}var wi,Rrt,Uve=N(()=>{"use strict";yt();qt();wi=ge()?.block?.padding??8;o(Lrt,"calculateBlockPosition");Rrt=o(t=>{let e=0,r=0;for(let n of t.children){let{width:i,height:a,x:s,y:l}=n.size??{width:0,height:0,x:0,y:0};X.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",l,n.type),n.type!=="space"&&(i>e&&(e=i/(t.widthInColumns??1)),a>r&&(r=a))}return{width:e,height:r}},"getMaxChildSize");o(PF,"setBlockSizes");o(zve,"layoutBlocks");o(Gve,"findBounds");o(Vve,"layout")});function Hve(t,e){e&&t.attr("style",e)}function Nrt(t,e){let r=Ge(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),n=r.append("xhtml:div"),i=t.label,a=t.isNode?"nodeLabel":"edgeLabel",s=n.append("span");return s.html(ar(i,e)),Hve(s,t.labelStyle),s.attr("class",a),Hve(n,t.labelStyle),n.style("display","inline-block"),n.style("white-space","nowrap"),n.attr("xmlns","http://www.w3.org/1999/xhtml"),r.node()}var Mrt,xs,xC=N(()=>{"use strict";pr();qt();dr();yt();no();nr();o(Hve,"applyStyle");o(Nrt,"addHtmlLabel");Mrt=o(async(t,e,r,n)=>{let i=t||"";typeof i=="object"&&(i=i[0]);let a=ge();if(mr(a.flowchart.htmlLabels)){i=i.replace(/\\n|\n/g,"
    "),X.debug("vertexText"+i);let s=await uL(ta(i)),l={isNode:n,label:s,labelStyle:e.replace("fill:","color:")};return Nrt(l,a)}else{let s=document.createElementNS("http://www.w3.org/2000/svg","text");s.setAttribute("style",e.replace("color:","fill:"));let l=[];typeof i=="string"?l=i.split(/\\n|\n|/gi):Array.isArray(i)?l=i:l=[];for(let u of l){let h=document.createElementNS("http://www.w3.org/2000/svg","tspan");h.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),h.setAttribute("dy","1em"),h.setAttribute("x","0"),r?h.setAttribute("class","title-row"):h.setAttribute("class","row"),h.textContent=u.trim(),s.appendChild(h)}return s}},"createLabel"),xs=Mrt});var qve,Irt,Wve,Yve=N(()=>{"use strict";yt();qve=o((t,e,r,n,i)=>{e.arrowTypeStart&&Wve(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&Wve(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),Irt={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},Wve=o((t,e,r,n,i,a)=>{let s=Irt[r];if(!s){X.warn(`Unknown arrow type: ${r}`);return}let l=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${l})`)},"addEdgeMarker")});function bC(t,e){ge().flowchart.htmlLabels&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}var BF,Ha,jve,Kve,Ort,Prt,Xve,Qve,Zve=N(()=>{"use strict";yt();xC();no();pr();qt();nr();dr();ML();L2();Yve();BF={},Ha={},jve=o(async(t,e)=>{let r=ge(),n=mr(r.flowchart.htmlLabels),i=e.labelType==="markdown"?Hn(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:!0},r):await xs(e.label,e.labelStyle),a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label");s.node().appendChild(i);let l=i.getBBox();if(n){let h=i.children[0],f=Ge(i);l=h.getBoundingClientRect(),f.attr("width",l.width),f.attr("height",l.height)}s.attr("transform","translate("+-l.width/2+", "+-l.height/2+")"),BF[e.id]=a,e.width=l.width,e.height=l.height;let u;if(e.startLabelLeft){let h=await xs(e.startLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Ha[e.id]||(Ha[e.id]={}),Ha[e.id].startLeft=f,bC(u,e.startLabelLeft)}if(e.startLabelRight){let h=await xs(e.startLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=f.node().appendChild(h),d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),Ha[e.id]||(Ha[e.id]={}),Ha[e.id].startRight=f,bC(u,e.startLabelRight)}if(e.endLabelLeft){let h=await xs(e.endLabelLeft,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),Ha[e.id]||(Ha[e.id]={}),Ha[e.id].endLeft=f,bC(u,e.endLabelLeft)}if(e.endLabelRight){let h=await xs(e.endLabelRight,e.labelStyle),f=t.insert("g").attr("class","edgeTerminals"),d=f.insert("g").attr("class","inner");u=d.node().appendChild(h);let p=h.getBBox();d.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),f.node().appendChild(h),Ha[e.id]||(Ha[e.id]={}),Ha[e.id].endRight=f,bC(u,e.endLabelRight)}return i},"insertEdgeLabel");o(bC,"setTerminalWidth");Kve=o((t,e)=>{X.debug("Moving label abc88 ",t.id,t.label,BF[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath,n=ge(),{subGraphTitleTotalMargin:i}=Mu(n);if(t.label){let a=BF[t.id],s=t.x,l=t.y;if(r){let u=Vt.calcLabelPosition(r);X.debug("Moving label "+t.label+" from (",s,",",l,") to (",u.x,",",u.y,") abc88"),e.updatedPath&&(s=u.x,l=u.y)}a.attr("transform",`translate(${s}, ${l+i/2})`)}if(t.startLabelLeft){let a=Ha[t.id].startLeft,s=t.x,l=t.y;if(r){let u=Vt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.startLabelRight){let a=Ha[t.id].startRight,s=t.x,l=t.y;if(r){let u=Vt.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelLeft){let a=Ha[t.id].endLeft,s=t.x,l=t.y;if(r){let u=Vt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}if(t.endLabelRight){let a=Ha[t.id].endRight,s=t.x,l=t.y;if(r){let u=Vt.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=u.x,l=u.y}a.attr("transform",`translate(${s}, ${l})`)}},"positionEdgeLabel"),Ort=o((t,e)=>{let r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,l=t.height/2;return i>=s||a>=l},"outsideNode"),Prt=o((t,e,r)=>{X.debug(`intersection calc abc89: + outsidePoint: ${JSON.stringify(e)} + insidePoint : ${JSON.stringify(r)} + node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);let n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2,l=r.xMath.abs(n-e.x)*u){let d=r.y{X.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!Ort(e,a)&&!i){let s=Prt(e,n,a),l=!1;r.forEach(u=>{l=l||u.x===s.x&&u.y===s.y}),r.some(u=>u.x===s.x&&u.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),Qve=o(function(t,e,r,n,i,a,s){let l=r.points;X.debug("abc88 InsertEdge: edge=",r,"e=",e);let u=!1,h=a.node(e.v);var f=a.node(e.w);f?.intersect&&h?.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(h.intersect(l[0])),l.push(f.intersect(l[l.length-1]))),r.toCluster&&(X.debug("to cluster abc88",n[r.toCluster]),l=Xve(r.points,n[r.toCluster].node),u=!0),r.fromCluster&&(X.debug("from cluster abc88",n[r.fromCluster]),l=Xve(l.reverse(),n[r.fromCluster].node).reverse(),u=!0);let d=l.filter(C=>!Number.isNaN(C.y)),p=Lo;r.curve&&(i==="graph"||i==="flowchart")&&(p=r.curve);let{x:m,y:g}=aw(r),y=El().x(m).y(g).curve(p),v;switch(r.thickness){case"normal":v="edge-thickness-normal";break;case"thick":v="edge-thickness-thick";break;case"invisible":v="edge-thickness-thick";break;default:v=""}switch(r.pattern){case"solid":v+=" edge-pattern-solid";break;case"dotted":v+=" edge-pattern-dotted";break;case"dashed":v+=" edge-pattern-dashed";break}let x=t.append("path").attr("d",y(d)).attr("id",r.id).attr("class"," "+v+(r.classes?" "+r.classes:"")).attr("style",r.style),b="";(ge().flowchart.arrowMarkerAbsolute||ge().state.arrowMarkerAbsolute)&&(b=fu(!0)),qve(x,r,b,s,i);let T={};return u&&(T.updatedPath=l),T.originalPath=r.points,T},"insertEdge")});var Brt,Jve,e2e=N(()=>{"use strict";Brt=o(t=>{let e=new Set;for(let r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),Jve=o((t,e,r)=>{let n=Brt(t),i=2,a=e.height+2*r.padding,s=a/i,l=e.width+2*s+r.padding,u=r.padding/2;return n.has("right")&&n.has("left")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:s,y:0},{x:l/2,y:2*u},{x:l-s,y:0},{x:l,y:0},{x:l,y:-a/3},{x:l+2*u,y:-a/2},{x:l,y:-2*a/3},{x:l,y:-a},{x:l-s,y:-a},{x:l/2,y:-a-2*u},{x:s,y:-a},{x:0,y:-a},{x:0,y:-2*a/3},{x:-2*u,y:-a/2},{x:0,y:-a/3}]:n.has("right")&&n.has("left")&&n.has("up")?[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}]:n.has("right")&&n.has("left")&&n.has("down")?[{x:0,y:0},{x:s,y:-a},{x:l-s,y:-a},{x:l,y:0}]:n.has("right")&&n.has("up")&&n.has("down")?[{x:0,y:0},{x:l,y:-s},{x:l,y:-a+s},{x:0,y:-a}]:n.has("left")&&n.has("up")&&n.has("down")?[{x:l,y:0},{x:0,y:-s},{x:0,y:-a+s},{x:l,y:-a}]:n.has("right")&&n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")&&n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:n.has("right")&&n.has("up")?[{x:0,y:0},{x:l,y:-s},{x:0,y:-a}]:n.has("right")&&n.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-a}]:n.has("left")&&n.has("up")?[{x:l,y:0},{x:0,y:-s},{x:l,y:-a}]:n.has("left")&&n.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-a}]:n.has("right")?[{x:s,y:-u},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a+u}]:n.has("left")?[{x:s,y:0},{x:s,y:-u},{x:l-s,y:-u},{x:l-s,y:-a+u},{x:s,y:-a+u},{x:s,y:-a},{x:0,y:-a/2}]:n.has("up")?[{x:s,y:-u},{x:s,y:-a+u},{x:0,y:-a+u},{x:l/2,y:-a},{x:l,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u}]:n.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:s,y:-u},{x:s,y:-a+u},{x:l-s,y:-a+u},{x:l-s,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints")});function Frt(t,e){return t.intersect(e)}var t2e,r2e=N(()=>{"use strict";o(Frt,"intersectNode");t2e=Frt});function $rt(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,l=a-n.y,u=Math.sqrt(e*e*l*l+r*r*s*s),h=Math.abs(e*r*s/u);n.x{"use strict";o($rt,"intersectEllipse");TC=$rt});function zrt(t,e,r){return TC(t,e,e,r)}var n2e,i2e=N(()=>{"use strict";FF();o(zrt,"intersectCircle");n2e=zrt});function Grt(t,e,r,n){var i,a,s,l,u,h,f,d,p,m,g,y,v,x,b;if(i=e.y-t.y,s=t.x-e.x,u=e.x*t.y-t.x*e.y,p=i*r.x+s*r.y+u,m=i*n.x+s*n.y+u,!(p!==0&&m!==0&&a2e(p,m))&&(a=n.y-r.y,l=r.x-n.x,h=n.x*r.y-r.x*n.y,f=a*t.x+l*t.y+h,d=a*e.x+l*e.y+h,!(f!==0&&d!==0&&a2e(f,d))&&(g=i*l-a*s,g!==0)))return y=Math.abs(g/2),v=s*h-l*u,x=v<0?(v-y)/g:(v+y)/g,v=a*u-i*h,b=v<0?(v-y)/g:(v+y)/g,{x,y:b}}function a2e(t,e){return t*e>0}var s2e,o2e=N(()=>{"use strict";o(Grt,"intersectLine");o(a2e,"sameSign");s2e=Grt});function Vrt(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,l=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){s=Math.min(s,g.x),l=Math.min(l,g.y)}):(s=Math.min(s,e.x),l=Math.min(l,e.y));for(var u=n-t.width/2-s,h=i-t.height/2-l,f=0;f1&&a.sort(function(g,y){var v=g.x-r.x,x=g.y-r.y,b=Math.sqrt(v*v+x*x),T=y.x-r.x,C=y.y-r.y,w=Math.sqrt(T*T+C*C);return b{"use strict";o2e();l2e=Vrt;o(Vrt,"intersectPolygon")});var Urt,u2e,h2e=N(()=>{"use strict";Urt=o((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,l=t.height/2,u,h;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),u=a===0?0:l*i/a,h=l):(i<0&&(s=-s),u=s,h=i===0?0:s*a/i),{x:r+u,y:n+h}},"intersectRect"),u2e=Urt});var Mn,$F=N(()=>{"use strict";r2e();i2e();FF();c2e();h2e();Mn={node:t2e,circle:n2e,ellipse:TC,polygon:l2e,rect:u2e}});function ql(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}var Ri,Qn,zF=N(()=>{"use strict";xC();no();qt();pr();dr();nr();Ri=o(async(t,e,r,n)=>{let i=ge(),a,s=e.useHtmlLabels||mr(i.flowchart.htmlLabels);r?a=r:a="node default";let l=t.insert("g").attr("class",a).attr("id",e.domId||e.id),u=l.insert("g").attr("class","label").attr("style",e.labelStyle),h;e.labelText===void 0?h="":h=typeof e.labelText=="string"?e.labelText:e.labelText[0];let f=u.node(),d;e.labelType==="markdown"?d=Hn(u,ar(ta(h),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):d=f.appendChild(await xs(ar(ta(h),i),e.labelStyle,!1,n));let p=d.getBBox(),m=e.padding/2;if(mr(i.flowchart.htmlLabels)){let g=d.children[0],y=Ge(d),v=g.getElementsByTagName("img");if(v){let x=h.replace(/]*>/g,"").trim()==="";await Promise.all([...v].map(b=>new Promise(T=>{function C(){if(b.style.display="flex",b.style.flexDirection="column",x){let w=i.fontSize?i.fontSize:window.getComputedStyle(document.body).fontSize,_=parseInt(w,10)*5+"px";b.style.minWidth=_,b.style.maxWidth=_}else b.style.width="100%";T(b)}o(C,"setupImage"),setTimeout(()=>{b.complete&&C()}),b.addEventListener("error",C),b.addEventListener("load",C)})))}p=g.getBoundingClientRect(),y.attr("width",p.width),y.attr("height",p.height)}return s?u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):u.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&u.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),u.insert("rect",":first-child"),{shapeSvg:l,bbox:p,halfPadding:m,label:u}},"labelHelper"),Qn=o((t,e)=>{let r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");o(ql,"insertPolygonShape")});var Hrt,f2e,d2e=N(()=>{"use strict";zF();yt();qt();$F();Hrt=o(async(t,e)=>{e.useHtmlLabels||ge().flowchart.htmlLabels||(e.centerLabel=!0);let{shapeSvg:n,bbox:i,halfPadding:a}=await Ri(t,e,"node "+e.classes,!0);X.info("Classes = ",e.classes);let s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),Qn(e,s),e.intersect=function(l){return Mn.rect(e,l)},n},"note"),f2e=Hrt});function GF(t,e,r,n){let i=[],a=o(l=>{i.push(l,0)},"addBorder"),s=o(l=>{i.push(0,l)},"skipBorder");e.includes("t")?(X.debug("add top border"),a(r)):s(r),e.includes("r")?(X.debug("add right border"),a(n)):s(n),e.includes("b")?(X.debug("add bottom border"),a(r)):s(r),e.includes("l")?(X.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}var p2e,vo,m2e,Wrt,qrt,Yrt,Xrt,jrt,Krt,Qrt,Zrt,Jrt,ent,tnt,rnt,nnt,int,ant,snt,ont,lnt,cnt,g2e,unt,hnt,y2e,wC,VF,v2e,x2e=N(()=>{"use strict";pr();qt();dr();yt();e2e();xC();$F();d2e();zF();p2e=o(t=>t?" "+t:"","formatClass"),vo=o((t,e)=>`${e||"node default"}${p2e(t.classes)} ${p2e(t.class)}`,"getClassesFromNode"),m2e=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,l=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];X.info("Question main (Circle)");let u=ql(r,s,s,l);return u.attr("style",e.style),Qn(e,u),e.intersect=function(h){return X.warn("Intersect called"),Mn.polygon(e,l,h)},r},"question"),Wrt=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return Mn.circle(e,14,s)},r},"choice"),qrt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e,void 0),!0),i=4,a=n.height+e.padding,s=a/i,l=n.width+2*s+e.padding,u=[{x:s,y:0},{x:l-s,y:0},{x:l,y:-a/2},{x:l-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],h=ql(r,l,a,u);return h.attr("style",e.style),Qn(e,h),e.intersect=function(f){return Mn.polygon(e,u,f)},r},"hexagon"),Yrt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,l=n.width+2*s+e.padding,u=Jve(e.directions,n,e),h=ql(r,l,a,u);return h.attr("style",e.style),Qn(e,h),e.intersect=function(f){return Mn.polygon(e,u,f)},r},"block_arrow"),Xrt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return ql(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(u){return Mn.polygon(e,s,u)},r},"rect_left_inv_arrow"),jrt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],l=ql(r,i,a,s);return l.attr("style",e.style),Qn(e,l),e.intersect=function(u){return Mn.polygon(e,s,u)},r},"lean_right"),Krt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],l=ql(r,i,a,s);return l.attr("style",e.style),Qn(e,l),e.intersect=function(u){return Mn.polygon(e,s,u)},r},"lean_left"),Qrt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],l=ql(r,i,a,s);return l.attr("style",e.style),Qn(e,l),e.intersect=function(u){return Mn.polygon(e,s,u)},r},"trapezoid"),Zrt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],l=ql(r,i,a,s);return l.attr("style",e.style),Qn(e,l),e.intersect=function(u){return Mn.polygon(e,s,u)},r},"inv_trapezoid"),Jrt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],l=ql(r,i,a,s);return l.attr("style",e.style),Qn(e,l),e.intersect=function(u){return Mn.polygon(e,s,u)},r},"rect_right_inv_arrow"),ent=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),l=n.height+s+e.padding,u="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+l+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-l,h=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",u).attr("transform","translate("+-i/2+","+-(l/2+s)+")");return Qn(e,h),e.intersect=function(f){let d=Mn.rect(e,f),p=d.x-e.x;if(a!=0&&(Math.abs(p)e.height/2-s)){let m=s*s*(1-p*p/(a*a));m!=0&&(m=Math.sqrt(m)),m=s-m,f.y-e.y>0&&(m=-m),d.y+=m}return d},r},"cylinder"),tnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Ri(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(GF(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{X.warn(`Unknown node property ${d}`)})}return Qn(e,a),e.intersect=function(f){return Mn.rect(e,f)},r},"rect"),rnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Ri(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,l=e.positioned?e.height:n.height+e.padding,u=e.positioned?-s/2:-n.width/2-i,h=e.positioned?-l/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",u).attr("y",h).attr("width",s).attr("height",l),e.props){let f=new Set(Object.keys(e.props));e.props.borders&&(GF(a,e.props.borders,s,l),f.delete("borders")),f.forEach(d=>{X.warn(`Unknown node property ${d}`)})}return Qn(e,a),e.intersect=function(f){return Mn.rect(e,f)},r},"composite"),nnt=o(async(t,e)=>{let{shapeSvg:r}=await Ri(t,e,"label",!0);X.trace("Classes = ",e.class);let n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){let s=new Set(Object.keys(e.props));e.props.borders&&(GF(n,e.props.borders,i,a),s.delete("borders")),s.forEach(l=>{X.warn(`Unknown node property ${l}`)})}return Qn(e,n),e.intersect=function(s){return Mn.rect(e,s)},r},"labelRect");o(GF,"applyNodePropertyBorders");int=o(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";let n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),l=e.labelText.flat?e.labelText.flat():e.labelText,u="";typeof l=="object"?u=l[0]:u=l,X.info("Label text abc79",u,l,typeof l=="object");let h=s.node().appendChild(await xs(u,e.labelStyle,!0,!0)),f={width:0,height:0};if(mr(ge().flowchart.htmlLabels)){let y=h.children[0],v=Ge(h);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}X.info("Text 2",l);let d=l.slice(1,l.length),p=h.getBBox(),m=s.node().appendChild(await xs(d.join?d.join("
    "):d,e.labelStyle,!0,!0));if(mr(ge().flowchart.htmlLabels)){let y=m.children[0],v=Ge(m);f=y.getBoundingClientRect(),v.attr("width",f.width),v.attr("height",f.height)}let g=e.padding/2;return Ge(m).attr("transform","translate( "+(f.width>p.width?0:(p.width-f.width)/2)+", "+(p.height+g+5)+")"),Ge(h).attr("transform","translate( "+(f.width{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return Qn(e,s),e.intersect=function(l){return Mn.rect(e,l)},r},"stadium"),snt=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Ri(t,e,vo(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),X.info("Circle main"),Qn(e,a),e.intersect=function(s){return X.info("Circle intersect",e,n.width/2+i,s),Mn.circle(e,n.width/2+i,s)},r},"circle"),ont=o(async(t,e)=>{let{shapeSvg:r,bbox:n,halfPadding:i}=await Ri(t,e,vo(e,void 0),!0),a=5,s=r.insert("g",":first-child"),l=s.insert("circle"),u=s.insert("circle");return s.attr("class",e.class),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),u.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),X.info("DoubleCircle main"),Qn(e,l),e.intersect=function(h){return X.info("DoubleCircle intersect",e,n.width/2+i+a,h),Mn.circle(e,n.width/2+i+a,h)},r},"doublecircle"),lnt=o(async(t,e)=>{let{shapeSvg:r,bbox:n}=await Ri(t,e,vo(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],l=ql(r,i,a,s);return l.attr("style",e.style),Qn(e,l),e.intersect=function(u){return Mn.polygon(e,s,u)},r},"subroutine"),cnt=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Qn(e,n),e.intersect=function(i){return Mn.circle(e,7,i)},r},"start"),g2e=o((t,e,r)=>{let n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),i=70,a=10;r==="LR"&&(i=10,a=70);let s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return Qn(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(l){return Mn.rect(e,l)},n},"forkJoin"),unt=o((t,e)=>{let r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Qn(e,i),e.intersect=function(a){return Mn.circle(e,7,a)},r},"end"),hnt=o(async(t,e)=>{let r=e.padding/2,n=4,i=8,a;e.classes?a="node "+e.classes:a="node default";let s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=s.insert("rect",":first-child"),u=s.insert("line"),h=s.insert("line"),f=0,d=n,p=s.insert("g").attr("class","label"),m=0,g=e.classData.annotations?.[0],y=e.classData.annotations[0]?"\xAB"+e.classData.annotations[0]+"\xBB":"",v=p.node().appendChild(await xs(y,e.labelStyle,!0,!0)),x=v.getBBox();if(mr(ge().flowchart.htmlLabels)){let A=v.children[0],D=Ge(v);x=A.getBoundingClientRect(),D.attr("width",x.width),D.attr("height",x.height)}e.classData.annotations[0]&&(d+=x.height+n,f+=x.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(ge().flowchart.htmlLabels?b+="<"+e.classData.type+">":b+="<"+e.classData.type+">");let T=p.node().appendChild(await xs(b,e.labelStyle,!0,!0));Ge(T).attr("class","classTitle");let C=T.getBBox();if(mr(ge().flowchart.htmlLabels)){let A=T.children[0],D=Ge(T);C=A.getBoundingClientRect(),D.attr("width",C.width),D.attr("height",C.height)}d+=C.height+n,C.width>f&&(f=C.width);let w=[];e.classData.members.forEach(async A=>{let D=A.getDisplayDetails(),O=D.displayText;ge().flowchart.htmlLabels&&(O=O.replace(//g,">"));let R=p.node().appendChild(await xs(O,D.cssStyle?D.cssStyle:e.labelStyle,!0,!0)),k=R.getBBox();if(mr(ge().flowchart.htmlLabels)){let L=R.children[0],S=Ge(R);k=L.getBoundingClientRect(),S.attr("width",k.width),S.attr("height",k.height)}k.width>f&&(f=k.width),d+=k.height+n,w.push(R)}),d+=i;let E=[];if(e.classData.methods.forEach(async A=>{let D=A.getDisplayDetails(),O=D.displayText;ge().flowchart.htmlLabels&&(O=O.replace(//g,">"));let R=p.node().appendChild(await xs(O,D.cssStyle?D.cssStyle:e.labelStyle,!0,!0)),k=R.getBBox();if(mr(ge().flowchart.htmlLabels)){let L=R.children[0],S=Ge(R);k=L.getBoundingClientRect(),S.attr("width",k.width),S.attr("height",k.height)}k.width>f&&(f=k.width),d+=k.height+n,E.push(R)}),d+=i,g){let A=(f-x.width)/2;Ge(v).attr("transform","translate( "+(-1*f/2+A)+", "+-1*d/2+")"),m=x.height+n}let _=(f-C.width)/2;return Ge(T).attr("transform","translate( "+(-1*f/2+_)+", "+(-1*d/2+m)+")"),m+=C.height+n,u.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,w.forEach(A=>{Ge(A).attr("transform","translate( "+-f/2+", "+(-1*d/2+m+i/2)+")");let D=A?.getBBox();m+=(D?.height??0)+n}),m+=i,h.attr("class","divider").attr("x1",-f/2-r).attr("x2",f/2+r).attr("y1",-d/2-r+i+m).attr("y2",-d/2-r+i+m),m+=i,E.forEach(A=>{Ge(A).attr("transform","translate( "+-f/2+", "+(-1*d/2+m)+")");let D=A?.getBBox();m+=(D?.height??0)+n}),l.attr("style",e.style).attr("class","outer title-state").attr("x",-f/2-r).attr("y",-(d/2)-r).attr("width",f+e.padding).attr("height",d+e.padding),Qn(e,l),e.intersect=function(A){return Mn.rect(e,A)},s},"class_box"),y2e={rhombus:m2e,composite:rnt,question:m2e,rect:tnt,labelRect:nnt,rectWithTitle:int,choice:Wrt,circle:snt,doublecircle:ont,stadium:ant,hexagon:qrt,block_arrow:Yrt,rect_left_inv_arrow:Xrt,lean_right:jrt,lean_left:Krt,trapezoid:Qrt,inv_trapezoid:Zrt,rect_right_inv_arrow:Jrt,cylinder:ent,start:cnt,end:unt,note:f2e,subroutine:lnt,fork:g2e,join:g2e,class_box:hnt},wC={},VF=o(async(t,e,r)=>{let n,i;if(e.link){let a;ge().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await y2e[e.shape](n,e,r)}else i=await y2e[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),wC[e.id]=n,e.haveCallback&&wC[e.id].attr("class",wC[e.id].attr("class")+" clickable"),n},"insertNode"),v2e=o(t=>{let e=wC[t.id];X.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");let r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode")});function b2e(t,e,r=!1){let n=t,i="default";(n?.classes?.length||0)>0&&(i=(n?.classes??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",l;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",l=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}let u=C9(n?.styles??[]),h=n.label,f=n.size??{width:0,height:0,x:0,y:0};return{labelStyle:u.labelStyle,shape:s,labelText:h,rx:a,ry:a,class:i,style:u.style,id:n.id,directions:n.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:r,intersect:void 0,type:n.type,padding:l??Qt()?.block?.padding??0}}async function fnt(t,e,r){let n=b2e(e,r,!1);if(n.type==="group")return;let i=Qt(),a=await VF(t,n,{config:i}),s=a.node().getBBox(),l=r.getBlock(n.id);l.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(l),a.remove()}async function dnt(t,e,r){let n=b2e(e,r,!0);if(r.getBlock(n.id).type!=="space"){let a=Qt();await VF(t,n,{config:a}),e.intersect=n?.intersect,v2e(n)}}async function UF(t,e,r,n){for(let i of e)await n(t,i,r),i.children&&await UF(t,i.children,r,n)}async function T2e(t,e,r){await UF(t,e,r,fnt)}async function w2e(t,e,r){await UF(t,e,r,dnt)}async function k2e(t,e,r,n,i){let a=new an({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(let s of e)if(s.start&&s.end){let l=n.getBlock(s.start),u=n.getBlock(s.end);if(l?.size&&u?.size){let h=l.size,f=u.size,d=[{x:h.x,y:h.y},{x:h.x+(f.x-h.x)/2,y:h.y+(f.y-h.y)/2},{x:f.x,y:f.y}];Qve(t,{v:s.start,w:s.end,name:s.id},{...s,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"},void 0,"block",a,i),s.label&&(await jve(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:d,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),Kve({...s,x:d[1].x,y:d[1].y},{originalPath:d}))}}}var E2e=N(()=>{"use strict";Uo();Jn();Zve();x2e();nr();o(b2e,"getNodeFromBlock");o(fnt,"calculateBlockSize");o(dnt,"insertBlockPositioned");o(UF,"performOperations");o(T2e,"calculateBlockSizes");o(w2e,"insertBlocks");o(k2e,"insertEdges")});var pnt,mnt,S2e,C2e=N(()=>{"use strict";pr();Jn();$ve();yt();yi();Uve();E2e();pnt=o(function(t,e){return e.db.getClasses()},"getClasses"),mnt=o(async function(t,e,r,n){let{securityLevel:i,block:a}=Qt(),s=n.db,l;i==="sandbox"&&(l=Ge("#i"+e));let u=i==="sandbox"?Ge(l.nodes()[0].contentDocument.body):Ge("body"),h=i==="sandbox"?u.select(`[id="${e}"]`):Ge(`[id="${e}"]`);Fve(h,["point","circle","cross"],n.type,e);let d=s.getBlocks(),p=s.getBlocksFlat(),m=s.getEdges(),g=h.insert("g").attr("class","block");await T2e(g,d,s);let y=Vve(s);if(await w2e(g,d,s),await k2e(g,m,p,s,e),y){let v=y,x=Math.max(1,Math.round(.125*(v.width/v.height))),b=v.height+x+10,T=v.width+10,{useMaxWidth:C}=a;hn(h,b,T,!!C),X.debug("Here Bounds",y,v),h.attr("viewBox",`${v.x-5} ${v.y-5} ${v.width+10} ${v.height+10}`)}},"draw"),S2e={draw:mnt,getClasses:pnt}});var A2e={};hr(A2e,{diagram:()=>gnt});var gnt,_2e=N(()=>{"use strict";_ve();Ove();Bve();C2e();gnt={parser:Ave,db:Ive,renderer:S2e,styles:Pve}});var HF,WF,_4,R2e,qF,Wa,eu,D4,N2e,bnt,L4,M2e,I2e,O2e,P2e,B2e,kC,Gf,EC=N(()=>{"use strict";HF={L:"left",R:"right",T:"top",B:"bottom"},WF={L:o(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:o(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:o(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:o(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},_4={L:o((t,e)=>t-e+2,"L"),R:o((t,e)=>t-2,"R"),T:o((t,e)=>t-e+2,"T"),B:o((t,e)=>t-2,"B")},R2e=o(function(t){return Wa(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),qF=o(function(t){let e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),Wa=o(function(t){let e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),eu=o(function(t){let e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),D4=o(function(t,e){let r=Wa(t)&&eu(e),n=eu(t)&&Wa(e);return r||n},"isArchitectureDirectionXY"),N2e=o(function(t){let e=t[0],r=t[1],n=Wa(e)&&eu(r),i=eu(e)&&Wa(r);return n||i},"isArchitecturePairXY"),bnt=o(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),L4=o(function(t,e){let r=`${t}${e}`;return bnt(r)?r:void 0},"getArchitectureDirectionPair"),M2e=o(function([t,e],r){let n=r[0],i=r[1];return Wa(n)?eu(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:Wa(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),I2e=o(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),O2e=o(function(t,e){return D4(t,e)?"bend":Wa(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),P2e=o(function(t){return t.type==="service"},"isArchitectureService"),B2e=o(function(t){return t.type==="junction"},"isArchitectureJunction"),kC=o(t=>t.data(),"edgeData"),Gf=o(t=>t.data(),"nodeData")});var Tnt,my,YF=N(()=>{"use strict";Jn();Ca();nr();ci();EC();Tnt=lr.architecture,my=class{constructor(){this.nodes={};this.groups={};this.edges=[];this.registeredIds={};this.elements={};this.setAccTitle=Cr;this.getAccTitle=_r;this.setDiagramTitle=Ir;this.getDiagramTitle=Rr;this.getAccDescription=Lr;this.setAccDescription=Dr;this.clear()}static{o(this,"ArchitectureDB")}clear(){this.nodes={},this.groups={},this.edges=[],this.registeredIds={},this.dataStructures=void 0,this.elements={},wr()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds[e]!==void 0)throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(this.registeredIds[n]===void 0)throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds[n]==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds[e]="node",this.nodes[e]={id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n}}getServices(){return Object.values(this.nodes).filter(P2e)}addJunction({id:e,in:r}){this.registeredIds[e]="node",this.nodes[e]={id:e,type:"junction",edges:[],in:r}}getJunctions(){return Object.values(this.nodes).filter(B2e)}getNodes(){return Object.values(this.nodes)}getNode(e){return this.nodes[e]??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds?.[e]!==void 0)throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds[e]}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(this.registeredIds?.[n]===void 0)throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds?.[n]==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds[e]="group",this.groups[e]={id:e,icon:r,title:i,in:n}}getGroups(){return Object.values(this.groups)}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:l,rhsGroup:u,title:h}){if(!qF(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!qF(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(this.nodes[e]===void 0&&this.groups[e]===void 0)throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(this.nodes[r]===void 0&&this.groups[r]===void 0)throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);let f=this.nodes[e].in,d=this.nodes[r].in;if(l&&f&&d&&f==d)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(u&&f&&d&&f==d)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let p={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:l,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:u,title:h};this.edges.push(p),this.nodes[e]&&this.nodes[r]&&(this.nodes[e].edges.push(this.edges[this.edges.length-1]),this.nodes[r].edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}getDataStructures(){if(this.dataStructures===void 0){let e={},r=Object.entries(this.nodes).reduce((u,[h,f])=>(u[h]=f.edges.reduce((d,p)=>{let m=this.getNode(p.lhsId)?.in,g=this.getNode(p.rhsId)?.in;if(m&&g&&m!==g){let y=O2e(p.lhsDir,p.rhsDir);y!=="bend"&&(e[m]??={},e[m][g]=y,e[g]??={},e[g][m]=y)}if(p.lhsId===h){let y=L4(p.lhsDir,p.rhsDir);y&&(d[y]=p.rhsId)}else{let y=L4(p.rhsDir,p.lhsDir);y&&(d[y]=p.lhsId)}return d},{}),u),{}),n=Object.keys(r)[0],i={[n]:1},a=Object.keys(r).reduce((u,h)=>h===n?u:{...u,[h]:1},{}),s=o(u=>{let h={[u]:[0,0]},f=[u];for(;f.length>0;){let d=f.shift();if(d){i[d]=1,delete a[d];let p=r[d],[m,g]=h[d];Object.entries(p).forEach(([y,v])=>{i[v]||(h[v]=M2e([m,g],y),f.push(v))})}}return h},"BFS"),l=[s(n)];for(;Object.keys(a).length>0;)l.push(s(Object.keys(a)[0]));this.dataStructures={adjList:r,spatialMaps:l,groupAlignments:e}}return this.dataStructures}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}getConfig(){return Fn({...Tnt,...Qt().architecture})}getConfigField(e){return this.getConfig()[e]}}});var wnt,XF,F2e=N(()=>{"use strict";gf();yt();Dp();YF();wnt=o((t,e)=>{Qo(t,e),t.groups.map(r=>e.addGroup(r)),t.services.map(r=>e.addService({...r,type:"service"})),t.junctions.map(r=>e.addJunction({...r,type:"junction"})),t.edges.map(r=>e.addEdge(r))},"populateDb"),XF={parser:{yy:void 0},parse:o(async t=>{let e=await ps("architecture",t);X.debug(e);let r=XF.parser?.yy;if(!(r instanceof my))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");wnt(e,r)},"parse")}});var knt,$2e,z2e=N(()=>{"use strict";knt=o(t=>` + .edge { + stroke-width: ${t.archEdgeWidth}; + stroke: ${t.archEdgeColor}; + fill: none; + } + + .arrow { + fill: ${t.archEdgeArrowColor}; + } + + .node-bkg { + fill: none; + stroke: ${t.archGroupBorderColor}; + stroke-width: ${t.archGroupBorderWidth}; + stroke-dasharray: 8; + } + .node-icon-text { + display: flex; + align-items: center; + } + + .node-icon-text > div { + color: #fff; + margin: 1px; + height: fit-content; + text-align: center; + overflow: hidden; + display: -webkit-box; + -webkit-box-orient: vertical; + } +`,"getStyles"),$2e=knt});var KF=Ii((R4,jF)=>{"use strict";o(function(e,r){typeof R4=="object"&&typeof jF=="object"?jF.exports=r():typeof define=="function"&&define.amd?define([],r):typeof R4=="object"?R4.layoutBase=r():e.layoutBase=r()},"webpackUniversalModuleDefinition")(R4,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return o(r,"__webpack_require__"),r.m=t,r.c=e,r.i=function(n){return n},r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.n=function(n){var i=n&&n.__esModule?o(function(){return n.default},"getDefault"):o(function(){return n},"getModuleExports");return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=28)}([function(t,e,r){"use strict";function n(){}o(n,"LayoutConstants"),n.QUALITY=1,n.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,n.DEFAULT_INCREMENTAL=!1,n.DEFAULT_ANIMATION_ON_LAYOUT=!0,n.DEFAULT_ANIMATION_DURING_LAYOUT=!1,n.DEFAULT_ANIMATION_PERIOD=50,n.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,n.DEFAULT_GRAPH_MARGIN=15,n.NODE_DIMENSIONS_INCLUDE_LABELS=!1,n.SIMPLE_NODE_SIZE=40,n.SIMPLE_NODE_HALF_SIZE=n.SIMPLE_NODE_SIZE/2,n.EMPTY_COMPOUND_NODE_SIZE=40,n.MIN_EDGE_LENGTH=1,n.WORLD_BOUNDARY=1e6,n.INITIAL_WORLD_BOUNDARY=n.WORLD_BOUNDARY/1e3,n.WORLD_CENTER_X=1200,n.WORLD_CENTER_Y=900,t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(8),a=r(9);function s(u,h,f){n.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=u,this.target=h}o(s,"LEdge"),s.prototype=Object.create(n.prototype);for(var l in n)s[l]=n[l];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(u){if(this.source===u)return this.target;if(this.target===u)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(u,h){for(var f=this.getOtherEnd(u),d=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==d)break;f=f.getOwner().getParent()}return null},s.prototype.updateLength=function(){var u=new Array(4);this.isOverlapingSourceAndTarget=i.getIntersection(this.target.getRect(),this.source.getRect(),u),this.isOverlapingSourceAndTarget||(this.lengthX=u[0]-u[2],this.lengthY=u[1]-u[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,r){"use strict";function n(i){this.vGraphObject=i}o(n,"LGraphObject"),t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(13),s=r(0),l=r(16),u=r(5);function h(d,p,m,g){m==null&&g==null&&(g=p),n.call(this,g),d.graphManager!=null&&(d=d.graphManager),this.estimatedSize=i.MIN_VALUE,this.inclusionTreeDepth=i.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=d,m!=null&&p!=null?this.rect=new a(p.x,p.y,m.width,m.height):this.rect=new a}o(h,"LNode"),h.prototype=Object.create(n.prototype);for(var f in n)h[f]=n[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(d){this.rect.width=d},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(d){this.rect.height=d},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new u(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new u(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(d,p){this.rect.x=d.x,this.rect.y=d.y,this.rect.width=p.width,this.rect.height=p.height},h.prototype.setCenter=function(d,p){this.rect.x=d-this.rect.width/2,this.rect.y=p-this.rect.height/2},h.prototype.setLocation=function(d,p){this.rect.x=d,this.rect.y=p},h.prototype.moveBy=function(d,p){this.rect.x+=d,this.rect.y+=p},h.prototype.getEdgeListToNode=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(y.target==d){if(y.source!=g)throw"Incorrect edge source!";p.push(y)}}),p},h.prototype.getEdgesBetween=function(d){var p=[],m,g=this;return g.edges.forEach(function(y){if(!(y.source==g||y.target==g))throw"Incorrect edge source and/or target";(y.target==d||y.source==d)&&p.push(y)}),p},h.prototype.getNeighborsList=function(){var d=new Set,p=this;return p.edges.forEach(function(m){if(m.source==p)d.add(m.target);else{if(m.target!=p)throw"Incorrect incidency!";d.add(m.source)}}),d},h.prototype.withChildren=function(){var d=new Set,p,m;if(d.add(this),this.child!=null)for(var g=this.child.getNodes(),y=0;yp?(this.rect.x-=(this.labelWidth-p)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(p+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(m+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>m?(this.rect.y-=(this.labelHeight-m)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(m+this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==i.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(d){var p=this.rect.x;p>s.WORLD_BOUNDARY?p=s.WORLD_BOUNDARY:p<-s.WORLD_BOUNDARY&&(p=-s.WORLD_BOUNDARY);var m=this.rect.y;m>s.WORLD_BOUNDARY?m=s.WORLD_BOUNDARY:m<-s.WORLD_BOUNDARY&&(m=-s.WORLD_BOUNDARY);var g=new u(p,m),y=d.inverseTransformPoint(g);this.setLocation(y.x,y.y)},h.prototype.getLeft=function(){return this.rect.x},h.prototype.getRight=function(){return this.rect.x+this.rect.width},h.prototype.getTop=function(){return this.rect.y},h.prototype.getBottom=function(){return this.rect.y+this.rect.height},h.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},t.exports=h},function(t,e,r){"use strict";var n=r(0);function i(){}o(i,"FDLayoutConstants");for(var a in n)i[a]=n[a];i.MAX_ITERATIONS=2500,i.DEFAULT_EDGE_LENGTH=50,i.DEFAULT_SPRING_STRENGTH=.45,i.DEFAULT_REPULSION_STRENGTH=4500,i.DEFAULT_GRAVITY_STRENGTH=.4,i.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,i.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,i.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,i.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,i.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,i.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,i.COOLING_ADAPTATION_FACTOR=.33,i.ADAPTATION_LOWER_NODE_LIMIT=1e3,i.ADAPTATION_UPPER_NODE_LIMIT=5e3,i.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,i.MAX_NODE_DISPLACEMENT=i.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,i.MIN_REPULSION_DIST=i.DEFAULT_EDGE_LENGTH/10,i.CONVERGENCE_CHECK_PERIOD=100,i.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,i.MIN_EDGE_LENGTH=1,i.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=i},function(t,e,r){"use strict";function n(i,a){i==null&&a==null?(this.x=0,this.y=0):(this.x=i,this.y=a)}o(n,"PointD"),n.prototype.getX=function(){return this.x},n.prototype.getY=function(){return this.y},n.prototype.setX=function(i){this.x=i},n.prototype.setY=function(i){this.y=i},n.prototype.getDifference=function(i){return new DimensionD(this.x-i.x,this.y-i.y)},n.prototype.getCopy=function(){return new n(this.x,this.y)},n.prototype.translate=function(i){return this.x+=i.width,this.y+=i.height,this},t.exports=n},function(t,e,r){"use strict";var n=r(2),i=r(10),a=r(0),s=r(7),l=r(3),u=r(1),h=r(13),f=r(12),d=r(11);function p(g,y,v){n.call(this,v),this.estimatedSize=i.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,y!=null&&y instanceof s?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}o(p,"LGraph"),p.prototype=Object.create(n.prototype);for(var m in n)p[m]=n[m];p.prototype.getNodes=function(){return this.nodes},p.prototype.getEdges=function(){return this.edges},p.prototype.getGraphManager=function(){return this.graphManager},p.prototype.getParent=function(){return this.parent},p.prototype.getLeft=function(){return this.left},p.prototype.getRight=function(){return this.right},p.prototype.getTop=function(){return this.top},p.prototype.getBottom=function(){return this.bottom},p.prototype.isConnected=function(){return this.isConnected},p.prototype.add=function(g,y,v){if(y==null&&v==null){var x=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(x)>-1)throw"Node already in graph!";return x.owner=this,this.getNodes().push(x),x}else{var b=g;if(!(this.getNodes().indexOf(y)>-1&&this.getNodes().indexOf(v)>-1))throw"Source or target not in graph!";if(!(y.owner==v.owner&&y.owner==this))throw"Both owners must be this graph!";return y.owner!=v.owner?null:(b.source=y,b.target=v,b.isInterGraph=!1,this.getEdges().push(b),y.edges.push(b),v!=y&&v.edges.push(b),b)}},p.prototype.remove=function(g){var y=g;if(g instanceof l){if(y==null)throw"Node is null!";if(!(y.owner!=null&&y.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var v=y.edges.slice(),x,b=v.length,T=0;T-1&&E>-1))throw"Source and/or target doesn't know this edge!";x.source.edges.splice(w,1),x.target!=x.source&&x.target.edges.splice(E,1);var C=x.source.owner.getEdges().indexOf(x);if(C==-1)throw"Not in owner's edge list!";x.source.owner.getEdges().splice(C,1)}},p.prototype.updateLeftTop=function(){for(var g=i.MAX_VALUE,y=i.MAX_VALUE,v,x,b,T=this.getNodes(),C=T.length,w=0;wv&&(g=v),y>x&&(y=x)}return g==i.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?b=T[0].getParent().paddingLeft:b=this.margin,this.left=y-b,this.top=g-b,new f(this.left,this.top))},p.prototype.updateBounds=function(g){for(var y=i.MAX_VALUE,v=-i.MAX_VALUE,x=i.MAX_VALUE,b=-i.MAX_VALUE,T,C,w,E,_,A=this.nodes,D=A.length,O=0;OT&&(y=T),vw&&(x=w),bT&&(y=T),vw&&(x=w),b=this.nodes.length){var D=0;v.forEach(function(O){O.owner==g&&D++}),D==this.nodes.length&&(this.isConnected=!0)}},t.exports=p},function(t,e,r){"use strict";var n,i=r(1);function a(s){n=r(6),this.layout=s,this.graphs=[],this.edges=[]}o(a,"LGraphManager"),a.prototype.addRoot=function(){var s=this.layout.newGraph(),l=this.layout.newNode(null),u=this.add(s,l);return this.setRootGraph(u),this.rootGraph},a.prototype.add=function(s,l,u,h,f){if(u==null&&h==null&&f==null){if(s==null)throw"Graph is null!";if(l==null)throw"Parent node is null!";if(this.graphs.indexOf(s)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(s),s.parent!=null)throw"Already has a parent!";if(l.child!=null)throw"Already has a child!";return s.parent=l,l.child=s,s}else{f=u,h=l,u=s;var d=h.getOwner(),p=f.getOwner();if(!(d!=null&&d.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(p!=null&&p.getGraphManager()==this))throw"Target not in this graph mgr!";if(d==p)return u.isInterGraph=!1,d.add(u,h,f);if(u.isInterGraph=!0,u.source=h,u.target=f,this.edges.indexOf(u)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(u),!(u.source!=null&&u.target!=null))throw"Edge source and/or target is null!";if(!(u.source.edges.indexOf(u)==-1&&u.target.edges.indexOf(u)==-1))throw"Edge already in source and/or target incidency list!";return u.source.edges.push(u),u.target.edges.push(u),u}},a.prototype.remove=function(s){if(s instanceof n){var l=s;if(l.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(l==this.rootGraph||l.parent!=null&&l.parent.graphManager==this))throw"Invalid parent node!";var u=[];u=u.concat(l.getEdges());for(var h,f=u.length,d=0;d=s.getRight()?l[0]+=Math.min(s.getX()-a.getX(),a.getRight()-s.getRight()):s.getX()<=a.getX()&&s.getRight()>=a.getRight()&&(l[0]+=Math.min(a.getX()-s.getX(),s.getRight()-a.getRight())),a.getY()<=s.getY()&&a.getBottom()>=s.getBottom()?l[1]+=Math.min(s.getY()-a.getY(),a.getBottom()-s.getBottom()):s.getY()<=a.getY()&&s.getBottom()>=a.getBottom()&&(l[1]+=Math.min(a.getY()-s.getY(),s.getBottom()-a.getBottom()));var f=Math.abs((s.getCenterY()-a.getCenterY())/(s.getCenterX()-a.getCenterX()));s.getCenterY()===a.getCenterY()&&s.getCenterX()===a.getCenterX()&&(f=1);var d=f*l[0],p=l[1]/f;l[0]d)return l[0]=u,l[1]=m,l[2]=f,l[3]=A,!1;if(hf)return l[0]=p,l[1]=h,l[2]=E,l[3]=d,!1;if(uf?(l[0]=y,l[1]=v,k=!0):(l[0]=g,l[1]=m,k=!0):S===M&&(u>f?(l[0]=p,l[1]=m,k=!0):(l[0]=x,l[1]=v,k=!0)),-I===M?f>u?(l[2]=_,l[3]=A,L=!0):(l[2]=E,l[3]=w,L=!0):I===M&&(f>u?(l[2]=C,l[3]=w,L=!0):(l[2]=D,l[3]=A,L=!0)),k&&L)return!1;if(u>f?h>d?(P=this.getCardinalDirection(S,M,4),B=this.getCardinalDirection(I,M,2)):(P=this.getCardinalDirection(-S,M,3),B=this.getCardinalDirection(-I,M,1)):h>d?(P=this.getCardinalDirection(-S,M,1),B=this.getCardinalDirection(-I,M,3)):(P=this.getCardinalDirection(S,M,2),B=this.getCardinalDirection(I,M,4)),!k)switch(P){case 1:z=m,F=u+-T/M,l[0]=F,l[1]=z;break;case 2:F=x,z=h+b*M,l[0]=F,l[1]=z;break;case 3:z=v,F=u+T/M,l[0]=F,l[1]=z;break;case 4:F=y,z=h+-b*M,l[0]=F,l[1]=z;break}if(!L)switch(B){case 1:U=w,$=f+-R/M,l[2]=$,l[3]=U;break;case 2:$=D,U=d+O*M,l[2]=$,l[3]=U;break;case 3:U=A,$=f+R/M,l[2]=$,l[3]=U;break;case 4:$=_,U=d+-O*M,l[2]=$,l[3]=U;break}}return!1},i.getCardinalDirection=function(a,s,l){return a>s?l:1+l%4},i.getIntersection=function(a,s,l,u){if(u==null)return this.getIntersection2(a,s,l);var h=a.x,f=a.y,d=s.x,p=s.y,m=l.x,g=l.y,y=u.x,v=u.y,x=void 0,b=void 0,T=void 0,C=void 0,w=void 0,E=void 0,_=void 0,A=void 0,D=void 0;return T=p-f,w=h-d,_=d*f-h*p,C=v-g,E=m-y,A=y*g-m*v,D=T*E-C*w,D===0?null:(x=(w*A-E*_)/D,b=(C*_-T*A)/D,new n(x,b))},i.angleOfVector=function(a,s,l,u){var h=void 0;return a!==l?(h=Math.atan((u-s)/(l-a)),l=0){var v=(-m+Math.sqrt(m*m-4*p*g))/(2*p),x=(-m-Math.sqrt(m*m-4*p*g))/(2*p),b=null;return v>=0&&v<=1?[v]:x>=0&&x<=1?[x]:b}else return null},i.HALF_PI=.5*Math.PI,i.ONE_AND_HALF_PI=1.5*Math.PI,i.TWO_PI=2*Math.PI,i.THREE_PI=3*Math.PI,t.exports=i},function(t,e,r){"use strict";function n(){}o(n,"IMath"),n.sign=function(i){return i>0?1:i<0?-1:0},n.floor=function(i){return i<0?Math.ceil(i):Math.floor(i)},n.ceil=function(i){return i<0?Math.floor(i):Math.ceil(i)},t.exports=n},function(t,e,r){"use strict";function n(){}o(n,"Integer"),n.MAX_VALUE=2147483647,n.MIN_VALUE=-2147483648,t.exports=n},function(t,e,r){"use strict";var n=function(){function h(f,d){for(var p=0;p"u"?"undefined":n(a);return a==null||s!="object"&&s!="function"},t.exports=i},function(t,e,r){"use strict";function n(m){if(Array.isArray(m)){for(var g=0,y=Array(m.length);g0&&g;){for(T.push(w[0]);T.length>0&&g;){var E=T[0];T.splice(0,1),b.add(E);for(var _=E.getEdges(),x=0;x<_.length;x++){var A=_[x].getOtherEnd(E);if(C.get(E)!=A)if(!b.has(A))T.push(A),C.set(A,E);else{g=!1;break}}}if(!g)m=[];else{var D=[].concat(n(b));m.push(D);for(var x=0;x-1&&w.splice(R,1)}b=new Set,C=new Map}}return m},p.prototype.createDummyNodesForBendpoints=function(m){for(var g=[],y=m.source,v=this.graphManager.calcLowestCommonAncestor(m.source,m.target),x=0;x0){for(var v=this.edgeToDummyNodes.get(y),x=0;x=0&&g.splice(A,1);var D=C.getNeighborsList();D.forEach(function(k){if(y.indexOf(k)<0){var L=v.get(k),S=L-1;S==1&&E.push(k),v.set(k,S)}})}y=y.concat(E),(g.length==1||g.length==2)&&(x=!0,b=g[0])}return b},p.prototype.setGraphManager=function(m){this.graphManager=m},t.exports=p},function(t,e,r){"use strict";function n(){}o(n,"RandomSeed"),n.seed=1,n.x=0,n.nextDouble=function(){return n.x=Math.sin(n.seed++)*1e4,n.x-Math.floor(n.x)},t.exports=n},function(t,e,r){"use strict";var n=r(5);function i(a,s){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o(i,"Transform"),i.prototype.getWorldOrgX=function(){return this.lworldOrgX},i.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},i.prototype.getWorldOrgY=function(){return this.lworldOrgY},i.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},i.prototype.getWorldExtX=function(){return this.lworldExtX},i.prototype.setWorldExtX=function(a){this.lworldExtX=a},i.prototype.getWorldExtY=function(){return this.lworldExtY},i.prototype.setWorldExtY=function(a){this.lworldExtY=a},i.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},i.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},i.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},i.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},i.prototype.getDeviceExtX=function(){return this.ldeviceExtX},i.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},i.prototype.getDeviceExtY=function(){return this.ldeviceExtY},i.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},i.prototype.transformX=function(a){var s=0,l=this.lworldExtX;return l!=0&&(s=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/l),s},i.prototype.transformY=function(a){var s=0,l=this.lworldExtY;return l!=0&&(s=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/l),s},i.prototype.inverseTransformX=function(a){var s=0,l=this.ldeviceExtX;return l!=0&&(s=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/l),s},i.prototype.inverseTransformY=function(a){var s=0,l=this.ldeviceExtY;return l!=0&&(s=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/l),s},i.prototype.inverseTransformPoint=function(a){var s=new n(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return s},t.exports=i},function(t,e,r){"use strict";function n(d){if(Array.isArray(d)){for(var p=0,m=Array(d.length);pa.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(d>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(d-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var d=this.getAllEdges(),p,m=0;m0&&arguments[0]!==void 0?arguments[0]:!0,p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,g,y,v,x=this.getAllNodes(),b;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&d&&this.updateGrid(),b=new Set,m=0;mT||b>T)&&(d.gravitationForceX=-this.gravityConstant*y,d.gravitationForceY=-this.gravityConstant*v)):(T=p.getEstimatedSize()*this.compoundGravityRangeFactor,(x>T||b>T)&&(d.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,d.gravitationForceY=-this.gravityConstant*v*this.compoundGravityConstant))},h.prototype.isConverged=function(){var d,p=!1;return this.totalIterations>this.maxIterations/3&&(p=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),d=this.totalDisplacement=x.length||T>=x[0].length)){for(var C=0;Ch},"_defaultCompareFunction")}]),l}();t.exports=s},function(t,e,r){"use strict";function n(){}o(n,"SVD"),n.svd=function(i){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=i.length,this.n=i[0].length;var a=Math.min(this.m,this.n);this.s=function(bt){for(var ht=[];bt-- >0;)ht.push(0);return ht}(Math.min(this.m+1,this.n)),this.U=function(bt){var ht=o(function St(ft){if(ft.length==0)return 0;for(var vt=[],nt=0;nt0;)ht.push(0);return ht}(this.n),l=function(bt){for(var ht=[];bt-- >0;)ht.push(0);return ht}(this.m),u=!0,h=!0,f=Math.min(this.m-1,this.n),d=Math.max(0,Math.min(this.n-2,this.m)),p=0;p=0;M--)if(this.s[M]!==0){for(var P=M+1;P=0;ee--){if(function(bt,ht){return bt&&ht}(ee0;){var le=void 0,J=void 0;for(le=L-2;le>=-1&&le!==-1;le--)if(Math.abs(s[le])<=he+te*(Math.abs(this.s[le])+Math.abs(this.s[le+1]))){s[le]=0;break}if(le===L-2)J=4;else{var Se=void 0;for(Se=L-1;Se>=le&&Se!==le;Se--){var se=(Se!==L?Math.abs(s[Se]):0)+(Se!==le+1?Math.abs(s[Se-1]):0);if(Math.abs(this.s[Se])<=he+te*se){this.s[Se]=0;break}}Se===le?J=3:Se===L-1?J=1:(J=2,le=Se)}switch(le++,J){case 1:{var ae=s[L-2];s[L-2]=0;for(var Oe=L-2;Oe>=le;Oe--){var ye=n.hypot(this.s[Oe],ae),Be=this.s[Oe]/ye,He=ae/ye;if(this.s[Oe]=ye,Oe!==le&&(ae=-He*s[Oe-1],s[Oe-1]=Be*s[Oe-1]),h)for(var ze=0;ze=this.s[le+1]);){var lt=this.s[le];if(this.s[le]=this.s[le+1],this.s[le+1]=lt,h&&leMath.abs(a)?(s=a/i,s=Math.abs(i)*Math.sqrt(1+s*s)):a!=0?(s=i/a,s=Math.abs(a)*Math.sqrt(1+s*s)):s=0,s},t.exports=n},function(t,e,r){"use strict";var n=function(){function s(l,u){for(var h=0;h2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,d=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;i(this,s),this.sequence1=l,this.sequence2=u,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=d,this.iMax=l.length+1,this.jMax=u.length+1,this.grid=new Array(this.iMax);for(var p=0;p=0;l--){var u=this.listeners[l];u.event===a&&u.callback===s&&this.listeners.splice(l,1)}},i.emit=function(a,s){for(var l=0;l{"use strict";o(function(e,r){typeof N4=="object"&&typeof QF=="object"?QF.exports=r(KF()):typeof define=="function"&&define.amd?define(["layout-base"],r):typeof N4=="object"?N4.coseBase=r(KF()):e.coseBase=r(e.layoutBase)},"webpackUniversalModuleDefinition")(N4,function(t){return(()=>{"use strict";var e={45:(a,s,l)=>{var u={};u.layoutBase=l(551),u.CoSEConstants=l(806),u.CoSEEdge=l(767),u.CoSEGraph=l(880),u.CoSEGraphManager=l(578),u.CoSELayout=l(765),u.CoSENode=l(991),u.ConstraintHandler=l(902),a.exports=u},806:(a,s,l)=>{var u=l(551).FDLayoutConstants;function h(){}o(h,"CoSEConstants");for(var f in u)h[f]=u[f];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=u.DEFAULT_EDGE_LENGTH,h.DEFAULT_COMPONENT_SEPERATION=60,h.TILE=!0,h.TILING_PADDING_VERTICAL=10,h.TILING_PADDING_HORIZONTAL=10,h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0,h.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,h.TREE_REDUCTION_ON_INCREMENTAL=!0,h.PURE_INCREMENTAL=h.DEFAULT_INCREMENTAL,a.exports=h},767:(a,s,l)=>{var u=l(551).FDLayoutEdge;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEEdge"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h},880:(a,s,l)=>{var u=l(551).LGraph;function h(d,p,m){u.call(this,d,p,m)}o(h,"CoSEGraph"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h},578:(a,s,l)=>{var u=l(551).LGraphManager;function h(d){u.call(this,d)}o(h,"CoSEGraphManager"),h.prototype=Object.create(u.prototype);for(var f in u)h[f]=u[f];a.exports=h},765:(a,s,l)=>{var u=l(551).FDLayout,h=l(578),f=l(880),d=l(991),p=l(767),m=l(806),g=l(902),y=l(551).FDLayoutConstants,v=l(551).LayoutConstants,x=l(551).Point,b=l(551).PointD,T=l(551).DimensionD,C=l(551).Layout,w=l(551).Integer,E=l(551).IGeometry,_=l(551).LGraph,A=l(551).Transform,D=l(551).LinkedList;function O(){u.call(this),this.toBeTiled={},this.constraints={}}o(O,"CoSELayout"),O.prototype=Object.create(u.prototype);for(var R in u)O[R]=u[R];O.prototype.newGraphManager=function(){var k=new h(this);return this.graphManager=k,k},O.prototype.newGraph=function(k){return new f(null,this.graphManager,k)},O.prototype.newNode=function(k){return new d(this.graphManager,k)},O.prototype.newEdge=function(k){return new p(null,null,k)},O.prototype.initParameters=function(){u.prototype.initParameters.call(this,arguments),this.isSubLayout||(m.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=m.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},O.prototype.initSpringEmbedder=function(){u.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},O.prototype.layout=function(){var k=v.DEFAULT_CREATE_BENDS_AS_NEEDED;return k&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},O.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(m.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),S=this.nodesWithGravity.filter(function(P){return L.has(P)});this.graphManager.setAllNodesToApplyGravitation(S)}}else{var k=this.getFlatForest();if(k.length>0)this.positionNodesRadially(k);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),S=this.nodesWithGravity.filter(function(I){return L.has(I)});this.graphManager.setAllNodesToApplyGravitation(S),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},O.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%y.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function(M){return k.has(M)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var S=!this.isTreeGrowing&&!this.isGrowthFinished,I=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(S,I),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},O.prototype.getPositionsData=function(){for(var k=this.graphManager.getAllNodes(),L={},S=0;S0&&this.updateDisplacements();for(var S=0;S0&&(I.fixedNodeWeight=P)}}if(this.constraints.relativePlacementConstraint){var B=new Map,F=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(Z){k.fixedNodesOnHorizontal.add(Z),k.fixedNodesOnVertical.add(Z)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var z=this.constraints.alignmentConstraint.vertical,S=0;S=2*Z.length/3;j--)ue=Math.floor(Math.random()*(j+1)),Q=Z[j],Z[j]=Z[ue],Z[ue]=Q;return Z},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(Z){if(Z.left){var ue=B.has(Z.left)?B.get(Z.left):Z.left,Q=B.has(Z.right)?B.get(Z.right):Z.right;k.nodesInRelativeHorizontal.includes(ue)||(k.nodesInRelativeHorizontal.push(ue),k.nodeToRelativeConstraintMapHorizontal.set(ue,[]),k.dummyToNodeForVerticalAlignment.has(ue)?k.nodeToTempPositionMapHorizontal.set(ue,k.idToNodeMap.get(k.dummyToNodeForVerticalAlignment.get(ue)[0]).getCenterX()):k.nodeToTempPositionMapHorizontal.set(ue,k.idToNodeMap.get(ue).getCenterX())),k.nodesInRelativeHorizontal.includes(Q)||(k.nodesInRelativeHorizontal.push(Q),k.nodeToRelativeConstraintMapHorizontal.set(Q,[]),k.dummyToNodeForVerticalAlignment.has(Q)?k.nodeToTempPositionMapHorizontal.set(Q,k.idToNodeMap.get(k.dummyToNodeForVerticalAlignment.get(Q)[0]).getCenterX()):k.nodeToTempPositionMapHorizontal.set(Q,k.idToNodeMap.get(Q).getCenterX())),k.nodeToRelativeConstraintMapHorizontal.get(ue).push({right:Q,gap:Z.gap}),k.nodeToRelativeConstraintMapHorizontal.get(Q).push({left:ue,gap:Z.gap})}else{var j=F.has(Z.top)?F.get(Z.top):Z.top,ne=F.has(Z.bottom)?F.get(Z.bottom):Z.bottom;k.nodesInRelativeVertical.includes(j)||(k.nodesInRelativeVertical.push(j),k.nodeToRelativeConstraintMapVertical.set(j,[]),k.dummyToNodeForHorizontalAlignment.has(j)?k.nodeToTempPositionMapVertical.set(j,k.idToNodeMap.get(k.dummyToNodeForHorizontalAlignment.get(j)[0]).getCenterY()):k.nodeToTempPositionMapVertical.set(j,k.idToNodeMap.get(j).getCenterY())),k.nodesInRelativeVertical.includes(ne)||(k.nodesInRelativeVertical.push(ne),k.nodeToRelativeConstraintMapVertical.set(ne,[]),k.dummyToNodeForHorizontalAlignment.has(ne)?k.nodeToTempPositionMapVertical.set(ne,k.idToNodeMap.get(k.dummyToNodeForHorizontalAlignment.get(ne)[0]).getCenterY()):k.nodeToTempPositionMapVertical.set(ne,k.idToNodeMap.get(ne).getCenterY())),k.nodeToRelativeConstraintMapVertical.get(j).push({bottom:ne,gap:Z.gap}),k.nodeToRelativeConstraintMapVertical.get(ne).push({top:j,gap:Z.gap})}});else{var U=new Map,K=new Map;this.constraints.relativePlacementConstraint.forEach(function(Z){if(Z.left){var ue=B.has(Z.left)?B.get(Z.left):Z.left,Q=B.has(Z.right)?B.get(Z.right):Z.right;U.has(ue)?U.get(ue).push(Q):U.set(ue,[Q]),U.has(Q)?U.get(Q).push(ue):U.set(Q,[ue])}else{var j=F.has(Z.top)?F.get(Z.top):Z.top,ne=F.has(Z.bottom)?F.get(Z.bottom):Z.bottom;K.has(j)?K.get(j).push(ne):K.set(j,[ne]),K.has(ne)?K.get(ne).push(j):K.set(ne,[j])}});var ee=o(function(ue,Q){var j=[],ne=[],te=new D,he=new Set,le=0;return ue.forEach(function(J,Se){if(!he.has(Se)){j[le]=[],ne[le]=!1;var se=Se;for(te.push(se),he.add(se),j[le].push(se);te.length!=0;){se=te.shift(),Q.has(se)&&(ne[le]=!0);var ae=ue.get(se);ae.forEach(function(Oe){he.has(Oe)||(te.push(Oe),he.add(Oe),j[le].push(Oe))})}le++}}),{components:j,isFixed:ne}},"constructComponents"),Y=ee(U,k.fixedNodesOnHorizontal);this.componentsOnHorizontal=Y.components,this.fixedComponentsOnHorizontal=Y.isFixed;var ce=ee(K,k.fixedNodesOnVertical);this.componentsOnVertical=ce.components,this.fixedComponentsOnVertical=ce.isFixed}}},O.prototype.updateDisplacements=function(){var k=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(ce){var Z=k.idToNodeMap.get(ce.nodeId);Z.displacementX=0,Z.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var L=this.constraints.alignmentConstraint.vertical,S=0;S1){var F;for(F=0;FI&&(I=Math.floor(B.y)),P=Math.floor(B.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new b(v.WORLD_CENTER_X-B.x/2,v.WORLD_CENTER_Y-B.y/2))},O.radialLayout=function(k,L,S){var I=Math.max(this.maxDiagonalInTree(k),m.DEFAULT_RADIAL_SEPARATION);O.branchRadialLayout(L,null,0,359,0,I);var M=_.calculateBounds(k),P=new A;P.setDeviceOrgX(M.getMinX()),P.setDeviceOrgY(M.getMinY()),P.setWorldOrgX(S.x),P.setWorldOrgY(S.y);for(var B=0;B1;){var j=Q[0];Q.splice(0,1);var ne=ee.indexOf(j);ne>=0&&ee.splice(ne,1),Z--,Y--}L!=null?ue=(ee.indexOf(Q[0])+1)%Z:ue=0;for(var te=Math.abs(I-S)/Y,he=ue;ce!=Y;he=++he%Z){var le=ee[he].getOtherEnd(k);if(le!=L){var J=(S+ce*te)%360,Se=(J+te)%360;O.branchRadialLayout(le,k,J,Se,M+P,P),ce++}}},O.maxDiagonalInTree=function(k){for(var L=w.MIN_VALUE,S=0;SL&&(L=M)}return L},O.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},O.prototype.groupZeroDegreeMembers=function(){var k=this,L={};this.memberGroups={},this.idToDummyNode={};for(var S=[],I=this.graphManager.getAllNodes(),M=0;M"u"&&(L[F]=[]),L[F]=L[F].concat(P)}Object.keys(L).forEach(function(z){if(L[z].length>1){var $="DummyCompound_"+z;k.memberGroups[$]=L[z];var U=L[z][0].getParent(),K=new d(k.graphManager);K.id=$,K.paddingLeft=U.paddingLeft||0,K.paddingRight=U.paddingRight||0,K.paddingBottom=U.paddingBottom||0,K.paddingTop=U.paddingTop||0,k.idToDummyNode[$]=K;var ee=k.getGraphManager().add(k.newGraph(),K),Y=U.getChild();Y.add(K);for(var ce=0;ceM?(I.rect.x-=(I.labelWidth-M)/2,I.setWidth(I.labelWidth),I.labelMarginLeft=(I.labelWidth-M)/2):I.labelPosHorizontal=="right"&&I.setWidth(M+I.labelWidth)),I.labelHeight&&(I.labelPosVertical=="top"?(I.rect.y-=I.labelHeight,I.setHeight(P+I.labelHeight),I.labelMarginTop=I.labelHeight):I.labelPosVertical=="center"&&I.labelHeight>P?(I.rect.y-=(I.labelHeight-P)/2,I.setHeight(I.labelHeight),I.labelMarginTop=(I.labelHeight-P)/2):I.labelPosVertical=="bottom"&&I.setHeight(P+I.labelHeight))}})},O.prototype.repopulateCompounds=function(){for(var k=this.compoundOrder.length-1;k>=0;k--){var L=this.compoundOrder[k],S=L.id,I=L.paddingLeft,M=L.paddingTop,P=L.labelMarginLeft,B=L.labelMarginTop;this.adjustLocations(this.tiledMemberPack[S],L.rect.x,L.rect.y,I,M,P,B)}},O.prototype.repopulateZeroDegreeMembers=function(){var k=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(S){var I=k.idToDummyNode[S],M=I.paddingLeft,P=I.paddingTop,B=I.labelMarginLeft,F=I.labelMarginTop;k.adjustLocations(L[S],I.rect.x,I.rect.y,M,P,B,F)})},O.prototype.getToBeTiled=function(k){var L=k.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var S=k.getChild();if(S==null)return this.toBeTiled[L]=!1,!1;for(var I=S.getNodes(),M=0;M0)return this.toBeTiled[L]=!1,!1;if(P.getChild()==null){this.toBeTiled[P.id]=!1;continue}if(!this.getToBeTiled(P))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},O.prototype.getNodeDegree=function(k){for(var L=k.id,S=k.getEdges(),I=0,M=0;MU&&(U=ee.rect.height)}S+=U+k.verticalPadding}},O.prototype.tileCompoundMembers=function(k,L){var S=this;this.tiledMemberPack=[],Object.keys(k).forEach(function(I){var M=L[I];if(S.tiledMemberPack[I]=S.tileNodes(k[I],M.paddingLeft+M.paddingRight),M.rect.width=S.tiledMemberPack[I].width,M.rect.height=S.tiledMemberPack[I].height,M.setCenter(S.tiledMemberPack[I].centerX,S.tiledMemberPack[I].centerY),M.labelMarginLeft=0,M.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var P=M.rect.width,B=M.rect.height;M.labelWidth&&(M.labelPosHorizontal=="left"?(M.rect.x-=M.labelWidth,M.setWidth(P+M.labelWidth),M.labelMarginLeft=M.labelWidth):M.labelPosHorizontal=="center"&&M.labelWidth>P?(M.rect.x-=(M.labelWidth-P)/2,M.setWidth(M.labelWidth),M.labelMarginLeft=(M.labelWidth-P)/2):M.labelPosHorizontal=="right"&&M.setWidth(P+M.labelWidth)),M.labelHeight&&(M.labelPosVertical=="top"?(M.rect.y-=M.labelHeight,M.setHeight(B+M.labelHeight),M.labelMarginTop=M.labelHeight):M.labelPosVertical=="center"&&M.labelHeight>B?(M.rect.y-=(M.labelHeight-B)/2,M.setHeight(M.labelHeight),M.labelMarginTop=(M.labelHeight-B)/2):M.labelPosVertical=="bottom"&&M.setHeight(B+M.labelHeight))}})},O.prototype.tileNodes=function(k,L){var S=this.tileNodesByFavoringDim(k,L,!0),I=this.tileNodesByFavoringDim(k,L,!1),M=this.getOrgRatio(S),P=this.getOrgRatio(I),B;return PF&&(F=ce.getWidth())});var z=P/M,$=B/M,U=Math.pow(S-I,2)+4*(z+I)*($+S)*M,K=(I-S+Math.sqrt(U))/(2*(z+I)),ee;L?(ee=Math.ceil(K),ee==K&&ee++):ee=Math.floor(K);var Y=ee*(z+I)-I;return F>Y&&(Y=F),Y+=I*2,Y},O.prototype.tileNodesByFavoringDim=function(k,L,S){var I=m.TILING_PADDING_VERTICAL,M=m.TILING_PADDING_HORIZONTAL,P=m.TILING_COMPARE_BY,B={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:I,horizontalPadding:M,centerX:0,centerY:0};P&&(B.idealRowWidth=this.calcIdealRowWidth(k,S));var F=o(function(Z){return Z.rect.width*Z.rect.height},"getNodeArea"),z=o(function(Z,ue){return F(ue)-F(Z)},"areaCompareFcn");k.sort(function(ce,Z){var ue=z;return B.idealRowWidth?(ue=P,ue(ce.id,Z.id)):ue(ce,Z)});for(var $=0,U=0,K=0;K0&&(B+=k.horizontalPadding),k.rowWidth[S]=B,k.width0&&(F+=k.verticalPadding);var z=0;F>k.rowHeight[S]&&(z=k.rowHeight[S],k.rowHeight[S]=F,z=k.rowHeight[S]-z),k.height+=z,k.rows[S].push(L)},O.prototype.getShortestRowIndex=function(k){for(var L=-1,S=Number.MAX_VALUE,I=0;IS&&(L=I,S=k.rowWidth[I]);return L},O.prototype.canAddHorizontal=function(k,L,S){if(k.idealRowWidth){var I=k.rows.length-1,M=k.rowWidth[I];return M+L+k.horizontalPadding<=k.idealRowWidth}var P=this.getShortestRowIndex(k);if(P<0)return!0;var B=k.rowWidth[P];if(B+k.horizontalPadding+L<=k.width)return!0;var F=0;k.rowHeight[P]0&&(F=S+k.verticalPadding-k.rowHeight[P]);var z;k.width-B>=L+k.horizontalPadding?z=(k.height+F)/(B+L+k.horizontalPadding):z=(k.height+F)/k.width,F=S+k.verticalPadding;var $;return k.widthP&&L!=S){I.splice(-1,1),k.rows[S].push(M),k.rowWidth[L]=k.rowWidth[L]-P,k.rowWidth[S]=k.rowWidth[S]+P,k.width=k.rowWidth[instance.getLongestRowIndex(k)];for(var B=Number.MIN_VALUE,F=0;FB&&(B=I[F].height);L>0&&(B+=k.verticalPadding);var z=k.rowHeight[L]+k.rowHeight[S];k.rowHeight[L]=B,k.rowHeight[S]0)for(var Y=M;Y<=P;Y++)ee[0]+=this.grid[Y][B-1].length+this.grid[Y][B].length-1;if(P0)for(var Y=B;Y<=F;Y++)ee[3]+=this.grid[M-1][Y].length+this.grid[M][Y].length-1;for(var ce=w.MAX_VALUE,Z,ue,Q=0;Q{var u=l(551).FDLayoutNode,h=l(551).IMath;function f(p,m,g,y){u.call(this,p,m,g,y)}o(f,"CoSENode"),f.prototype=Object.create(u.prototype);for(var d in u)f[d]=u[d];f.prototype.calculateDisplacement=function(){var p=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=p.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=p.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementX=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>p.coolingFactor*p.maxNodeDisplacement&&(this.displacementY=p.coolingFactor*p.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(p,m){for(var g=this.getChild().getNodes(),y,v=0;v{function u(g){if(Array.isArray(g)){for(var y=0,v=Array(g.length);y0){var ut=0;Ue.forEach(function(lt){Te=="horizontal"?(be.set(lt,x.has(lt)?b[x.get(lt)]:pe.get(lt)),ut+=be.get(lt)):(be.set(lt,x.has(lt)?T[x.get(lt)]:pe.get(lt)),ut+=be.get(lt))}),ut=ut/Ue.length,st.forEach(function(lt){W.has(lt)||be.set(lt,ut)})}else{var We=0;st.forEach(function(lt){Te=="horizontal"?We+=x.has(lt)?b[x.get(lt)]:pe.get(lt):We+=x.has(lt)?T[x.get(lt)]:pe.get(lt)}),We=We/st.length,st.forEach(function(lt){be.set(lt,We)})}});for(var Ye=o(function(){var Ue=De.shift(),ut=V.get(Ue);ut.forEach(function(We){if(be.get(We.id)lt&&(lt=vt),ntXt&&(Xt=nt)}}catch(Dt){Mt=!0,bt=Dt}finally{try{!Tt&&ht.return&&ht.return()}finally{if(Mt)throw bt}}var dn=(ut+lt)/2-(We+Xt)/2,kt=!0,In=!1,en=void 0;try{for(var Nr=st[Symbol.iterator](),Mr;!(kt=(Mr=Nr.next()).done);kt=!0){var On=Mr.value;be.set(On,be.get(On)+dn)}}catch(Dt){In=!0,en=Dt}finally{try{!kt&&Nr.return&&Nr.return()}finally{if(In)throw en}}})}return be},"findAppropriatePositionForRelativePlacement"),R=o(function(V){var Te=0,W=0,pe=0,ve=0;if(V.forEach(function(Ve){Ve.left?b[x.get(Ve.left)]-b[x.get(Ve.right)]>=0?Te++:W++:T[x.get(Ve.top)]-T[x.get(Ve.bottom)]>=0?pe++:ve++}),Te>W&&pe>ve)for(var Pe=0;PeW)for(var _e=0;_eve)for(var be=0;be1)y.fixedNodeConstraint.forEach(function(oe,V){I[V]=[oe.position.x,oe.position.y],M[V]=[b[x.get(oe.nodeId)],T[x.get(oe.nodeId)]]}),P=!0;else if(y.alignmentConstraint)(function(){var oe=0;if(y.alignmentConstraint.vertical){for(var V=y.alignmentConstraint.vertical,Te=o(function(be){var Ve=new Set;V[be].forEach(function(at){Ve.add(at)});var De=new Set([].concat(u(Ve)).filter(function(at){return F.has(at)})),Ye=void 0;De.size>0?Ye=b[x.get(De.values().next().value)]:Ye=D(Ve).x,V[be].forEach(function(at){I[oe]=[Ye,T[x.get(at)]],M[oe]=[b[x.get(at)],T[x.get(at)]],oe++})},"_loop2"),W=0;W0?Ye=b[x.get(De.values().next().value)]:Ye=D(Ve).y,pe[be].forEach(function(at){I[oe]=[b[x.get(at)],Ye],M[oe]=[b[x.get(at)],T[x.get(at)]],oe++})},"_loop3"),Pe=0;PeK&&(K=U[Y].length,ee=Y);if(K<$.size/2)R(y.relativePlacementConstraint),P=!1,B=!1;else{var ce=new Map,Z=new Map,ue=[];U[ee].forEach(function(oe){z.get(oe).forEach(function(V){V.direction=="horizontal"?(ce.has(oe)?ce.get(oe).push(V):ce.set(oe,[V]),ce.has(V.id)||ce.set(V.id,[]),ue.push({left:oe,right:V.id})):(Z.has(oe)?Z.get(oe).push(V):Z.set(oe,[V]),Z.has(V.id)||Z.set(V.id,[]),ue.push({top:oe,bottom:V.id}))})}),R(ue),B=!1;var Q=O(ce,"horizontal"),j=O(Z,"vertical");U[ee].forEach(function(oe,V){M[V]=[b[x.get(oe)],T[x.get(oe)]],I[V]=[],Q.has(oe)?I[V][0]=Q.get(oe):I[V][0]=b[x.get(oe)],j.has(oe)?I[V][1]=j.get(oe):I[V][1]=T[x.get(oe)]}),P=!0}}if(P){for(var ne=void 0,te=d.transpose(I),he=d.transpose(M),le=0;le0){var Be={x:0,y:0};y.fixedNodeConstraint.forEach(function(oe,V){var Te={x:b[x.get(oe.nodeId)],y:T[x.get(oe.nodeId)]},W=oe.position,pe=A(W,Te);Be.x+=pe.x,Be.y+=pe.y}),Be.x/=y.fixedNodeConstraint.length,Be.y/=y.fixedNodeConstraint.length,b.forEach(function(oe,V){b[V]+=Be.x}),T.forEach(function(oe,V){T[V]+=Be.y}),y.fixedNodeConstraint.forEach(function(oe){b[x.get(oe.nodeId)]=oe.position.x,T[x.get(oe.nodeId)]=oe.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var He=y.alignmentConstraint.vertical,ze=o(function(V){var Te=new Set;He[V].forEach(function(ve){Te.add(ve)});var W=new Set([].concat(u(Te)).filter(function(ve){return F.has(ve)})),pe=void 0;W.size>0?pe=b[x.get(W.values().next().value)]:pe=D(Te).x,Te.forEach(function(ve){F.has(ve)||(b[x.get(ve)]=pe)})},"_loop4"),Le=0;Le0?pe=T[x.get(W.values().next().value)]:pe=D(Te).y,Te.forEach(function(ve){F.has(ve)||(T[x.get(ve)]=pe)})},"_loop5"),q=0;q{a.exports=t}},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(45);return i})()})});var G2e=Ii((M4,JF)=>{"use strict";o(function(e,r){typeof M4=="object"&&typeof JF=="object"?JF.exports=r(ZF()):typeof define=="function"&&define.amd?define(["cose-base"],r):typeof M4=="object"?M4.cytoscapeFcose=r(ZF()):e.cytoscapeFcose=r(e.coseBase)},"webpackUniversalModuleDefinition")(M4,function(t){return(()=>{"use strict";var e={658:a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(s){for(var l=arguments.length,u=Array(l>1?l-1:0),h=1;h{var u=function(){function d(p,m){var g=[],y=!0,v=!1,x=void 0;try{for(var b=p[Symbol.iterator](),T;!(y=(T=b.next()).done)&&(g.push(T.value),!(m&&g.length===m));y=!0);}catch(C){v=!0,x=C}finally{try{!y&&b.return&&b.return()}finally{if(v)throw x}}return g}return o(d,"sliceIterator"),function(p,m){if(Array.isArray(p))return p;if(Symbol.iterator in Object(p))return d(p,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),h=l(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(d){for(var p={},m=0;m0&&P.merge($)});for(var B=0;B1){T=x[0],C=T.connectedEdges().length,x.forEach(function(M){M.connectedEdges().length0&&g.set("dummy"+(g.size+1),_),A},f.relocateComponent=function(d,p,m){if(!m.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,v=Number.POSITIVE_INFINITY,x=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var b=!0,T=!1,C=void 0;try{for(var w=p.nodeIndexes[Symbol.iterator](),E;!(b=(E=w.next()).done);b=!0){var _=E.value,A=u(_,2),D=A[0],O=A[1],R=m.cy.getElementById(D);if(R){var k=R.boundingBox(),L=p.xCoords[O]-k.w/2,S=p.xCoords[O]+k.w/2,I=p.yCoords[O]-k.h/2,M=p.yCoords[O]+k.h/2;Ly&&(y=S),Ix&&(x=M)}}}catch($){T=!0,C=$}finally{try{!b&&w.return&&w.return()}finally{if(T)throw C}}var P=d.x-(y+g)/2,B=d.y-(x+v)/2;p.xCoords=p.xCoords.map(function($){return $+P}),p.yCoords=p.yCoords.map(function($){return $+B})}else{Object.keys(p).forEach(function($){var U=p[$],K=U.getRect().x,ee=U.getRect().x+U.getRect().width,Y=U.getRect().y,ce=U.getRect().y+U.getRect().height;Ky&&(y=ee),Yx&&(x=ce)});var F=d.x-(y+g)/2,z=d.y-(x+v)/2;Object.keys(p).forEach(function($){var U=p[$];U.setCenter(U.getCenterX()+F,U.getCenterY()+z)})}}},f.calcBoundingBox=function(d,p,m,g){for(var y=Number.MAX_SAFE_INTEGER,v=Number.MIN_SAFE_INTEGER,x=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,T=void 0,C=void 0,w=void 0,E=void 0,_=d.descendants().not(":parent"),A=_.length,D=0;DT&&(y=T),vw&&(x=w),b{var u=l(548),h=l(140).CoSELayout,f=l(140).CoSENode,d=l(140).layoutBase.PointD,p=l(140).layoutBase.DimensionD,m=l(140).layoutBase.LayoutConstants,g=l(140).layoutBase.FDLayoutConstants,y=l(140).CoSEConstants,v=o(function(b,T){var C=b.cy,w=b.eles,E=w.nodes(),_=w.edges(),A=void 0,D=void 0,O=void 0,R={};b.randomize&&(A=T.nodeIndexes,D=T.xCoords,O=T.yCoords);var k=o(function($){return typeof $=="function"},"isFn"),L=o(function($,U){return k($)?$(U):$},"optFn"),S=u.calcParentsWithoutChildren(C,w),I=o(function z($,U,K,ee){for(var Y=U.length,ce=0;ce0){var te=void 0;te=K.getGraphManager().add(K.newGraph(),Q),z(te,ue,K,ee)}}},"processChildrenList"),M=o(function($,U,K){for(var ee=0,Y=0,ce=0;ce0?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=ee/Y:k(b.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b.idealEdgeLength,y.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},"processEdges"),P=o(function($,U){U.fixedNodeConstraint&&($.constraints.fixedNodeConstraint=U.fixedNodeConstraint),U.alignmentConstraint&&($.constraints.alignmentConstraint=U.alignmentConstraint),U.relativePlacementConstraint&&($.constraints.relativePlacementConstraint=U.relativePlacementConstraint)},"processConstraints");b.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=b.nestingFactor),b.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=b.gravity),b.numIter!=null&&(y.MAX_ITERATIONS=g.MAX_ITERATIONS=b.numIter),b.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=b.gravityRange),b.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=b.gravityCompound),b.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=b.gravityRangeCompound),b.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=b.initialEnergyOnIncremental),b.tilingCompareBy!=null&&(y.TILING_COMPARE_BY=b.tilingCompareBy),b.quality=="proof"?m.QUALITY=2:m.QUALITY=0,y.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=m.NODE_DIMENSIONS_INCLUDE_LABELS=b.nodeDimensionsIncludeLabels,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!b.randomize,y.ANIMATE=g.ANIMATE=m.ANIMATE=b.animate,y.TILE=b.tile,y.TILING_PADDING_VERTICAL=typeof b.tilingPaddingVertical=="function"?b.tilingPaddingVertical.call():b.tilingPaddingVertical,y.TILING_PADDING_HORIZONTAL=typeof b.tilingPaddingHorizontal=="function"?b.tilingPaddingHorizontal.call():b.tilingPaddingHorizontal,y.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!0,y.PURE_INCREMENTAL=!b.randomize,m.DEFAULT_UNIFORM_LEAF_NODE_SIZES=b.uniformNodeDimensions,b.step=="transformed"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!1),b.step=="enforced"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!1),b.step=="cose"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!0),b.step=="all"&&(b.randomize?y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!0),b.fixedNodeConstraint||b.alignmentConstraint||b.relativePlacementConstraint?y.TREE_REDUCTION_ON_INCREMENTAL=!1:y.TREE_REDUCTION_ON_INCREMENTAL=!0;var B=new h,F=B.newGraphManager();return I(F.addRoot(),u.getTopMostNodes(E),B,b),M(B,F,_),P(B,b),B.runLayout(),R},"coseLayout");a.exports={coseLayout:v}},212:(a,s,l)=>{var u=function(){function b(T,C){for(var w=0;w0)if(M){var F=d.getTopMostNodes(w.eles.nodes());if(k=d.connectComponents(E,w.eles,F),k.forEach(function(se){var ae=se.boundingBox();L.push({x:ae.x1+ae.w/2,y:ae.y1+ae.h/2})}),w.randomize&&k.forEach(function(se){w.eles=se,A.push(m(w))}),w.quality=="default"||w.quality=="proof"){var z=E.collection();if(w.tile){var $=new Map,U=[],K=[],ee=0,Y={nodeIndexes:$,xCoords:U,yCoords:K},ce=[];if(k.forEach(function(se,ae){se.edges().length==0&&(se.nodes().forEach(function(Oe,ye){z.merge(se.nodes()[ye]),Oe.isParent()||(Y.nodeIndexes.set(se.nodes()[ye].id(),ee++),Y.xCoords.push(se.nodes()[0].position().x),Y.yCoords.push(se.nodes()[0].position().y))}),ce.push(ae))}),z.length>1){var Z=z.boundingBox();L.push({x:Z.x1+Z.w/2,y:Z.y1+Z.h/2}),k.push(z),A.push(Y);for(var ue=ce.length-1;ue>=0;ue--)k.splice(ce[ue],1),A.splice(ce[ue],1),L.splice(ce[ue],1)}}k.forEach(function(se,ae){w.eles=se,R.push(y(w,A[ae])),d.relocateComponent(L[ae],R[ae],w)})}else k.forEach(function(se,ae){d.relocateComponent(L[ae],A[ae],w)});var Q=new Set;if(k.length>1){var j=[],ne=_.filter(function(se){return se.css("display")=="none"});k.forEach(function(se,ae){var Oe=void 0;if(w.quality=="draft"&&(Oe=A[ae].nodeIndexes),se.nodes().not(ne).length>0){var ye={};ye.edges=[],ye.nodes=[];var Be=void 0;se.nodes().not(ne).forEach(function(He){if(w.quality=="draft")if(!He.isParent())Be=Oe.get(He.id()),ye.nodes.push({x:A[ae].xCoords[Be]-He.boundingbox().w/2,y:A[ae].yCoords[Be]-He.boundingbox().h/2,width:He.boundingbox().w,height:He.boundingbox().h});else{var ze=d.calcBoundingBox(He,A[ae].xCoords,A[ae].yCoords,Oe);ye.nodes.push({x:ze.topLeftX,y:ze.topLeftY,width:ze.width,height:ze.height})}else R[ae][He.id()]&&ye.nodes.push({x:R[ae][He.id()].getLeft(),y:R[ae][He.id()].getTop(),width:R[ae][He.id()].getWidth(),height:R[ae][He.id()].getHeight()})}),se.edges().forEach(function(He){var ze=He.source(),Le=He.target();if(ze.css("display")!="none"&&Le.css("display")!="none")if(w.quality=="draft"){var Ie=Oe.get(ze.id()),xe=Oe.get(Le.id()),q=[],de=[];if(ze.isParent()){var ie=d.calcBoundingBox(ze,A[ae].xCoords,A[ae].yCoords,Oe);q.push(ie.topLeftX+ie.width/2),q.push(ie.topLeftY+ie.height/2)}else q.push(A[ae].xCoords[Ie]),q.push(A[ae].yCoords[Ie]);if(Le.isParent()){var oe=d.calcBoundingBox(Le,A[ae].xCoords,A[ae].yCoords,Oe);de.push(oe.topLeftX+oe.width/2),de.push(oe.topLeftY+oe.height/2)}else de.push(A[ae].xCoords[xe]),de.push(A[ae].yCoords[xe]);ye.edges.push({startX:q[0],startY:q[1],endX:de[0],endY:de[1]})}else R[ae][ze.id()]&&R[ae][Le.id()]&&ye.edges.push({startX:R[ae][ze.id()].getCenterX(),startY:R[ae][ze.id()].getCenterY(),endX:R[ae][Le.id()].getCenterX(),endY:R[ae][Le.id()].getCenterY()})}),ye.nodes.length>0&&(j.push(ye),Q.add(ae))}});var te=I.packComponents(j,w.randomize).shifts;if(w.quality=="draft")A.forEach(function(se,ae){var Oe=se.xCoords.map(function(Be){return Be+te[ae].dx}),ye=se.yCoords.map(function(Be){return Be+te[ae].dy});se.xCoords=Oe,se.yCoords=ye});else{var he=0;Q.forEach(function(se){Object.keys(R[se]).forEach(function(ae){var Oe=R[se][ae];Oe.setCenter(Oe.getCenterX()+te[he].dx,Oe.getCenterY()+te[he].dy)}),he++})}}}else{var P=w.eles.boundingBox();if(L.push({x:P.x1+P.w/2,y:P.y1+P.h/2}),w.randomize){var B=m(w);A.push(B)}w.quality=="default"||w.quality=="proof"?(R.push(y(w,A[0])),d.relocateComponent(L[0],R[0],w)):d.relocateComponent(L[0],A[0],w)}var le=o(function(ae,Oe){if(w.quality=="default"||w.quality=="proof"){typeof ae=="number"&&(ae=Oe);var ye=void 0,Be=void 0,He=ae.data("id");return R.forEach(function(Le){He in Le&&(ye={x:Le[He].getRect().getCenterX(),y:Le[He].getRect().getCenterY()},Be=Le[He])}),w.nodeDimensionsIncludeLabels&&(Be.labelWidth&&(Be.labelPosHorizontal=="left"?ye.x+=Be.labelWidth/2:Be.labelPosHorizontal=="right"&&(ye.x-=Be.labelWidth/2)),Be.labelHeight&&(Be.labelPosVertical=="top"?ye.y+=Be.labelHeight/2:Be.labelPosVertical=="bottom"&&(ye.y-=Be.labelHeight/2))),ye==null&&(ye={x:ae.position("x"),y:ae.position("y")}),{x:ye.x,y:ye.y}}else{var ze=void 0;return A.forEach(function(Le){var Ie=Le.nodeIndexes.get(ae.id());Ie!=null&&(ze={x:Le.xCoords[Ie],y:Le.yCoords[Ie]})}),ze==null&&(ze={x:ae.position("x"),y:ae.position("y")}),{x:ze.x,y:ze.y}}},"getPositions");if(w.quality=="default"||w.quality=="proof"||w.randomize){var J=d.calcParentsWithoutChildren(E,_),Se=_.filter(function(se){return se.css("display")=="none"});w.eles=_.not(Se),_.nodes().not(":parent").not(Se).layoutPositions(C,w,le),J.length>0&&J.forEach(function(se){se.position(le(se))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")},"run")}]),b}();a.exports=x},657:(a,s,l)=>{var u=l(548),h=l(140).layoutBase.Matrix,f=l(140).layoutBase.SVD,d=o(function(m){var g=m.cy,y=m.eles,v=y.nodes(),x=y.nodes(":parent"),b=new Map,T=new Map,C=new Map,w=[],E=[],_=[],A=[],D=[],O=[],R=[],k=[],L=void 0,S=void 0,I=1e8,M=1e-9,P=m.piTol,B=m.samplingType,F=m.nodeSeparation,z=void 0,$=o(function(){for(var Te=0,W=0,pe=!1;W=Pe;){be=ve[Pe++];for(var st=w[be],Ue=0;UeYe&&(Ye=D[We],at=We)}return at},"BFS"),K=o(function(Te){var W=void 0;if(Te){W=Math.floor(Math.random()*S),L=W;for(var ve=0;ve=1)break;Ye=De}for(var st=0;st=1)break;Ye=De}for(var ut=0;ut0&&(W.isParent()?w[Te].push(C.get(W.id())):w[Te].push(W.id()))})});var J=o(function(Te){var W=T.get(Te),pe=void 0;b.get(Te).forEach(function(ve){g.getElementById(ve).isParent()?pe=C.get(ve):pe=ve,w[W].push(pe),w[T.get(pe)].push(Te)})},"_loop"),Se=!0,se=!1,ae=void 0;try{for(var Oe=b.keys()[Symbol.iterator](),ye;!(Se=(ye=Oe.next()).done);Se=!0){var Be=ye.value;J(Be)}}catch(V){se=!0,ae=V}finally{try{!Se&&Oe.return&&Oe.return()}finally{if(se)throw ae}}S=T.size;var He=void 0;if(S>2){z=S{var u=l(212),h=o(function(d){d&&d("layout","fcose",u)},"register");typeof cytoscape<"u"&&h(cytoscape),a.exports=h},140:a=>{a.exports=t}},r={};function n(a){var s=r[a];if(s!==void 0)return s.exports;var l=r[a]={exports:{}};return e[a](l,l.exports,n),l.exports}o(n,"__webpack_require__");var i=n(579);return i})()})});var gy,n0,e$=N(()=>{"use strict";rc();gy=o(t=>`${t}`,"wrapIcon"),n0={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:gy('')},server:{body:gy('')},disk:{body:gy('')},internet:{body:gy('')},cloud:{body:gy('')},unknown:dA,blank:{body:gy("")}}}});var V2e,U2e,H2e,W2e,q2e=N(()=>{"use strict";qt();no();rc();dr();e$();EC();V2e=o(async function(t,e,r){let n=r.getConfigField("padding"),i=r.getConfigField("iconSize"),a=i/2,s=i/6,l=s/2;await Promise.all(e.edges().map(async u=>{let{source:h,sourceDir:f,sourceArrow:d,sourceGroup:p,target:m,targetDir:g,targetArrow:y,targetGroup:v,label:x}=kC(u),{x:b,y:T}=u[0].sourceEndpoint(),{x:C,y:w}=u[0].midpoint(),{x:E,y:_}=u[0].targetEndpoint(),A=n+4;if(p&&(Wa(f)?b+=f==="L"?-A:A:T+=f==="T"?-A:A+18),v&&(Wa(g)?E+=g==="L"?-A:A:_+=g==="T"?-A:A+18),!p&&r.getNode(h)?.type==="junction"&&(Wa(f)?b+=f==="L"?a:-a:T+=f==="T"?a:-a),!v&&r.getNode(m)?.type==="junction"&&(Wa(g)?E+=g==="L"?a:-a:_+=g==="T"?a:-a),u[0]._private.rscratch){let D=t.insert("g");if(D.insert("path").attr("d",`M ${b},${T} L ${C},${w} L${E},${_} `).attr("class","edge"),d){let O=Wa(f)?_4[f](b,s):b-l,R=eu(f)?_4[f](T,s):T-l;D.insert("polygon").attr("points",WF[f](s)).attr("transform",`translate(${O},${R})`).attr("class","arrow")}if(y){let O=Wa(g)?_4[g](E,s):E-l,R=eu(g)?_4[g](_,s):_-l;D.insert("polygon").attr("points",WF[g](s)).attr("transform",`translate(${O},${R})`).attr("class","arrow")}if(x){let O=D4(f,g)?"XY":Wa(f)?"X":"Y",R=0;O==="X"?R=Math.abs(b-E):O==="Y"?R=Math.abs(T-_)/1.5:R=Math.abs(b-E)/2;let k=D.append("g");if(await Hn(k,x,{useHtmlLabels:!1,width:R,classes:"architecture-service-label"},ge()),k.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),O==="X")k.attr("transform","translate("+C+", "+w+")");else if(O==="Y")k.attr("transform","translate("+C+", "+w+") rotate(-90)");else if(O==="XY"){let L=L4(f,g);if(L&&N2e(L)){let S=k.node().getBoundingClientRect(),[I,M]=I2e(L);k.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*I*M*45})`);let P=k.node().getBoundingClientRect();k.attr("transform",` + translate(${C}, ${w-S.height/2}) + translate(${I*P.width/2}, ${M*P.height/2}) + rotate(${-1*I*M*45}, 0, ${S.height/2}) + `)}}}}}))},"drawEdges"),U2e=o(async function(t,e,r){let i=r.getConfigField("padding")*.75,a=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{let h=Gf(u);if(h.type==="group"){let{h:f,w:d,x1:p,y1:m}=u.boundingBox();t.append("rect").attr("x",p+l).attr("y",m+l).attr("width",d).attr("height",f).attr("class","node-bkg");let g=t.append("g"),y=p,v=m;if(h.icon){let x=g.append("g");x.html(`${await Es(h.icon,{height:i,width:i,fallbackPrefix:n0.prefix})}`),x.attr("transform","translate("+(y+l+1)+", "+(v+l+1)+")"),y+=i,v+=a/2-1-2}if(h.label){let x=g.append("g");await Hn(x,h.label,{useHtmlLabels:!1,width:d,classes:"architecture-service-label"},ge()),x.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),x.attr("transform","translate("+(y+l+4)+", "+(v+l+2)+")")}}}))},"drawGroups"),H2e=o(async function(t,e,r){let n=ge();for(let i of r){let a=e.append("g"),s=t.getConfigField("iconSize");if(i.title){let f=a.append("g");await Hn(f,i.title,{useHtmlLabels:!1,width:s*1.5,classes:"architecture-service-label"},n),f.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),f.attr("transform","translate("+s/2+", "+s+")")}let l=a.append("g");if(i.icon)l.html(`${await Es(i.icon,{height:s,width:s,fallbackPrefix:n0.prefix})}`);else if(i.iconText){l.html(`${await Es("blank",{height:s,width:s,fallbackPrefix:n0.prefix})}`);let p=l.append("g").append("foreignObject").attr("width",s).attr("height",s).append("div").attr("class","node-icon-text").attr("style",`height: ${s}px;`).append("div").html(ar(i.iconText,n)),m=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((s-2)/m)};`)}else l.append("path").attr("class","node-bkg").attr("id","node-"+i.id).attr("d",`M0 ${s} v${-s} q0,-5 5,-5 h${s} q5,0 5,5 v${s} H0 Z`);a.attr("class","architecture-service");let{width:u,height:h}=a._groups[0][0].getBBox();i.width=u,i.height=h,t.setElementForId(i.id,a)}return 0},"drawServices"),W2e=o(function(t,e,r){r.forEach(n=>{let i=e.append("g"),a=t.getConfigField("iconSize");i.append("g").append("rect").attr("id","node-"+n.id).attr("fill-opacity","0").attr("width",a).attr("height",a),i.attr("class","architecture-junction");let{width:l,height:u}=i._groups[0][0].getBBox();i.width=l,i.height=u,t.setElementForId(n.id,i)})},"drawJunctions")});function Ent(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}function Snt(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}function Cnt(t,e){e.nodes().map(r=>{let n=Gf(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}function Ant(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}function _nt(t,e){t.forEach(r=>{let{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:l,lhsDir:u,rhsDir:h,rhsGroup:f,title:d}=r,p=D4(r.lhsDir,r.rhsDir)?"segments":"straight",m={id:`${n}-${i}`,label:d,source:n,sourceDir:u,sourceArrow:a,sourceGroup:s,sourceEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%",target:i,targetDir:h,targetArrow:l,targetGroup:f,targetEndpoint:h==="L"?"0 50%":h==="R"?"100% 50%":h==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:m,classes:p})})}function Dnt(t,e,r){let n=o((l,u)=>Object.entries(l).reduce((h,[f,d])=>{let p=0,m=Object.entries(d);if(m.length===1)return h[f]=m[0][1],h;for(let g=0;g{let u={},h={};return Object.entries(l).forEach(([f,[d,p]])=>{let m=t.getNode(f)?.in??"default";u[p]??={},u[p][m]??=[],u[p][m].push(f),h[d]??={},h[d][m]??=[],h[d][m].push(f)}),{horiz:Object.values(n(u,"horizontal")).filter(f=>f.length>1),vert:Object.values(n(h,"vertical")).filter(f=>f.length>1)}}),[a,s]=i.reduce(([l,u],{horiz:h,vert:f})=>[[...l,...h],[...u,...f]],[[],[]]);return{horizontal:a,vertical:s}}function Lnt(t,e){let r=[],n=o(a=>`${a[0]},${a[1]}`,"posToStr"),i=o(a=>a.split(",").map(s=>parseInt(s)),"strToPos");return t.forEach(a=>{let s=Object.fromEntries(Object.entries(a).map(([f,d])=>[n(d),f])),l=[n([0,0])],u={},h={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;l.length>0;){let f=l.shift();if(f){u[f]=1;let d=s[f];if(d){let p=i(f);Object.entries(h).forEach(([m,g])=>{let y=n([p[0]+g[0],p[1]+g[1]]),v=s[y];v&&!u[y]&&(l.push(y),r.push({[HF[m]]:v,[HF[R2e(m)]]:d,gap:1.5*e.getConfigField("iconSize")}))})}}}}),r}function Rnt(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(l=>{let u=Ge("body").append("div").attr("id","cy").attr("style","display:none"),h=il({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight",label:"data(label)","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});u.remove(),Ant(r,h),Ent(t,h,i),Snt(e,h,i),_nt(n,h);let f=Dnt(i,a,s),d=Lnt(a,i),p=h.layout({name:"fcose",quality:"proof",styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(m){let[g,y]=m.connectedNodes(),{parent:v}=Gf(g),{parent:x}=Gf(y);return v===x?1.5*i.getConfigField("iconSize"):.5*i.getConfigField("iconSize")},edgeElasticity(m){let[g,y]=m.connectedNodes(),{parent:v}=Gf(g),{parent:x}=Gf(y);return v===x?.45:.001},alignmentConstraint:f,relativePlacementConstraint:d});p.one("layoutstop",()=>{function m(g,y,v,x){let b,T,{x:C,y:w}=g,{x:E,y:_}=y;T=(x-w+(C-v)*(w-_)/(C-E))/Math.sqrt(1+Math.pow((w-_)/(C-E),2)),b=Math.sqrt(Math.pow(x-w,2)+Math.pow(v-C,2)-Math.pow(T,2));let A=Math.sqrt(Math.pow(E-C,2)+Math.pow(_-w,2));b=b/A;let D=(E-C)*(x-w)-(_-w)*(v-C);switch(!0){case D>=0:D=1;break;case D<0:D=-1;break}let O=(E-C)*(v-C)+(_-w)*(x-w);switch(!0){case O>=0:O=1;break;case O<0:O=-1;break}return T=Math.abs(T)*D,b=b*O,{distances:T,weights:b}}o(m,"getSegmentWeights"),h.startBatch();for(let g of Object.values(h.edges()))if(g.data?.()){let{x:y,y:v}=g.source().position(),{x,y:b}=g.target().position();if(y!==x&&v!==b){let T=g.sourceEndpoint(),C=g.targetEndpoint(),{sourceDir:w}=kC(g),[E,_]=eu(w)?[T.x,C.y]:[C.x,T.y],{weights:A,distances:D}=m(T,C,E,_);g.style("segment-distances",D),g.style("segment-weights",A)}}h.endBatch(),p.run()}),p.run(),h.ready(m=>{X.info("Ready",m),l(h)})})}var Y2e,Nnt,X2e,j2e=N(()=>{"use strict";aF();Y2e=Sa(G2e(),1);pr();yt();rc();zl();yi();e$();EC();q2e();R3([{name:n0.prefix,icons:n0}]);il.use(Y2e.default);o(Ent,"addServices");o(Snt,"addJunctions");o(Cnt,"positionNodes");o(Ant,"addGroups");o(_nt,"addEdges");o(Dnt,"getAlignments");o(Lnt,"getRelativeConstraints");o(Rnt,"layoutArchitecture");Nnt=o(async(t,e,r,n)=>{let i=n.db,a=i.getServices(),s=i.getJunctions(),l=i.getGroups(),u=i.getEdges(),h=i.getDataStructures(),f=Di(e),d=f.append("g");d.attr("class","architecture-edges");let p=f.append("g");p.attr("class","architecture-services");let m=f.append("g");m.attr("class","architecture-groups"),await H2e(i,p,a),W2e(i,p,s);let g=await Rnt(a,s,l,u,i,h);await V2e(d,g,i),await U2e(m,g,i),Cnt(i,g),_o(void 0,f,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),X2e={draw:Nnt}});var K2e={};hr(K2e,{diagram:()=>Mnt});var Mnt,Q2e=N(()=>{"use strict";F2e();YF();z2e();j2e();Mnt={parser:XF,get db(){return new my},renderer:X2e,styles:$2e}});var yy,t$=N(()=>{"use strict";Ca();Jn();nr();Gt();ci();yy=class{constructor(){this.nodes=[];this.levels=new Map;this.outerNodes=[];this.classes=new Map;this.setAccTitle=Cr;this.getAccTitle=_r;this.setDiagramTitle=Ir;this.getDiagramTitle=Rr;this.getAccDescription=Lr;this.setAccDescription=Dr}static{o(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=lr,r=Qt();return Fn({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){let n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{k2(a)&&(n?.textStyles?n.textStyles.push(a):n.textStyles=[a]),n?.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){wr(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}}});function exe(t){if(!t.length)return[];let e=[],r=[];return t.forEach(n=>{let i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n?.classSelector,n?.cssCompiledStyles&&(i.cssCompiledStyles=[n.cssCompiledStyles]),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{let a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}var txe=N(()=>{"use strict";o(exe,"buildHierarchy")});var Bnt,Fnt,r$,rxe=N(()=>{"use strict";gf();yt();Dp();txe();t$();Bnt=o((t,e)=>{Qo(t,e);let r=[];for(let a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(let a of t.TreemapRows??[]){let s=a.item;if(!s)continue;let l=a.indent?parseInt(a.indent):0,u=Fnt(s),h=s.classSelector?e.getStylesForClass(s.classSelector):[],f=h.length>0?h.join(";"):void 0,d={level:l,name:u,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:f};r.push(d)}let n=exe(r),i=o((a,s)=>{for(let l of a)e.addNode(l,s),l.children&&l.children.length>0&&i(l.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),Fnt=o(t=>t.name?String(t.name):"","getItemName"),r$={parser:{yy:void 0},parse:o(async t=>{try{let r=await ps("treemap",t);X.debug("Treemap AST:",r);let n=r$.parser?.yy;if(!(n instanceof yy))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Bnt(r,n)}catch(e){throw X.error("Error parsing treemap:",e),e}},"parse")}});var $nt,vy,I4,znt,Gnt,nxe,ixe=N(()=>{"use strict";zl();Jd();yi();pr();Gt();Jn();yt();$nt=10,vy=10,I4=25,znt=o((t,e,r,n)=>{let i=n.db,a=i.getConfig(),s=a.padding??$nt,l=i.getDiagramTitle(),u=i.getRoot(),{themeVariables:h}=Qt();if(!u)return;let f=l?30:0,d=Di(e),p=a.nodeWidth?a.nodeWidth*vy:960,m=a.nodeHeight?a.nodeHeight*vy:500,g=p,y=m+f;d.attr("viewBox",`0 0 ${g} ${y}`),hn(d,y,g,a.useMaxWidth);let v;try{let S=a.valueFormat||",";if(S==="$0,0")v=o(I=>"$"+oc(",")(I),"valueFormat");else if(S.startsWith("$")&&S.includes(",")){let I=/\.\d+/.exec(S),M=I?I[0]:"";v=o(P=>"$"+oc(","+M)(P),"valueFormat")}else if(S.startsWith("$")){let I=S.substring(1);v=o(M=>"$"+oc(I||"")(M),"valueFormat")}else v=oc(S)}catch(S){X.error("Error creating format function:",S),v=oc(",")}let x=Qs().range(["transparent",h.cScale0,h.cScale1,h.cScale2,h.cScale3,h.cScale4,h.cScale5,h.cScale6,h.cScale7,h.cScale8,h.cScale9,h.cScale10,h.cScale11]),b=Qs().range(["transparent",h.cScalePeer0,h.cScalePeer1,h.cScalePeer2,h.cScalePeer3,h.cScalePeer4,h.cScalePeer5,h.cScalePeer6,h.cScalePeer7,h.cScalePeer8,h.cScalePeer9,h.cScalePeer10,h.cScalePeer11]),T=Qs().range([h.cScaleLabel0,h.cScaleLabel1,h.cScaleLabel2,h.cScaleLabel3,h.cScaleLabel4,h.cScaleLabel5,h.cScaleLabel6,h.cScaleLabel7,h.cScaleLabel8,h.cScaleLabel9,h.cScaleLabel10,h.cScaleLabel11]);l&&d.append("text").attr("x",g/2).attr("y",f/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(l);let C=d.append("g").attr("transform",`translate(0, ${f})`).attr("class","treemapContainer"),w=O0(u).sum(S=>S.value??0).sort((S,I)=>(I.value??0)-(S.value??0)),_=A5().size([p,m]).paddingTop(S=>S.children&&S.children.length>0?I4+vy:0).paddingInner(s).paddingLeft(S=>S.children&&S.children.length>0?vy:0).paddingRight(S=>S.children&&S.children.length>0?vy:0).paddingBottom(S=>S.children&&S.children.length>0?vy:0).round(!0)(w),A=_.descendants().filter(S=>S.children&&S.children.length>0),D=C.selectAll(".treemapSection").data(A).enter().append("g").attr("class","treemapSection").attr("transform",S=>`translate(${S.x0},${S.y0})`);D.append("rect").attr("width",S=>S.x1-S.x0).attr("height",I4).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",S=>S.depth===0?"display: none;":""),D.append("clipPath").attr("id",(S,I)=>`clip-section-${e}-${I}`).append("rect").attr("width",S=>Math.max(0,S.x1-S.x0-12)).attr("height",I4),D.append("rect").attr("width",S=>S.x1-S.x0).attr("height",S=>S.y1-S.y0).attr("class",(S,I)=>`treemapSection section${I}`).attr("fill",S=>x(S.data.name)).attr("fill-opacity",.6).attr("stroke",S=>b(S.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",S=>{if(S.depth===0)return"display: none;";let I=qe({cssCompiledStyles:S.data.cssCompiledStyles});return I.nodeStyles+";"+I.borderStyles.join(";")}),D.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",I4/2).attr("dominant-baseline","middle").text(S=>S.depth===0?"":S.data.name).attr("font-weight","bold").attr("style",S=>{if(S.depth===0)return"display: none;";let I="dominant-baseline: middle; font-size: 12px; fill:"+T(S.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",M=qe({cssCompiledStyles:S.data.cssCompiledStyles});return I+M.labelStyles.replace("color:","fill:")}).each(function(S){if(S.depth===0)return;let I=Ge(this),M=S.data.name;I.text(M);let P=S.x1-S.x0,B=6,F;a.showValues!==!1&&S.value?F=P-10-30-10-B:F=P-B-6;let $=Math.max(15,F),U=I.node();if(U.getComputedTextLength()>$){let ee="...",Y=M;for(;Y.length>0;){if(Y=M.substring(0,Y.length-1),Y.length===0){I.text(ee),U.getComputedTextLength()>$&&I.text("");break}if(I.text(Y+ee),U.getComputedTextLength()<=$)break}}}),a.showValues!==!1&&D.append("text").attr("class","treemapSectionValue").attr("x",S=>S.x1-S.x0-10).attr("y",I4/2).attr("text-anchor","end").attr("dominant-baseline","middle").text(S=>S.value?v(S.value):"").attr("font-style","italic").attr("style",S=>{if(S.depth===0)return"display: none;";let I="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+T(S.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",M=qe({cssCompiledStyles:S.data.cssCompiledStyles});return I+M.labelStyles.replace("color:","fill:")});let O=_.leaves(),R=C.selectAll(".treemapLeafGroup").data(O).enter().append("g").attr("class",(S,I)=>`treemapNode treemapLeafGroup leaf${I}${S.data.classSelector?` ${S.data.classSelector}`:""}x`).attr("transform",S=>`translate(${S.x0},${S.y0})`);R.append("rect").attr("width",S=>S.x1-S.x0).attr("height",S=>S.y1-S.y0).attr("class","treemapLeaf").attr("fill",S=>S.parent?x(S.parent.data.name):x(S.data.name)).attr("style",S=>qe({cssCompiledStyles:S.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",S=>S.parent?x(S.parent.data.name):x(S.data.name)).attr("stroke-width",3),R.append("clipPath").attr("id",(S,I)=>`clip-${e}-${I}`).append("rect").attr("width",S=>Math.max(0,S.x1-S.x0-4)).attr("height",S=>Math.max(0,S.y1-S.y0-4)),R.append("text").attr("class","treemapLabel").attr("x",S=>(S.x1-S.x0)/2).attr("y",S=>(S.y1-S.y0)/2).attr("style",S=>{let I="text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+T(S.data.name)+";",M=qe({cssCompiledStyles:S.data.cssCompiledStyles});return I+M.labelStyles.replace("color:","fill:")}).attr("clip-path",(S,I)=>`url(#clip-${e}-${I})`).text(S=>S.data.name).each(function(S){let I=Ge(this),M=S.x1-S.x0,P=S.y1-S.y0,B=I.node(),F=4,z=M-2*F,$=P-2*F;if(z<10||$<10){I.style("display","none");return}let U=parseInt(I.style("font-size"),10),K=8,ee=28,Y=.6,ce=6,Z=2;for(;B.getComputedTextLength()>z&&U>K;)U--,I.style("font-size",`${U}px`);let ue=Math.max(ce,Math.min(ee,Math.round(U*Y))),Q=U+Z+ue;for(;Q>$&&U>K&&(U--,ue=Math.max(ce,Math.min(ee,Math.round(U*Y))),!(ue$;I.style("font-size",`${U}px`),(B.getComputedTextLength()>z||U(I.x1-I.x0)/2).attr("y",function(I){return(I.y1-I.y0)/2}).attr("style",I=>{let M="text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+T(I.data.name)+";",P=qe({cssCompiledStyles:I.data.cssCompiledStyles});return M+P.labelStyles.replace("color:","fill:")}).attr("clip-path",(I,M)=>`url(#clip-${e}-${M})`).text(I=>I.value?v(I.value):"").each(function(I){let M=Ge(this),P=this.parentNode;if(!P){M.style("display","none");return}let B=Ge(P).select(".treemapLabel");if(B.empty()||B.style("display")==="none"){M.style("display","none");return}let F=parseFloat(B.style("font-size")),z=28,$=.6,U=6,K=2,ee=Math.max(U,Math.min(z,Math.round(F*$)));M.style("font-size",`${ee}px`);let ce=(I.y1-I.y0)/2+F/2+K;M.attr("y",ce);let Z=I.x1-I.x0,j=I.y1-I.y0-4,ne=Z-2*4;M.node().getComputedTextLength()>ne||ce+ee>j||ee{"use strict";nr();Vnt={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},Unt=o(({treemap:t}={})=>{let e=Fn(Vnt,t);return` + .treemapNode.section { + stroke: ${e.sectionStrokeColor}; + stroke-width: ${e.sectionStrokeWidth}; + fill: ${e.sectionFillColor}; + } + .treemapNode.leaf { + stroke: ${e.leafStrokeColor}; + stroke-width: ${e.leafStrokeWidth}; + fill: ${e.leafFillColor}; + } + .treemapLabel { + fill: ${e.labelColor}; + font-size: ${e.labelFontSize}; + } + .treemapValue { + fill: ${e.valueColor}; + font-size: ${e.valueFontSize}; + } + .treemapTitle { + fill: ${e.titleColor}; + font-size: ${e.titleFontSize}; + } + `},"getStyles"),axe=Unt});var oxe={};hr(oxe,{diagram:()=>Hnt});var Hnt,lxe=N(()=>{"use strict";t$();rxe();ixe();sxe();Hnt={parser:r$,get db(){return new yy},renderer:nxe,styles:axe}});var Lit={};hr(Lit,{default:()=>Dit});rc();pA();ad();var lK="c4",iAe=o(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),aAe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(oK(),sK));return{id:lK,diagram:t}},"loader"),sAe={id:lK,detector:iAe,loader:aAe},cK=sAe;var cse="flowchart",VPe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-wrapper"||e?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(t),"detector"),UPe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(vk(),yk));return{id:cse,diagram:t}},"loader"),HPe={id:cse,detector:VPe,loader:UPe},use=HPe;var hse="flowchart-v2",WPe=o((t,e)=>e?.flowchart?.defaultRenderer==="dagre-d3"?!1:(e?.flowchart?.defaultRenderer==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&e?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(t)),"detector"),qPe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(vk(),yk));return{id:hse,diagram:t}},"loader"),YPe={id:hse,detector:WPe,loader:qPe},fse=YPe;var Tse="er",ZPe=o(t=>/^\s*erDiagram/.test(t),"detector"),JPe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(bse(),xse));return{id:Tse,diagram:t}},"loader"),eBe={id:Tse,detector:ZPe,loader:JPe},wse=eBe;var Dhe="gitGraph",LGe=o(t=>/^\s*gitGraph/.test(t),"detector"),RGe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_he(),Ahe));return{id:Dhe,diagram:t}},"loader"),NGe={id:Dhe,detector:LGe,loader:RGe},Lhe=NGe;var sfe="gantt",xVe=o(t=>/^\s*gantt/.test(t),"detector"),bVe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(afe(),ife));return{id:sfe,diagram:t}},"loader"),TVe={id:sfe,detector:xVe,loader:bVe},ofe=TVe;var gfe="info",AVe=o(t=>/^\s*info/.test(t),"detector"),_Ve=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(mfe(),pfe));return{id:gfe,diagram:t}},"loader"),yfe={id:gfe,detector:AVe,loader:_Ve};var Afe="pie",GVe=o(t=>/^\s*pie/.test(t),"detector"),VVe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Cfe(),Sfe));return{id:Afe,diagram:t}},"loader"),_fe={id:Afe,detector:GVe,loader:VVe};var Gfe="quadrantChart",sUe=o(t=>/^\s*quadrantChart/.test(t),"detector"),oUe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(zfe(),$fe));return{id:Gfe,diagram:t}},"loader"),lUe={id:Gfe,detector:sUe,loader:oUe},Vfe=lUe;var mde="xychart",SUe=o(t=>/^\s*xychart(-beta)?/.test(t),"detector"),CUe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(pde(),dde));return{id:mde,diagram:t}},"loader"),AUe={id:mde,detector:SUe,loader:CUe},gde=AUe;var Sde="requirement",RUe=o(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),NUe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ede(),kde));return{id:Sde,diagram:t}},"loader"),MUe={id:Sde,detector:RUe,loader:NUe},Cde=MUe;var qde="sequence",gHe=o(t=>/^\s*sequenceDiagram/.test(t),"detector"),yHe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Wde(),Hde));return{id:qde,diagram:t}},"loader"),vHe={id:qde,detector:gHe,loader:yHe},Yde=vHe;var Jde="class",EHe=o((t,e)=>e?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t),"detector"),SHe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Zde(),Qde));return{id:Jde,diagram:t}},"loader"),CHe={id:Jde,detector:EHe,loader:SHe},epe=CHe;var npe="classDiagram",_He=o((t,e)=>/^\s*classDiagram/.test(t)&&e?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t),"detector"),DHe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(rpe(),tpe));return{id:npe,diagram:t}},"loader"),LHe={id:npe,detector:_He,loader:DHe},ipe=LHe;var Ope="state",tWe=o((t,e)=>e?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t),"detector"),rWe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Ipe(),Mpe));return{id:Ope,diagram:t}},"loader"),nWe={id:Ope,detector:tWe,loader:rWe},Ppe=nWe;var $pe="stateDiagram",aWe=o((t,e)=>!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&e?.state?.defaultRenderer==="dagre-wrapper"),"detector"),sWe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Fpe(),Bpe));return{id:$pe,diagram:t}},"loader"),oWe={id:$pe,detector:aWe,loader:sWe},zpe=oWe;var r0e="journey",_We=o(t=>/^\s*journey/.test(t),"detector"),DWe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(t0e(),e0e));return{id:r0e,diagram:t}},"loader"),LWe={id:r0e,detector:_We,loader:DWe},n0e=LWe;yt();zl();yi();var RWe=o((t,e,r)=>{X.debug(`rendering svg for syntax error +`);let n=Di(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),hn(n,100,512,!0),i.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),i.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),i.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),i.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),i.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),i.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),i.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),jP={draw:RWe},i0e=jP;var NWe={db:{},renderer:jP,parser:{parse:o(()=>{},"parse")}},a0e=NWe;var s0e="flowchart-elk",MWe=o((t,e={})=>/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&e?.flowchart?.defaultRenderer==="elk"?(e.layout="elk",!0):!1,"detector"),IWe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(vk(),yk));return{id:s0e,diagram:t}},"loader"),OWe={id:s0e,detector:MWe,loader:IWe},o0e=OWe;var M0e="timeline",eqe=o(t=>/^\s*timeline/.test(t),"detector"),tqe=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(N0e(),R0e));return{id:M0e,diagram:t}},"loader"),rqe={id:M0e,detector:eqe,loader:tqe},I0e=rqe;var cye="mindmap",Cet=o(t=>/^\s*mindmap/.test(t),"detector"),Aet=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(lye(),oye));return{id:cye,diagram:t}},"loader"),_et={id:cye,detector:Cet,loader:Aet},uye=_et;var wye="kanban",Het=o(t=>/^\s*kanban/.test(t),"detector"),Wet=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Tye(),bye));return{id:wye,diagram:t}},"loader"),qet={id:wye,detector:Het,loader:Wet},kye=qet;var ive="sankey",mtt=o(t=>/^\s*sankey(-beta)?/.test(t),"detector"),gtt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(nve(),rve));return{id:ive,diagram:t}},"loader"),ytt={id:ive,detector:mtt,loader:gtt},ave=ytt;var dve="packet",Ctt=o(t=>/^\s*packet(-beta)?/.test(t),"detector"),Att=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(fve(),hve));return{id:dve,diagram:t}},"loader"),pve={id:dve,detector:Ctt,loader:Att};var Sve="radar",jtt=o(t=>/^\s*radar-beta/.test(t),"detector"),Ktt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Eve(),kve));return{id:Sve,diagram:t}},"loader"),Cve={id:Sve,detector:jtt,loader:Ktt};var D2e="block",ynt=o(t=>/^\s*block(-beta)?/.test(t),"detector"),vnt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(_2e(),A2e));return{id:D2e,diagram:t}},"loader"),xnt={id:D2e,detector:ynt,loader:vnt},L2e=xnt;var Z2e="architecture",Int=o(t=>/^\s*architecture/.test(t),"detector"),Ont=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(Q2e(),K2e));return{id:Z2e,diagram:t}},"loader"),Pnt={id:Z2e,detector:Int,loader:Ont},J2e=Pnt;ad();qt();var cxe="treemap",Wnt=o(t=>/^\s*treemap/.test(t),"detector"),qnt=o(async()=>{let{diagram:t}=await Promise.resolve().then(()=>(lxe(),oxe));return{id:cxe,diagram:t}},"loader"),uxe={id:cxe,detector:Wnt,loader:qnt};var hxe=!1,xy=o(()=>{hxe||(hxe=!0,sd("error",a0e,t=>t.toLowerCase().trim()==="error"),sd("---",{db:{clear:o(()=>{},"clear")},styles:{},renderer:{draw:o(()=>{},"draw")},parser:{parse:o(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:o(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),Qy(o0e,uye,J2e),Qy(cK,kye,ipe,epe,wse,ofe,yfe,_fe,Cde,Yde,fse,use,I0e,Lhe,zpe,Ppe,n0e,Vfe,ave,pve,gde,L2e,Cve,uxe))},"addDiagrams");yt();ad();qt();var fxe=o(async()=>{X.debug("Loading registered diagrams");let e=(await Promise.allSettled(Object.entries(du).map(async([r,{detector:n,loader:i}])=>{if(i)try{rv(r)}catch{try{let{diagram:a,id:s}=await i();sd(s,a,n)}catch(a){throw X.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete du[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){X.error(`Failed to load ${e.length} external diagrams`);for(let r of e)X.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams");yt();pr();var SC="comm",CC="rule",AC="decl";var dxe="@import";var pxe="@namespace",mxe="@keyframes";var gxe="@layer";var n$=Math.abs,O4=String.fromCharCode;function _C(t){return t.trim()}o(_C,"trim");function P4(t,e,r){return t.replace(e,r)}o(P4,"replace");function yxe(t,e,r){return t.indexOf(e,r)}o(yxe,"indexof");function Vf(t,e){return t.charCodeAt(e)|0}o(Vf,"charat");function Uf(t,e,r){return t.slice(e,r)}o(Uf,"substr");function xo(t){return t.length}o(xo,"strlen");function vxe(t){return t.length}o(vxe,"sizeof");function by(t,e){return e.push(t),t}o(by,"append");var DC=1,Ty=1,xxe=0,sl=0,Ni=0,ky="";function LC(t,e,r,n,i,a,s,l){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:DC,column:Ty,length:s,return:"",siblings:l}}o(LC,"node");function bxe(){return Ni}o(bxe,"char");function Txe(){return Ni=sl>0?Vf(ky,--sl):0,Ty--,Ni===10&&(Ty=1,DC--),Ni}o(Txe,"prev");function ol(){return Ni=sl2||wy(Ni)>3?"":" "}o(Exe,"whitespace");function Sxe(t,e){for(;--e&&ol()&&!(Ni<48||Ni>102||Ni>57&&Ni<65||Ni>70&&Ni<97););return RC(t,B4()+(e<6&&ih()==32&&ol()==32))}o(Sxe,"escaping");function i$(t){for(;ol();)switch(Ni){case t:return sl;case 34:case 39:t!==34&&t!==39&&i$(Ni);break;case 40:t===41&&i$(t);break;case 92:ol();break}return sl}o(i$,"delimiter");function Cxe(t,e){for(;ol()&&t+Ni!==57;)if(t+Ni===84&&ih()===47)break;return"/*"+RC(e,sl-1)+"*"+O4(t===47?t:ol())}o(Cxe,"commenter");function Axe(t){for(;!wy(ih());)ol();return RC(t,sl)}o(Axe,"identifier");function Lxe(t){return kxe(MC("",null,null,null,[""],t=wxe(t),0,[0],t))}o(Lxe,"compile");function MC(t,e,r,n,i,a,s,l,u){for(var h=0,f=0,d=s,p=0,m=0,g=0,y=1,v=1,x=1,b=0,T="",C=i,w=a,E=n,_=T;v;)switch(g=b,b=ol()){case 40:if(g!=108&&Vf(_,d-1)==58){yxe(_+=P4(NC(b),"&","&\f"),"&\f",n$(h?l[h-1]:0))!=-1&&(x=-1);break}case 34:case 39:case 91:_+=NC(b);break;case 9:case 10:case 13:case 32:_+=Exe(g);break;case 92:_+=Sxe(B4()-1,7);continue;case 47:switch(ih()){case 42:case 47:by(Ynt(Cxe(ol(),B4()),e,r,u),u),(wy(g||1)==5||wy(ih()||1)==5)&&xo(_)&&Uf(_,-1,void 0)!==" "&&(_+=" ");break;default:_+="/"}break;case 123*y:l[h++]=xo(_)*x;case 125*y:case 59:case 0:switch(b){case 0:case 125:v=0;case 59+f:x==-1&&(_=P4(_,/\f/g,"")),m>0&&(xo(_)-d||y===0&&g===47)&&by(m>32?Dxe(_+";",n,r,d-1,u):Dxe(P4(_," ","")+";",n,r,d-2,u),u);break;case 59:_+=";";default:if(by(E=_xe(_,e,r,h,f,i,l,T,C=[],w=[],d,a),a),b===123)if(f===0)MC(_,e,E,E,C,a,d,l,w);else{switch(p){case 99:if(Vf(_,3)===110)break;case 108:if(Vf(_,2)===97)break;default:f=0;case 100:case 109:case 115:}f?MC(t,E,E,n&&by(_xe(t,E,E,0,0,i,l,T,i,C=[],d,w),w),i,w,d,l,n?C:w):MC(_,E,E,E,[""],w,0,l,w)}}h=f=m=0,y=x=1,T=_="",d=s;break;case 58:d=1+xo(_),m=g;default:if(y<1){if(b==123)--y;else if(b==125&&y++==0&&Txe()==125)continue}switch(_+=O4(b),b*y){case 38:x=f>0?1:(_+="\f",-1);break;case 44:l[h++]=(xo(_)-1)*x,x=1;break;case 64:ih()===45&&(_+=NC(ol())),p=ih(),f=d=xo(T=_+=Axe(B4())),b++;break;case 45:g===45&&xo(_)==2&&(y=0)}}return a}o(MC,"parse");function _xe(t,e,r,n,i,a,s,l,u,h,f,d){for(var p=i-1,m=i===0?a:[""],g=vxe(m),y=0,v=0,x=0;y0?m[b]+" "+T:P4(T,/&\f/g,m[b])))&&(u[x++]=C);return LC(t,e,r,i===0?CC:l,u,h,f,d)}o(_xe,"ruleset");function Ynt(t,e,r,n){return LC(t,e,r,SC,O4(bxe()),Uf(t,2,-2),0,n)}o(Ynt,"comment");function Dxe(t,e,r,n,i){return LC(t,e,r,AC,Uf(t,0,n),Uf(t,n+1,-1),n,i)}o(Dxe,"declaration");function IC(t,e){for(var r="",n=0;n{Ixe.forEach(t=>{t()}),Ixe=[]},"attachFunctions");yt();var Pxe=o(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");I3();IT();function Bxe(t){let e=t.match(M3);if(!e)return{text:t,metadata:{}};let r=gm(e[1],{schema:mm})??{};r=typeof r=="object"&&!Array.isArray(r)?r:{};let n={};return r.displayMode&&(n.displayMode=r.displayMode.toString()),r.title&&(n.title=r.title.toString()),r.config&&(n.config=r.config),{text:t.slice(e[0].length),metadata:n}}o(Bxe,"extractFrontMatter");nr();var jnt=o(t=>t.replace(/\r\n?/g,` +`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Knt=o(t=>{let{text:e,metadata:r}=Bxe(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),Qnt=o(t=>{let e=Vt.detectInit(t)??{},r=Vt.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):r?.type==="wrap"&&(e.wrap=!0),{text:jj(t),directive:e}},"processDirectives");function a$(t){let e=jnt(t),r=Knt(e),n=Qnt(r.text),i=Fn(r.config,n.directive);return t=Pxe(n.text),{code:t,title:r.title,config:i}}o(a$,"preprocessDiagram");vA();Q4();nr();function Fxe(t){let e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}o(Fxe,"toBase64");var Znt=5e4,Jnt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",eit="sandbox",tit="loose",rit="http://www.w3.org/2000/svg",nit="http://www.w3.org/1999/xlink",iit="http://www.w3.org/1999/xhtml",ait="100%",sit="100%",oit="border:0;margin:0;",lit="margin:0",cit="allow-top-navigation-by-user-activation allow-popups",uit='The "iframe" tag is not supported by your browser.',hit=["foreignobject"],fit=["dominant-baseline"];function Vxe(t){let e=a$(t);return Iy(),Cz(e.config??{}),e}o(Vxe,"processAndSetConfigs");async function dit(t,e){xy();try{let{code:r,config:n}=Vxe(t);return{diagramType:(await Uxe(r)).type,config:n}}catch(r){if(e?.suppressErrors)return!1;throw r}}o(dit,"parse");var $xe=o((t,e,r=[])=>` +.${t} ${e} { ${r.join(" !important; ")} !important; }`,"cssImportantStyles"),pit=o((t,e=new Map)=>{let r="";if(t.themeCSS!==void 0&&(r+=` +${t.themeCSS}`),t.fontFamily!==void 0&&(r+=` +:root { --mermaid-font-family: ${t.fontFamily}}`),t.altFontFamily!==void 0&&(r+=` +:root { --mermaid-alt-font-family: ${t.altFontFamily}}`),e instanceof Map){let s=t.htmlLabels??t.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{fr(l.styles)||s.forEach(u=>{r+=$xe(l.id,u,l.styles)}),fr(l.textStyles)||(r+=$xe(l.id,"tspan",(l?.textStyles||[]).map(u=>u.replace("color","fill"))))})}return r},"createCssStyles"),mit=o((t,e,r,n)=>{let i=pit(t,r),a=NV(e,i,t.themeVariables);return IC(Lxe(`${n}{${a}}`),Rxe)},"createUserStyles"),git=o((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=ta(n),n=n.replace(/
    /g,"
    "),n},"cleanUpSvgCode"),yit=o((t="",e)=>{let r=e?.viewBox?.baseVal?.height?e.viewBox.baseVal.height+"px":sit,n=Fxe(`${t}`);return``},"putIntoIFrame"),zxe=o((t,e,r,n,i)=>{let a=t.append("div");a.attr("id",r),n&&a.attr("style",n);let s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",rit);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function Gxe(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}o(Gxe,"sandboxedIframe");var vit=o((t,e,r,n)=>{t.getElementById(e)?.remove(),t.getElementById(r)?.remove(),t.getElementById(n)?.remove()},"removeExistingElements"),xit=o(async function(t,e,r){xy();let n=Vxe(e);e=n.code;let i=Qt();X.debug(i),e.length>(i?.maxTextSize??Znt)&&(e=Jnt);let a="#"+t,s="i"+t,l="#"+s,u="d"+t,h="#"+u,f=o(()=>{let L=Ge(p?l:h).node();L&&"remove"in L&&L.remove()},"removeTempElements"),d=Ge("body"),p=i.securityLevel===eit,m=i.securityLevel===tit,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),p){let k=Gxe(Ge(r),s);d=Ge(k.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Ge(r);zxe(d,t,u,`font-family: ${g}`,nit)}else{if(vit(document,t,u,s),p){let k=Gxe(Ge("body"),s);d=Ge(k.nodes()[0].contentDocument.body),d.node().style.margin=0}else d=Ge("body");zxe(d,t,u)}let y,v;try{y=await Ey.fromText(e,{title:n.title})}catch(k){if(i.suppressErrorRendering)throw f(),k;y=await Ey.fromText("error"),v=k}let x=d.select(h).node(),b=y.type,T=x.firstChild,C=T.firstChild,w=y.renderer.getClasses?.(e,y),E=mit(i,b,w,a),_=document.createElement("style");_.innerHTML=E,T.insertBefore(_,C);try{await y.renderer.draw(e,t,_b.version,y)}catch(k){throw i.suppressErrorRendering?f():i0e.draw(e,t,_b.version),k}let A=d.select(`${h} svg`),D=y.db.getAccTitle?.(),O=y.db.getAccDescription?.();Tit(b,A,D,O),d.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",iit);let R=d.select(h).node().innerHTML;if(X.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),R=git(R,p,mr(i.arrowMarkerAbsolute)),p){let k=d.select(h+" svg").node();R=yit(R,k)}else m||(R=hh.sanitize(R,{ADD_TAGS:hit,ADD_ATTR:fit,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(Oxe(),v)throw v;return f(),{diagramType:b,svg:R,bindFunctions:y.db.bindFunctions}},"render");function bit(t={}){let e=Gn({},t);e?.fontFamily&&!e.themeVariables?.fontFamily&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),kz(e),e?.theme&&e.theme in wo?e.themeVariables=wo[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=wo.default.getThemeVariables(e.themeVariables));let r=typeof e=="object"?f7(e):d7();Cy(r.logLevel),xy()}o(bit,"initialize");var Uxe=o((t,e={})=>{let{code:r}=a$(t);return Ey.fromText(r,e)},"getDiagramFromText");function Tit(t,e,r,n){Nxe(e,t),Mxe(e,r,n,e.attr("id"))}o(Tit,"addA11yInfo");var Hf=Object.freeze({render:xit,parse:dit,getDiagramFromText:Uxe,initialize:bit,getConfig:Qt,setConfig:J4,getSiteConfig:d7,updateSiteConfig:Ez,reset:o(()=>{Iy()},"reset"),globalReset:o(()=>{Iy(uh)},"globalReset"),defaultConfig:uh});Cy(Qt().logLevel);Iy(Qt());Zd();nr();var wit=o((t,e,r)=>{X.warn(t),R9(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),Hxe=o(async function(t={querySelector:".mermaid"}){try{await kit(t)}catch(e){if(R9(e)&&X.error(e.str),ah.parseError&&ah.parseError(e),!t.suppressErrors)throw X.error("Use the suppressErrors option to suppress these errors"),e}},"run"),kit=o(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){let n=Hf.getConfig();X.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");X.debug(`Found ${i.length} diagrams`),n?.startOnLoad!==void 0&&(X.debug("Start On Load: "+n?.startOnLoad),Hf.updateSiteConfig({startOnLoad:n?.startOnLoad}));let a=new Vt.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),s,l=[];for(let u of Array.from(i)){X.info("Rendering diagram: "+u.id);if(u.getAttribute("data-processed"))continue;u.setAttribute("data-processed","true");let h=`mermaid-${a.next()}`;s=u.innerHTML,s=N3(Vt.entityDecode(s)).trim().replace(//gi,"
    ");let f=Vt.detectInit(s);f&&X.debug("Detected early reinit: ",f);try{let{svg:d,bindFunctions:p}=await Xxe(h,s,u);u.innerHTML=d,t&&await t(h),p&&p(u)}catch(d){wit(d,l,ah.parseError)}}if(l.length>0)throw l[0]},"runThrowsErrors"),Wxe=o(function(t){Hf.initialize(t)},"initialize"),Eit=o(async function(t,e,r){X.warn("mermaid.init is deprecated. Please use run instead."),t&&Wxe(t);let n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await Hxe(n)},"init"),Sit=o(async(t,{lazyLoad:e=!0}={})=>{xy(),Qy(...t),e===!1&&await fxe()},"registerExternalDiagrams"),qxe=o(function(){if(ah.startOnLoad){let{startOnLoad:t}=Hf.getConfig();t&&ah.run().catch(e=>X.error("Mermaid failed to initialize",e))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",qxe,!1)}var Cit=o(function(t){ah.parseError=t},"setParseErrorHandler"),OC=[],s$=!1,Yxe=o(async()=>{if(!s$){for(s$=!0;OC.length>0;){let t=OC.shift();if(t)try{await t()}catch(e){X.error("Error executing queue",e)}}s$=!1}},"executeQueue"),Ait=o(async(t,e)=>new Promise((r,n)=>{let i=o(()=>new Promise((a,s)=>{Hf.parse(t,e).then(l=>{a(l),r(l)},l=>{X.error("Error parsing",l),ah.parseError?.(l),s(l),n(l)})}),"performCall");OC.push(i),Yxe().catch(n)}),"parse"),Xxe=o((t,e,r)=>new Promise((n,i)=>{let a=o(()=>new Promise((s,l)=>{Hf.render(t,e,r).then(u=>{s(u),n(u)},u=>{X.error("Error parsing",u),ah.parseError?.(u),l(u),i(u)})}),"performCall");OC.push(a),Yxe().catch(i)}),"render"),_it=o(()=>Object.keys(du).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),ah={startOnLoad:!0,mermaidAPI:Hf,parse:Ait,render:Xxe,init:Eit,run:Hxe,registerExternalDiagrams:Sit,registerLayoutLoaders:ZR,initialize:Wxe,parseError:void 0,contentLoaded:qxe,setParseErrorHandler:Cit,detectType:b0,registerIconPacks:R3,getRegisteredDiagramsMetadata:_it},Dit=ah;return ibe(Lit);})(); +/*! Check if previously processed */ +/*! + * Wait for document loaded before starting the execution + */ +/*! Bundled license information: + +dompurify/dist/purify.es.mjs: + (*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE *) + +js-yaml/dist/js-yaml.mjs: + (*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +cytoscape/dist/cytoscape.esm.mjs: + (*! + Embeddable Minimum Strictly-Compliant Promises/A+ 1.1.1 Thenable + Copyright (c) 2013-2014 Ralf S. Engelschall (http://engelschall.com) + Licensed under The MIT License (http://opensource.org/licenses/MIT) + *) + (*! + Event object based on jQuery events, MIT license + + https://jquery.org/license/ + https://tldrlegal.com/license/mit-license + https://github.com/jquery/jquery/blob/master/src/event.js + *) + (*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License *) + (*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License *) +*/ +globalThis["mermaid"] = globalThis.__esbuild_esm_mermaid_nm["mermaid"].default; diff --git a/docs/cdt/modules.html b/docs/cdt/modules.html new file mode 100644 index 000000000..34bb563c1 --- /dev/null +++ b/docs/cdt/modules.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: Группы + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Группы
    +
    +
    +
    Полный список групп.
    +
    [уровень детализации 12]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     API ядраC++ API ядра для функциональности смарт-контрактов, не зависящей от конкретной сети
     АктивОпределяет C++ API для работы с активами
     СистемаОбёртки над eosio_assert
     КриптографияОпределяет API вычисления и проверки хешей, для которых требуется активация соответствующего криптопротокольного свойства в цепи COOPOS
     Поток данныхОпределяет поток данных для чтения и записи в виде байтов
     Массив байт фиксированного размераМассив байт фиксированного размера с лексикографическим упорядочиванием
     Игнорирование типаУказывает datastream игнорировать этот тип, сохраняя корректный тип для генератора ABI
     ИмяТип имени COOPOS
     КонсольОпределяет C++-обёртку для вывода текстовых сообщений в лог/консоль
     СериализацияОпределяет C++ API сериализации и десериализации объектов
     СимволОпределяет C++ API для работы с символами
     ВремяКлассы для работы со временем
     Целое переменной длиныОпределяет тип целого переменной длины для более эффективной сериализации
     API контрактовC++ API контрактов для функциональности смарт-контрактов, зависящей от сети COOPOS
     ДействиеТипобезопасные C++-обёртки для чтения данных действия и отправки действия
     Контракт (Contract)Определяет тип контракта — базовый класс для каждого контракта COOPOS
     Диспетчер (Dispatcher)Определяет функции C++ для маршрутизации действия к соответствующему обработчику внутри контракта
     Многоиндексная таблица (Multi Index)
     Привилегированный APIОпределяет привилегированный C++ API COOPOS
     Ключ производителяСопоставляет производителя с его ключом подписи блока; используется в расписании производителей
     Расписание производителейЗадаёт порядок, имена аккаунтов и ключи подписи активного набора производителей
     Полномочие производителяСопоставляет производителя с гибкой структурой полномочий; используется в расписании производителей
     Группа безопасностиОпределяет C++ API группы безопасности
     Singleton-таблицаОпределяет singleton-таблицу COOPOS для использования с multiindex
     ТранзакцияТипобезопасные C++-обёртки над C API транзакций COOPOS
     СистемаОбёртки над eosio_assert
     ТипыC++ API типов для компоновки данных структур, доступных на платформе COOPOS
     Массив байт фиксированного размераМассив байт фиксированного размера с лексикографическим упорядочиванием
     ИмяТип имени COOPOS
     Целое переменной длиныОпределяет тип целого переменной длины для более эффективной сериализации
     Контракт (Contract)Определяет тип контракта — базовый класс для каждого контракта COOPOS
     Ключ производителяСопоставляет производителя с его ключом подписи блока; используется в расписании производителей
     Расписание производителейЗадаёт порядок, имена аккаунтов и ключи подписи активного набора производителей
     Полномочие производителяСопоставляет производителя с гибкой структурой полномочий; используется в расписании производителей
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/modules.js b/docs/cdt/modules.js new file mode 100644 index 000000000..93f09c65b --- /dev/null +++ b/docs/cdt/modules.js @@ -0,0 +1,6 @@ +var modules = +[ + [ "API ядра", "group__core.html", "group__core" ], + [ "API контрактов", "group__contracts.html", "group__contracts" ], + [ "Типы", "group__types.html", "group__types" ] +]; \ No newline at end of file diff --git a/docs/cdt/multi__index_8hpp.html b/docs/cdt/multi__index_8hpp.html new file mode 100644 index 000000000..e7d4f75d3 --- /dev/null +++ b/docs/cdt/multi__index_8hpp.html @@ -0,0 +1,233 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/multi_index.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    +
    #include "../../contracts/eosio/action.hpp"
    +#include "../../core/eosio/name.hpp"
    +#include "../../core/eosio/serialize.hpp"
    +#include "../../core/eosio/fixed_bytes.hpp"
    +#include <bluegrass/meta/for_each.hpp>
    +#include <vector>
    +#include <tuple>
    +#include <functional>
    +#include <utility>
    +#include <type_traits>
    +#include <iterator>
    +#include <limits>
    +#include <algorithm>
    +#include <memory>
    +
    +

    См. исходные тексты.

    + + + + + + + + + + + + + + + + + + + +

    +Классы

    struct  eosio::const_mem_fun< Class, Type, PtrToMemberFunction >
     
    struct  eosio::_multi_index_detail::secondary_key_traits< double >
     
    struct  eosio::_multi_index_detail::secondary_key_traits< long double >
     
    struct  eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >
     
    struct  eosio::indexed_by< IndexName, Extractor >
     
    class  eosio::multi_index< TableName, T, Indices >
     Определяет многоиндексную таблицу COOPOS (Multi Index Table) Подробнее...
     
    struct  eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator
     
    struct  eosio::multi_index< TableName, T, Indices >::const_iterator
     
    + + + + + + + +

    +Пространства имен

    namespace  eosio
     
    namespace  eosio::internal_use_do_not_use
     
    namespace  eosio::_multi_index_detail
     
    + + + + + + + +

    +Макросы

    #define WRAP_SECONDARY_SIMPLE_TYPE(IDX, TYPE)
     
    #define WRAP_SECONDARY_ARRAY_TYPE(IDX, TYPE)
     
    #define MAKE_TRAITS_FOR_ARITHMETIC_SECONDARY_KEY(TYPE)
     
    + + + + + + + + +

    +Функции

     eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
     
    template<typename PK >
    uint64_t eosio::_multi_index_detail::to_raw_key (PK pk)
     
    uint64_t eosio::_multi_index_detail::to_raw_key (eosio::name pk)
     
    + + + +

    +Переменные

     eosio::internal_use_do_not_use::uint64_t
     
    +

    Подробное описание

    +
    + +

    См. определение в файле multi_index.hpp

    +
    +
    + + + + + + diff --git a/docs/cdt/multi__index_8hpp.js b/docs/cdt/multi__index_8hpp.js new file mode 100644 index 000000000..fcffe3f6b --- /dev/null +++ b/docs/cdt/multi__index_8hpp.js @@ -0,0 +1,16 @@ +var multi__index_8hpp = +[ + [ "eosio::const_mem_fun< Class, Type, PtrToMemberFunction >", "structeosio_1_1const__mem__fun.html", "structeosio_1_1const__mem__fun" ], + [ "eosio::_multi_index_detail::secondary_key_traits< double >", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4.html", null ], + [ "eosio::_multi_index_detail::secondary_key_traits< long double >", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4.html", null ], + [ "eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >", "structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4.html", null ], + [ "eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator", "structeosio_1_1multi__index_1_1index_1_1const__iterator.html", "structeosio_1_1multi__index_1_1index_1_1const__iterator" ], + [ "eosio::multi_index< TableName, T, Indices >::const_iterator", "structeosio_1_1multi__index_1_1const__iterator.html", "structeosio_1_1multi__index_1_1const__iterator" ], + [ "MAKE_TRAITS_FOR_ARITHMETIC_SECONDARY_KEY", "multi__index_8hpp_aab2b11a88b267a1ad4009fed8dc5e778.html#aab2b11a88b267a1ad4009fed8dc5e778", null ], + [ "WRAP_SECONDARY_ARRAY_TYPE", "multi__index_8hpp_a522b8927626c841da1e6cc3a292d5913.html#a522b8927626c841da1e6cc3a292d5913", null ], + [ "WRAP_SECONDARY_SIMPLE_TYPE", "multi__index_8hpp_a44e11d95000af02139eda2f0dd62f965.html#a44e11d95000af02139eda2f0dd62f965", null ], + [ "__attribute__", "multi__index_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387", null ], + [ "to_raw_key", "multi__index_8hpp.html#a135eacc8542cc1a376045da059e67369", null ], + [ "to_raw_key", "multi__index_8hpp.html#ab86eee8c3f788dfbc306661042361f7a", null ], + [ "uint64_t", "multi__index_8hpp.html#a02d21b61eb2a51a93d9af3e0a2a0989a", null ] +]; \ No newline at end of file diff --git a/docs/cdt/multi__index_8hpp_a44e11d95000af02139eda2f0dd62f965.html b/docs/cdt/multi__index_8hpp_a44e11d95000af02139eda2f0dd62f965.html new file mode 100644 index 000000000..0b0aba0b5 --- /dev/null +++ b/docs/cdt/multi__index_8hpp_a44e11d95000af02139eda2f0dd62f965.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: WRAP_SECONDARY_SIMPLE_TYPE + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ WRAP_SECONDARY_SIMPLE_TYPE

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define WRAP_SECONDARY_SIMPLE_TYPE( IDX,
     TYPE 
    )
    +
    +Макроопределение:
    template<>\
    +
    struct secondary_index_db_functions<TYPE> {\
    +
    static int32_t db_idx_next( int32_t iterator, uint64_t* primary ) { return internal_use_do_not_use::db_##IDX##_next( iterator, primary ); } \
    +
    static int32_t db_idx_previous( int32_t iterator, uint64_t* primary ) { return internal_use_do_not_use::db_##IDX##_previous( iterator, primary ); } \
    +
    static void db_idx_remove( int32_t iterator ) { internal_use_do_not_use::db_##IDX##_remove( iterator ); } \
    +
    static int32_t db_idx_end( uint64_t code, uint64_t scope, uint64_t table ) { return internal_use_do_not_use::db_##IDX##_end( code, scope, table ); } \
    +
    static int32_t db_idx_store( uint64_t scope, uint64_t table, uint64_t payer, uint64_t id, const TYPE& secondary ) {\
    +
    return internal_use_do_not_use::db_##IDX##_store( scope, table, payer, id, &secondary ); \
    +
    }\
    +
    static void db_idx_update( int32_t iterator, uint64_t payer, const TYPE& secondary ) {\
    +
    internal_use_do_not_use::db_##IDX##_update( iterator, payer, &secondary ); \
    +
    }\
    +
    static int32_t db_idx_find_primary( uint64_t code, uint64_t scope, uint64_t table, uint64_t primary, TYPE& secondary ) {\
    +
    return internal_use_do_not_use::db_##IDX##_find_primary( code, scope, table, &secondary, primary ); \
    +
    }\
    +
    static int32_t db_idx_find_secondary( uint64_t code, uint64_t scope, uint64_t table, const TYPE& secondary, uint64_t& primary ) {\
    +
    return internal_use_do_not_use::db_##IDX##_find_secondary( code, scope, table, &secondary, &primary ); \
    +
    }\
    +
    static int32_t db_idx_lowerbound( uint64_t code, uint64_t scope, uint64_t table, TYPE& secondary, uint64_t& primary ) {\
    +
    return internal_use_do_not_use::db_##IDX##_lowerbound( code, scope, table, &secondary, &primary ); \
    +
    }\
    +
    static int32_t db_idx_upperbound( uint64_t code, uint64_t scope, uint64_t table, TYPE& secondary, uint64_t& primary ) {\
    +
    return internal_use_do_not_use::db_##IDX##_upperbound( code, scope, table, &secondary, &primary ); \
    +
    }\
    +
    };
    +
    +

    См. определение в файле multi_index.hpp строка 244

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/multi__index_8hpp_a522b8927626c841da1e6cc3a292d5913.html b/docs/cdt/multi__index_8hpp_a522b8927626c841da1e6cc3a292d5913.html new file mode 100644 index 000000000..ac19edc7d --- /dev/null +++ b/docs/cdt/multi__index_8hpp_a522b8927626c841da1e6cc3a292d5913.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: WRAP_SECONDARY_ARRAY_TYPE + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ WRAP_SECONDARY_ARRAY_TYPE

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define WRAP_SECONDARY_ARRAY_TYPE( IDX,
     TYPE 
    )
    +
    +Макроопределение:
    template<>\
    +
    struct secondary_index_db_functions<TYPE> {\
    +
    static int32_t db_idx_next( int32_t iterator, uint64_t* primary ) { return internal_use_do_not_use::db_##IDX##_next( iterator, primary ); } \
    +
    static int32_t db_idx_previous( int32_t iterator, uint64_t* primary ) { return internal_use_do_not_use::db_##IDX##_previous( iterator, primary ); } \
    +
    static void db_idx_remove( int32_t iterator ) { internal_use_do_not_use::db_##IDX##_remove( iterator ); } \
    +
    static int32_t db_idx_end( uint64_t code, uint64_t scope, uint64_t table ) { return internal_use_do_not_use::db_##IDX##_end( code, scope, table ); } \
    +
    static int32_t db_idx_store( uint64_t scope, uint64_t table, uint64_t payer, uint64_t id, const TYPE& secondary ) {\
    +
    return internal_use_do_not_use::db_##IDX##_store( scope, table, payer, id, secondary.data(), TYPE::num_words() ); \
    +
    }\
    +
    static void db_idx_update( int32_t iterator, uint64_t payer, const TYPE& secondary ) {\
    +
    internal_use_do_not_use::db_##IDX##_update( iterator, payer, secondary.data(), TYPE::num_words() ); \
    +
    }\
    +
    static int32_t db_idx_find_primary( uint64_t code, uint64_t scope, uint64_t table, uint64_t primary, TYPE& secondary ) {\
    +
    return internal_use_do_not_use::db_##IDX##_find_primary( code, scope, table, secondary.data(), TYPE::num_words(), primary ); \
    +
    }\
    +
    static int32_t db_idx_find_secondary( uint64_t code, uint64_t scope, uint64_t table, const TYPE& secondary, uint64_t& primary ) {\
    +
    return internal_use_do_not_use::db_##IDX##_find_secondary( code, scope, table, secondary.data(), TYPE::num_words(), &primary ); \
    +
    }\
    +
    static int32_t db_idx_lowerbound( uint64_t code, uint64_t scope, uint64_t table, TYPE& secondary, uint64_t& primary ) {\
    +
    return internal_use_do_not_use::db_##IDX##_lowerbound( code, scope, table, secondary.data(), TYPE::num_words(), &primary ); \
    +
    }\
    +
    static int32_t db_idx_upperbound( uint64_t code, uint64_t scope, uint64_t table, TYPE& secondary, uint64_t& primary ) {\
    +
    return internal_use_do_not_use::db_##IDX##_upperbound( code, scope, table, secondary.data(), TYPE::num_words(), &primary ); \
    +
    }\
    +
    };
    +
    +

    См. определение в файле multi_index.hpp строка 271

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/multi__index_8hpp_aab2b11a88b267a1ad4009fed8dc5e778.html b/docs/cdt/multi__index_8hpp_aab2b11a88b267a1ad4009fed8dc5e778.html new file mode 100644 index 000000000..1a5893db0 --- /dev/null +++ b/docs/cdt/multi__index_8hpp_aab2b11a88b267a1ad4009fed8dc5e778.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: MAKE_TRAITS_FOR_ARITHMETIC_SECONDARY_KEY + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ MAKE_TRAITS_FOR_ARITHMETIC_SECONDARY_KEY

    + +
    +
    + + + + + + + + +
    #define MAKE_TRAITS_FOR_ARITHMETIC_SECONDARY_KEY( TYPE)
    +
    +Макроопределение:
    template<>\
    +
    struct secondary_key_traits<TYPE> {\
    +
    static_assert( std::numeric_limits<TYPE>::is_specialized, "TYPE does not have specialized numeric_limits" );\
    +
    static constexpr TYPE true_lowest() { return std::numeric_limits<TYPE>::lowest(); }\
    +
    };
    +
    +

    См. определение в файле multi_index.hpp строка 298

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/multi__index_8hpp_source.html b/docs/cdt/multi__index_8hpp_source.html new file mode 100644 index 000000000..208cc72fb --- /dev/null +++ b/docs/cdt/multi__index_8hpp_source.html @@ -0,0 +1,1223 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/multi_index.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    multi_index.hpp
    +
    +
    +См. документацию.
    1
    +
    5#pragma once
    +
    6
    +
    7#include "../../contracts/eosio/action.hpp"
    +
    8#include "../../core/eosio/name.hpp"
    +
    9#include "../../core/eosio/serialize.hpp"
    +
    10#include "../../core/eosio/fixed_bytes.hpp"
    +
    11
    +
    12#include <bluegrass/meta/for_each.hpp>
    +
    13
    +
    14#include <vector>
    +
    15#include <tuple>
    +
    16#include <functional>
    +
    17#include <utility>
    +
    18#include <type_traits>
    +
    19#include <iterator>
    +
    20#include <limits>
    +
    21#include <algorithm>
    +
    22#include <memory>
    +
    23
    +
    29namespace eosio {
    +
    30 namespace internal_use_do_not_use {
    +
    31 extern "C" {
    +
    32 __attribute__((eosio_wasm_import))
    +
    33 int32_t db_store_i64(uint64_t, uint64_t, uint64_t, uint64_t, const void*, uint32_t);
    +
    34
    +
    35 __attribute__((eosio_wasm_import))
    +
    36 void db_update_i64(int32_t, uint64_t, const void*, uint32_t);
    +
    37
    +
    38 __attribute__((eosio_wasm_import))
    +
    39 void db_remove_i64(int32_t);
    +
    40
    +
    41 __attribute__((eosio_wasm_import))
    +
    42 int32_t db_get_i64(int32_t, const void*, uint32_t);
    +
    43
    +
    44 __attribute__((eosio_wasm_import))
    +
    45 int32_t db_next_i64(int32_t, uint64_t*);
    +
    46
    +
    47 __attribute__((eosio_wasm_import))
    +
    48 int32_t db_previous_i64(int32_t, uint64_t*);
    +
    49
    +
    50 __attribute__((eosio_wasm_import))
    +
    51 int32_t db_find_i64(uint64_t, uint64_t, uint64_t, uint64_t);
    +
    52
    +
    53 __attribute__((eosio_wasm_import))
    +
    54 int32_t db_lowerbound_i64(uint64_t, uint64_t, uint64_t, uint64_t);
    +
    55
    +
    56 __attribute__((eosio_wasm_import))
    +
    57 int32_t db_upperbound_i64(uint64_t, uint64_t, uint64_t, uint64_t);
    +
    58
    +
    59 __attribute__((eosio_wasm_import))
    +
    60 int32_t db_end_i64(uint64_t, uint64_t, uint64_t);
    +
    61
    +
    62 __attribute__((eosio_wasm_import))
    +
    63 int32_t db_idx64_store(uint64_t, uint64_t, uint64_t, uint64_t, const uint64_t*);
    +
    64
    +
    65 __attribute__((eosio_wasm_import))
    +
    66 void db_idx64_update(int32_t, uint64_t, const uint64_t*);
    +
    67
    +
    68 __attribute__((eosio_wasm_import))
    +
    69 void db_idx64_remove(int32_t);
    +
    70
    +
    71 __attribute__((eosio_wasm_import))
    +
    72 int32_t db_idx64_next(int32_t, uint64_t*);
    +
    73
    +
    74 __attribute__((eosio_wasm_import))
    +
    75 int32_t db_idx64_previous(int32_t, uint64_t*);
    +
    76
    +
    77 __attribute__((eosio_wasm_import))
    +
    78 int32_t db_idx64_find_primary(uint64_t, uint64_t, uint64_t, uint64_t*, uint64_t);
    +
    79
    +
    80 __attribute__((eosio_wasm_import))
    +
    81 int32_t db_idx64_find_secondary(uint64_t, uint64_t, uint64_t, const uint64_t*, uint64_t*);
    +
    82
    +
    83 __attribute__((eosio_wasm_import))
    +
    84 int32_t db_idx64_lowerbound(uint64_t, uint64_t, uint64_t, uint64_t*, uint64_t*);
    +
    85
    +
    86 __attribute__((eosio_wasm_import))
    +
    87 int32_t db_idx64_upperbound(uint64_t, uint64_t, uint64_t, uint64_t*, uint64_t*);
    +
    88
    +
    89 __attribute__((eosio_wasm_import))
    +
    90 int32_t db_idx64_end(uint64_t, uint64_t, uint64_t);
    +
    91
    +
    92 __attribute__((eosio_wasm_import))
    +
    93 int32_t db_idx128_store(uint64_t, uint64_t, uint64_t, uint64_t, const uint128_t*);
    +
    94
    +
    95 __attribute__((eosio_wasm_import))
    +
    96 void db_idx128_update(int32_t, uint64_t, const uint128_t*);
    +
    97
    +
    98 __attribute__((eosio_wasm_import))
    +
    99 void db_idx128_remove(int32_t);
    +
    100
    +
    101 __attribute__((eosio_wasm_import))
    +
    102 int32_t db_idx128_next(int32_t, uint64_t*);
    +
    103
    +
    104 __attribute__((eosio_wasm_import))
    +
    105 int32_t db_idx128_previous(int32_t, uint64_t*);
    +
    106
    +
    107 __attribute__((eosio_wasm_import))
    +
    108 int32_t db_idx128_find_primary(uint64_t, uint64_t, uint64_t, uint128_t*, uint64_t);
    +
    109
    +
    110 __attribute__((eosio_wasm_import))
    +
    111 int32_t db_idx128_find_secondary(uint64_t, uint64_t, uint64_t, const uint128_t*, uint64_t*);
    +
    112
    +
    113 __attribute__((eosio_wasm_import))
    +
    114 int32_t db_idx128_lowerbound(uint64_t, uint64_t, uint64_t, uint128_t*, uint64_t*);
    +
    115
    +
    116 __attribute__((eosio_wasm_import))
    +
    117 int32_t db_idx128_upperbound(uint64_t, uint64_t, uint64_t, uint128_t*, uint64_t*);
    +
    118
    +
    119 __attribute__((eosio_wasm_import))
    +
    120 int32_t db_idx128_end(uint64_t, uint64_t, uint64_t);
    +
    121
    +
    122 __attribute__((eosio_wasm_import))
    +
    123 int32_t db_idx256_store(uint64_t, uint64_t, uint64_t, uint64_t, const uint128_t*, uint32_t);
    +
    124
    +
    125 __attribute__((eosio_wasm_import))
    +
    126 void db_idx256_update(int32_t, uint64_t, const uint128_t*, uint32_t);
    +
    127
    +
    128 __attribute__((eosio_wasm_import))
    +
    129 void db_idx256_remove(int32_t);
    +
    130
    +
    131 __attribute__((eosio_wasm_import))
    +
    132 int32_t db_idx256_next(int32_t, uint64_t*);
    +
    133
    +
    134 __attribute__((eosio_wasm_import))
    +
    135 int32_t db_idx256_previous(int32_t, uint64_t*);
    +
    136
    +
    137 __attribute__((eosio_wasm_import))
    +
    138 int32_t db_idx256_find_primary(uint64_t, uint64_t, uint64_t, uint128_t*, uint32_t, uint64_t);
    +
    139
    +
    140 __attribute__((eosio_wasm_import))
    +
    141 int32_t db_idx256_find_secondary(uint64_t, uint64_t, uint64_t, const uint128_t*, uint32_t, uint64_t*);
    +
    142
    +
    143 __attribute__((eosio_wasm_import))
    +
    144 int32_t db_idx256_lowerbound(uint64_t, uint64_t, uint64_t, uint128_t*, uint32_t, uint64_t*);
    +
    145
    +
    146 __attribute__((eosio_wasm_import))
    +
    147 int32_t db_idx256_upperbound(uint64_t, uint64_t, uint64_t, uint128_t*, uint32_t, uint64_t*);
    +
    148
    +
    149 __attribute__((eosio_wasm_import))
    +
    150 int32_t db_idx256_end(uint64_t, uint64_t, uint64_t);
    +
    151
    +
    152 __attribute__((eosio_wasm_import))
    +
    153 int32_t db_idx_double_store(uint64_t, uint64_t, uint64_t, uint64_t, const double*);
    +
    154
    +
    155 __attribute__((eosio_wasm_import))
    +
    156 void db_idx_double_update(int32_t, uint64_t, const double*);
    +
    157
    +
    158 __attribute__((eosio_wasm_import))
    +
    159 void db_idx_double_remove(int32_t);
    +
    160
    +
    161 __attribute__((eosio_wasm_import))
    +
    162 int32_t db_idx_double_next(int32_t, uint64_t*);
    +
    163
    +
    164 __attribute__((eosio_wasm_import))
    +
    165 int32_t db_idx_double_previous(int32_t, uint64_t*);
    +
    166
    +
    167 __attribute__((eosio_wasm_import))
    +
    168 int32_t db_idx_double_find_primary(uint64_t, uint64_t, uint64_t, double*, uint64_t);
    +
    169
    +
    170 __attribute__((eosio_wasm_import))
    +
    171 int32_t db_idx_double_find_secondary(uint64_t, uint64_t, uint64_t, const double*, uint64_t*);
    +
    172
    +
    173 __attribute__((eosio_wasm_import))
    +
    174 int32_t db_idx_double_lowerbound(uint64_t, uint64_t, uint64_t, double*, uint64_t*);
    +
    175
    +
    176 __attribute__((eosio_wasm_import))
    +
    177 int32_t db_idx_double_upperbound(uint64_t, uint64_t, uint64_t, double*, uint64_t*);
    +
    178
    +
    179 __attribute__((eosio_wasm_import))
    +
    180 int32_t db_idx_double_end(uint64_t, uint64_t, uint64_t);
    +
    181
    +
    182 __attribute__((eosio_wasm_import))
    +
    183 int32_t db_idx_long_double_store(uint64_t, uint64_t, uint64_t, uint64_t, const long double*);
    +
    184
    +
    185 __attribute__((eosio_wasm_import))
    +
    186 void db_idx_long_double_update(int32_t, uint64_t, const long double*);
    +
    187
    +
    188 __attribute__((eosio_wasm_import))
    +
    189 void db_idx_long_double_remove(int32_t);
    +
    190
    +
    191 __attribute__((eosio_wasm_import))
    +
    192 int32_t db_idx_long_double_next(int32_t, uint64_t*);
    +
    193
    +
    194 __attribute__((eosio_wasm_import))
    +
    195 int32_t db_idx_long_double_previous(int32_t, uint64_t*);
    +
    196
    +
    197 __attribute__((eosio_wasm_import))
    +
    198 int32_t db_idx_long_double_find_primary(uint64_t, uint64_t, uint64_t, long double*, uint64_t);
    +
    199
    +
    200 __attribute__((eosio_wasm_import))
    +
    201 int32_t db_idx_long_double_find_secondary(uint64_t, uint64_t, uint64_t, const long double*, uint64_t*);
    +
    202
    +
    203 __attribute__((eosio_wasm_import))
    +
    204 int32_t db_idx_long_double_lowerbound(uint64_t, uint64_t, uint64_t, long double*, uint64_t*);
    +
    205
    +
    206 __attribute__((eosio_wasm_import))
    +
    207 int32_t db_idx_long_double_upperbound(uint64_t, uint64_t, uint64_t, long double*, uint64_t*);
    +
    208
    +
    209 __attribute__((eosio_wasm_import))
    +
    210 int32_t db_idx_long_double_end(uint64_t, uint64_t, uint64_t);
    +
    211 }
    +
    212 };
    +
    213
    +
    214constexpr static inline name same_payer{};
    +
    215
    +
    216template<class Class,typename Type,Type (Class::*PtrToMemberFunction)()const>
    + +
    218{
    +
    219 typedef typename std::remove_reference<Type>::type result_type;
    +
    220
    +
    221 template<typename ChainedPtr>
    +
    222
    +
    223 auto operator()(const ChainedPtr& x)const -> std::enable_if_t<!std::is_convertible<const ChainedPtr&, const Class&>::value, Type>
    +
    224 {
    +
    225 return operator()(*x);
    +
    226 }
    +
    227
    +
    228 Type operator()(const Class& x)const
    +
    229 {
    +
    230 return (x.*PtrToMemberFunction)();
    +
    231 }
    +
    232
    +
    233 Type operator()(const std::reference_wrapper<const Class>& x)const
    +
    234 {
    +
    235 return operator()(x.get());
    +
    236 }
    +
    237
    +
    238 Type operator()(const std::reference_wrapper<Class>& x)const
    +
    239 {
    +
    240 return operator()(x.get());
    +
    241 }
    +
    242};
    +
    243
    +
    244#define WRAP_SECONDARY_SIMPLE_TYPE(IDX, TYPE)\
    +
    245template<>\
    +
    246struct secondary_index_db_functions<TYPE> {\
    +
    247 static int32_t db_idx_next( int32_t iterator, uint64_t* primary ) { return internal_use_do_not_use::db_##IDX##_next( iterator, primary ); } \
    +
    248 static int32_t db_idx_previous( int32_t iterator, uint64_t* primary ) { return internal_use_do_not_use::db_##IDX##_previous( iterator, primary ); } \
    +
    249 static void db_idx_remove( int32_t iterator ) { internal_use_do_not_use::db_##IDX##_remove( iterator ); } \
    +
    250 static int32_t db_idx_end( uint64_t code, uint64_t scope, uint64_t table ) { return internal_use_do_not_use::db_##IDX##_end( code, scope, table ); } \
    +
    251 static int32_t db_idx_store( uint64_t scope, uint64_t table, uint64_t payer, uint64_t id, const TYPE& secondary ) {\
    +
    252 return internal_use_do_not_use::db_##IDX##_store( scope, table, payer, id, &secondary ); \
    +
    253 }\
    +
    254 static void db_idx_update( int32_t iterator, uint64_t payer, const TYPE& secondary ) {\
    +
    255 internal_use_do_not_use::db_##IDX##_update( iterator, payer, &secondary ); \
    +
    256 }\
    +
    257 static int32_t db_idx_find_primary( uint64_t code, uint64_t scope, uint64_t table, uint64_t primary, TYPE& secondary ) {\
    +
    258 return internal_use_do_not_use::db_##IDX##_find_primary( code, scope, table, &secondary, primary ); \
    +
    259 }\
    +
    260 static int32_t db_idx_find_secondary( uint64_t code, uint64_t scope, uint64_t table, const TYPE& secondary, uint64_t& primary ) {\
    +
    261 return internal_use_do_not_use::db_##IDX##_find_secondary( code, scope, table, &secondary, &primary ); \
    +
    262 }\
    +
    263 static int32_t db_idx_lowerbound( uint64_t code, uint64_t scope, uint64_t table, TYPE& secondary, uint64_t& primary ) {\
    +
    264 return internal_use_do_not_use::db_##IDX##_lowerbound( code, scope, table, &secondary, &primary ); \
    +
    265 }\
    +
    266 static int32_t db_idx_upperbound( uint64_t code, uint64_t scope, uint64_t table, TYPE& secondary, uint64_t& primary ) {\
    +
    267 return internal_use_do_not_use::db_##IDX##_upperbound( code, scope, table, &secondary, &primary ); \
    +
    268 }\
    +
    269};
    +
    270
    +
    271#define WRAP_SECONDARY_ARRAY_TYPE(IDX, TYPE)\
    +
    272template<>\
    +
    273struct secondary_index_db_functions<TYPE> {\
    +
    274 static int32_t db_idx_next( int32_t iterator, uint64_t* primary ) { return internal_use_do_not_use::db_##IDX##_next( iterator, primary ); } \
    +
    275 static int32_t db_idx_previous( int32_t iterator, uint64_t* primary ) { return internal_use_do_not_use::db_##IDX##_previous( iterator, primary ); } \
    +
    276 static void db_idx_remove( int32_t iterator ) { internal_use_do_not_use::db_##IDX##_remove( iterator ); } \
    +
    277 static int32_t db_idx_end( uint64_t code, uint64_t scope, uint64_t table ) { return internal_use_do_not_use::db_##IDX##_end( code, scope, table ); } \
    +
    278 static int32_t db_idx_store( uint64_t scope, uint64_t table, uint64_t payer, uint64_t id, const TYPE& secondary ) {\
    +
    279 return internal_use_do_not_use::db_##IDX##_store( scope, table, payer, id, secondary.data(), TYPE::num_words() ); \
    +
    280 }\
    +
    281 static void db_idx_update( int32_t iterator, uint64_t payer, const TYPE& secondary ) {\
    +
    282 internal_use_do_not_use::db_##IDX##_update( iterator, payer, secondary.data(), TYPE::num_words() ); \
    +
    283 }\
    +
    284 static int32_t db_idx_find_primary( uint64_t code, uint64_t scope, uint64_t table, uint64_t primary, TYPE& secondary ) {\
    +
    285 return internal_use_do_not_use::db_##IDX##_find_primary( code, scope, table, secondary.data(), TYPE::num_words(), primary ); \
    +
    286 }\
    +
    287 static int32_t db_idx_find_secondary( uint64_t code, uint64_t scope, uint64_t table, const TYPE& secondary, uint64_t& primary ) {\
    +
    288 return internal_use_do_not_use::db_##IDX##_find_secondary( code, scope, table, secondary.data(), TYPE::num_words(), &primary ); \
    +
    289 }\
    +
    290 static int32_t db_idx_lowerbound( uint64_t code, uint64_t scope, uint64_t table, TYPE& secondary, uint64_t& primary ) {\
    +
    291 return internal_use_do_not_use::db_##IDX##_lowerbound( code, scope, table, secondary.data(), TYPE::num_words(), &primary ); \
    +
    292 }\
    +
    293 static int32_t db_idx_upperbound( uint64_t code, uint64_t scope, uint64_t table, TYPE& secondary, uint64_t& primary ) {\
    +
    294 return internal_use_do_not_use::db_##IDX##_upperbound( code, scope, table, secondary.data(), TYPE::num_words(), &primary ); \
    +
    295 }\
    +
    296};
    +
    297
    +
    298#define MAKE_TRAITS_FOR_ARITHMETIC_SECONDARY_KEY(TYPE)\
    +
    299template<>\
    +
    300struct secondary_key_traits<TYPE> {\
    +
    301 static_assert( std::numeric_limits<TYPE>::is_specialized, "TYPE does not have specialized numeric_limits" );\
    +
    302 static constexpr TYPE true_lowest() { return std::numeric_limits<TYPE>::lowest(); }\
    +
    303};
    +
    304
    +
    305namespace _multi_index_detail {
    +
    306
    +
    307 template<typename T>
    + +
    309
    +
    310 template<typename T>
    + +
    312
    + + +
    315
    +
    316 WRAP_SECONDARY_SIMPLE_TYPE(idx128, uint128_t)
    + +
    318
    +
    319 WRAP_SECONDARY_SIMPLE_TYPE(idx_double, double)
    +
    320 template<>
    +
    321 struct secondary_key_traits<double> {
    +
    322 static constexpr double true_lowest() { return -std::numeric_limits<double>::infinity(); }
    +
    323 };
    +
    324
    +
    325 WRAP_SECONDARY_SIMPLE_TYPE(idx_long_double, long double)
    +
    326 template<>
    +
    327 struct secondary_key_traits<long double> {
    +
    328 static constexpr long double true_lowest() { return -std::numeric_limits<long double>::infinity(); }
    +
    329 };
    +
    330
    + +
    332 template<>
    + + +
    335 };
    +
    336
    +
    337 template<typename PK>
    +
    338 inline uint64_t to_raw_key(PK pk) { return pk; }
    +
    339 inline uint64_t to_raw_key(eosio::name pk) { return pk.value; }
    +
    340
    +
    341}
    +
    342
    +
    375template<name::raw IndexName, typename Extractor>
    + +
    377 enum constants { index_name = static_cast<uint64_t>(IndexName) };
    +
    378 typedef Extractor secondary_extractor_type;
    +
    379};
    +
    380
    +
    437template<name::raw TableName, typename T, typename... Indices>
    + +
    439{
    +
    440 private:
    +
    441
    +
    442 static_assert( std::is_same_v<decltype(_multi_index_detail::to_raw_key(std::declval<T>().primary_key())), uint64_t>,
    +
    443 "Primary key must be uint64_t or name" );
    +
    444 static_assert( sizeof...(Indices) <= 16, "multi_index only supports a maximum of 16 secondary indices" );
    +
    445
    +
    446 constexpr static bool validate_table_name( name n ) {
    +
    447 // Limit table names to 12 characters so that the last character (4 bits) can be used to distinguish between the secondary indices.
    +
    448 return n.length() < 13; //(n & 0x000000000000000FULL) == 0;
    +
    449 }
    +
    450
    +
    451 constexpr static size_t max_stack_buffer_size = 512;
    +
    452
    +
    453 static_assert( validate_table_name( name(TableName) ), "multi_index does not support table names with a length greater than 12");
    +
    454
    +
    455 name _code;
    +
    456 uint64_t _scope;
    +
    457
    +
    458 mutable uint64_t _next_primary_key;
    +
    459
    +
    460 enum next_primary_key_tags : uint64_t {
    +
    461 no_available_primary_key = static_cast<uint64_t>(-2), // Must be the smallest uint64_t value compared to all other tags
    +
    462 unset_next_primary_key = static_cast<uint64_t>(-1)
    +
    463 };
    +
    464
    +
    465 struct item : public T
    +
    466 {
    +
    467 template<typename Constructor>
    +
    468 item( const multi_index* idx, Constructor&& c )
    +
    469 :__idx(idx){
    +
    470 c(*this);
    +
    471 }
    +
    472
    +
    473 const multi_index* __idx;
    +
    474 int32_t __primary_itr;
    +
    475 int32_t __iters[sizeof...(Indices)+(sizeof...(Indices)==0)];
    +
    476 };
    +
    477
    +
    478 struct item_ptr
    +
    479 {
    +
    480 item_ptr(std::unique_ptr<item>&& i, uint64_t pk, int32_t pitr)
    +
    481 : _item(std::move(i)), _primary_key(pk), _primary_itr(pitr) {}
    +
    482
    +
    483 std::unique_ptr<item> _item;
    +
    484 uint64_t _primary_key;
    +
    485 int32_t _primary_itr;
    +
    486 };
    +
    487
    +
    488 mutable std::vector<item_ptr> _items_vector;
    +
    489
    +
    490 template<name::raw IndexName, typename Extractor, uint64_t Number, bool IsConst>
    +
    491 struct index {
    +
    492 public:
    +
    493 typedef Extractor secondary_extractor_type;
    +
    494 typedef typename std::decay<decltype( Extractor()(nullptr) )>::type secondary_key_type;
    +
    495
    +
    496 constexpr static bool validate_index_name( eosio::name n ) {
    +
    497 return n.value != 0 && n != eosio::name("primary"); // Primary is a reserve index name.
    +
    498 }
    +
    499
    +
    500 static_assert( validate_index_name( name(IndexName) ), "invalid index name used in multi_index" );
    +
    501
    +
    502 enum constants {
    +
    503 table_name = static_cast<uint64_t>(TableName),
    +
    504 index_name = static_cast<uint64_t>(IndexName),
    +
    505 index_number = Number,
    +
    506 index_table_name = (static_cast<uint64_t>(TableName) & 0xFFFFFFFFFFFFFFF0ULL)
    +
    507 | (Number & 0x000000000000000FULL) // Assuming no more than 16 secondary indices are allowed
    +
    508 };
    +
    509
    +
    510 constexpr static uint64_t name() { return index_table_name; }
    +
    511 constexpr static uint64_t number() { return Number; }
    +
    512
    +
    513 struct const_iterator : public std::iterator<std::bidirectional_iterator_tag, const T> {
    +
    514 public:
    +
    515 friend bool operator == ( const const_iterator& a, const const_iterator& b ) {
    +
    516 return a._item == b._item;
    +
    517 }
    +
    518 friend bool operator != ( const const_iterator& a, const const_iterator& b ) {
    +
    519 return a._item != b._item;
    +
    520 }
    +
    521
    +
    522 const T& operator*()const { return *static_cast<const T*>(_item); }
    +
    523 const T* operator->()const { return static_cast<const T*>(_item); }
    +
    524
    + +
    526 const_iterator result(*this);
    +
    527 ++(*this);
    +
    528 return result;
    +
    529 }
    +
    530
    + +
    532 const_iterator result(*this);
    +
    533 --(*this);
    +
    534 return result;
    +
    535 }
    +
    536
    + +
    538 using namespace _multi_index_detail;
    +
    539
    +
    540 eosio::check( _item != nullptr, "cannot increment end iterator" );
    +
    541
    +
    542 if( _item->__iters[Number] == -1 ) {
    +
    543 secondary_key_type temp_secondary_key;
    +
    544 auto idxitr = secondary_index_db_functions<secondary_key_type>::db_idx_find_primary(_idx->get_code().value, _idx->get_scope(), _idx->name(), _item->primary_key(), temp_secondary_key);
    +
    545 auto& mi = const_cast<item&>( *_item );
    +
    546 mi.__iters[Number] = idxitr;
    +
    547 }
    +
    548
    +
    549 uint64_t next_pk = 0;
    +
    550 auto next_itr = secondary_index_db_functions<secondary_key_type>::db_idx_next( _item->__iters[Number], &next_pk );
    +
    551 if( next_itr < 0 ) {
    +
    552 _item = nullptr;
    +
    553 return *this;
    +
    554 }
    +
    555
    +
    556 const T& obj = *_idx->_multidx->find( next_pk );
    +
    557 auto& mi = const_cast<item&>( static_cast<const item&>(obj) );
    +
    558 mi.__iters[Number] = next_itr;
    +
    559 _item = &mi;
    +
    560
    +
    561 return *this;
    +
    562 }
    +
    563
    + +
    565 using namespace _multi_index_detail;
    +
    566
    +
    567 uint64_t prev_pk = 0;
    +
    568 int32_t prev_itr = -1;
    +
    569
    +
    570 if( !_item ) {
    +
    571 auto ei = secondary_index_db_functions<secondary_key_type>::db_idx_end(_idx->get_code().value, _idx->get_scope(), _idx->name());
    +
    572 eosio::check( ei != -1, "cannot decrement end iterator when the index is empty" );
    +
    573 prev_itr = secondary_index_db_functions<secondary_key_type>::db_idx_previous( ei , &prev_pk );
    +
    574 eosio::check( prev_itr >= 0, "cannot decrement end iterator when the index is empty" );
    +
    575 } else {
    +
    576 if( _item->__iters[Number] == -1 ) {
    +
    577 secondary_key_type temp_secondary_key;
    +
    578 auto idxitr = secondary_index_db_functions<secondary_key_type>::db_idx_find_primary(_idx->get_code().value, _idx->get_scope(), _idx->name(), _item->primary_key(), temp_secondary_key);
    +
    579 auto& mi = const_cast<item&>( *_item );
    +
    580 mi.__iters[Number] = idxitr;
    +
    581 }
    +
    582 prev_itr = secondary_index_db_functions<secondary_key_type>::db_idx_previous( _item->__iters[Number], &prev_pk );
    +
    583 eosio::check( prev_itr >= 0, "cannot decrement iterator at beginning of index" );
    +
    584 }
    +
    585
    +
    586 const T& obj = *_idx->_multidx->find( prev_pk );
    +
    587 auto& mi = const_cast<item&>( static_cast<const item&>(obj) );
    +
    588 mi.__iters[Number] = prev_itr;
    +
    589 _item = &mi;
    +
    590
    +
    591 return *this;
    +
    592 }
    +
    593
    +
    594 const_iterator():_item(nullptr){}
    +
    595 private:
    +
    596 friend struct index;
    +
    597 const_iterator( const index* idx, const item* i = nullptr )
    +
    598 : _idx(idx), _item(i) {}
    +
    599
    +
    600 const index* _idx;
    +
    601 const item* _item;
    +
    602 };
    +
    603
    +
    604 typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
    +
    605
    +
    606 const_iterator cbegin()const {
    +
    607 using namespace _multi_index_detail;
    +
    608 return lower_bound( secondary_key_traits<secondary_key_type>::true_lowest() );
    +
    609 }
    +
    610 const_iterator begin()const { return cbegin(); }
    +
    611
    +
    612 const_iterator cend()const { return const_iterator( this ); }
    +
    613 const_iterator end()const { return cend(); }
    +
    614
    +
    615 const_reverse_iterator crbegin()const { return std::make_reverse_iterator(cend()); }
    +
    616 const_reverse_iterator rbegin()const { return crbegin(); }
    +
    617
    +
    618 const_reverse_iterator crend()const { return std::make_reverse_iterator(cbegin()); }
    +
    619 const_reverse_iterator rend()const { return crend(); }
    +
    620
    +
    621 const_iterator find( secondary_key_type&& secondary )const {
    +
    622 return find( secondary );
    +
    623 }
    +
    624
    +
    625 const_iterator find( const secondary_key_type& secondary )const {
    +
    626 auto lb = lower_bound( secondary );
    +
    627 auto e = cend();
    +
    628 if( lb == e ) return e;
    +
    629
    +
    630 if( secondary != secondary_extractor_type()(*lb) )
    +
    631 return e;
    +
    632 return lb;
    +
    633 }
    +
    634
    +
    635 const_iterator require_find( secondary_key_type&& secondary, const char* error_msg = "unable to find secondary key" )const {
    +
    636 return require_find( secondary, error_msg );
    +
    637 }
    +
    638
    +
    639 const_iterator require_find( const secondary_key_type& secondary, const char* error_msg = "unable to find secondary key" )const {
    +
    640 auto lb = lower_bound( secondary );
    +
    641 eosio::check( lb != cend(), error_msg );
    +
    642 eosio::check( secondary == secondary_extractor_type()(*lb), error_msg );
    +
    643 return lb;
    +
    644 }
    +
    645
    +
    654 const T& get( secondary_key_type&& secondary, const char* error_msg = "unable to find secondary key" )const {
    +
    655 return get( secondary, error_msg );
    +
    656 }
    +
    657
    +
    666 const T& get( const secondary_key_type& secondary, const char* error_msg = "unable to find secondary key" )const {
    +
    667 auto result = find( secondary );
    +
    668 eosio::check( result != cend(), error_msg );
    +
    669 return *result;
    +
    670 }
    +
    671
    +
    672 const_iterator lower_bound( secondary_key_type&& secondary )const {
    +
    673 return lower_bound( secondary );
    +
    674 }
    +
    675 const_iterator lower_bound( const secondary_key_type& secondary )const {
    +
    676 using namespace _multi_index_detail;
    +
    677
    +
    678 uint64_t primary = 0;
    +
    679 secondary_key_type secondary_copy(secondary);
    +
    680 auto itr = secondary_index_db_functions<secondary_key_type>::db_idx_lowerbound( get_code().value, get_scope(), name(), secondary_copy, primary );
    +
    681 if( itr < 0 ) return cend();
    +
    682
    +
    683 const T& obj = *_multidx->find( primary );
    +
    684 auto& mi = const_cast<item&>( static_cast<const item&>(obj) );
    +
    685 mi.__iters[Number] = itr;
    +
    686
    +
    687 return {this, &mi};
    +
    688 }
    +
    689
    +
    690 const_iterator upper_bound( secondary_key_type&& secondary )const {
    +
    691 return upper_bound( secondary );
    +
    692 }
    +
    693 const_iterator upper_bound( const secondary_key_type& secondary )const {
    +
    694 using namespace _multi_index_detail;
    +
    695
    +
    696 uint64_t primary = 0;
    +
    697 secondary_key_type secondary_copy(secondary);
    +
    698 auto itr = secondary_index_db_functions<secondary_key_type>::db_idx_upperbound( get_code().value, get_scope(), name(), secondary_copy, primary );
    +
    699 if( itr < 0 ) return cend();
    +
    700
    +
    701 const T& obj = *_multidx->find( primary );
    +
    702 auto& mi = const_cast<item&>( static_cast<const item&>(obj) );
    +
    703 mi.__iters[Number] = itr;
    +
    704
    +
    705 return {this, &mi};
    +
    706 }
    +
    712 const_iterator iterator_to( const T& obj ) {
    +
    713 using namespace _multi_index_detail;
    +
    714
    +
    715 const auto& objitem = static_cast<const item&>(obj);
    +
    716 eosio::check( objitem.__idx == _multidx, "object passed to iterator_to is not in multi_index" );
    +
    717
    +
    718 if( objitem.__iters[Number] == -1 ) {
    +
    719 secondary_key_type temp_secondary_key;
    +
    720 auto idxitr = secondary_index_db_functions<secondary_key_type>::db_idx_find_primary(get_code().value, get_scope(), name(), objitem.primary_key(), temp_secondary_key);
    +
    721 auto& mi = const_cast<item&>( objitem );
    +
    722 mi.__iters[Number] = idxitr;
    +
    723 }
    +
    724
    +
    725 return {this, &objitem};
    +
    726 }
    +
    727
    +
    728 template<typename Lambda>
    +
    729 void modify( const_iterator itr, eosio::name payer, Lambda&& updater ) {
    +
    730 eosio::check( itr != cend(), "cannot pass end iterator to modify" );
    +
    731
    +
    732 _multidx->modify( *itr, payer, std::forward<Lambda&&>(updater) );
    +
    733 }
    +
    734
    +
    735 template<typename Lambda>
    +
    736 void modify( const T& obj, eosio::name payer, Lambda&& updater ) {
    +
    737 _multidx->modify( obj, payer, std::forward<Lambda&&>(updater) );
    +
    738 }
    +
    739
    +
    740 const_iterator erase( const_iterator itr ) {
    +
    741 eosio::check( itr != cend(), "cannot pass end iterator to erase" );
    +
    742
    +
    743 const auto& obj = *itr;
    +
    744 ++itr;
    +
    745
    +
    746 _multidx->erase(obj);
    +
    747
    +
    748 return itr;
    +
    749 }
    +
    750
    +
    751 eosio::name get_code()const { return _multidx->get_code(); }
    +
    752 uint64_t get_scope()const { return _multidx->get_scope(); }
    +
    753
    +
    754 static auto extract_secondary_key(const T& obj) { return secondary_extractor_type()(obj); }
    +
    755
    +
    756 // used only for type deduction
    +
    757 constexpr index() : _multidx(nullptr) { }
    +
    758 private:
    +
    759 friend class multi_index;
    +
    760
    +
    761 index( typename std::conditional<IsConst, const multi_index*, multi_index*>::type midx )
    +
    762 :_multidx(midx){}
    +
    763
    +
    764 typename std::conditional<IsConst, const multi_index*, multi_index*>::type _multidx;
    +
    765 };
    +
    766
    +
    767 template<uint64_t I>
    +
    768 struct intc { enum e{ value = I }; operator uint64_t()const{ return I; } };
    +
    769 enum index_cv { const_index = 0, mutable_index = 1 };
    +
    770
    +
    771 template<std::size_t Num, typename... Values>
    +
    772 class make_index_tuple {
    +
    773
    +
    774 template <std::size_t... Seq>
    +
    775 static constexpr auto get_type(std::index_sequence<Seq...>) {
    +
    776 return std::make_tuple(std::make_tuple(index<eosio::name::raw(static_cast<uint64_t>(Values::index_name)),
    +
    777 typename Values::secondary_extractor_type,
    +
    778 intc<Seq>::e::value, const_index>{},
    +
    779 index<eosio::name::raw(static_cast<uint64_t>(Values::index_name)),
    +
    780 typename Values::secondary_extractor_type,
    +
    781 intc<Seq>::e::value, mutable_index>{})...);
    +
    782 }
    +
    783 public:
    +
    784 using type = decltype( get_type(std::make_index_sequence<Num>{}) );
    +
    785 };
    +
    786
    +
    787 using indices_type = typename make_index_tuple<sizeof... (Indices), Indices...>::type;
    +
    788
    +
    789 class make_extractor_tuple {
    +
    790 template <typename Obj, typename IndicesType, std::size_t... Seq>
    +
    791 static constexpr auto extractor_tuple(IndicesType, const Obj& obj, std::index_sequence<Seq...>) {
    +
    792 return std::make_tuple(std::tuple_element_t<const_index, std::tuple_element_t<Seq, IndicesType>>::extract_secondary_key(obj)...);
    +
    793 }
    +
    794 public:
    +
    795 template <typename Obj, typename IndicesType>
    +
    796 static constexpr auto get_extractor_tuple(IndicesType, const Obj& obj) {
    +
    797 return extractor_tuple(IndicesType{}, obj, std::make_index_sequence<std::tuple_size_v<IndicesType>>{});
    +
    798 }
    +
    799 };
    +
    800
    +
    801 const item& load_object_by_primary_iterator( int32_t itr )const {
    +
    802 using namespace _multi_index_detail;
    +
    803
    +
    804 auto itr2 = std::find_if(_items_vector.rbegin(), _items_vector.rend(), [&](const item_ptr& ptr) {
    +
    805 return ptr._primary_itr == itr;
    +
    806 });
    +
    807 if( itr2 != _items_vector.rend() )
    +
    808 return *itr2->_item;
    +
    809
    +
    810 auto size = internal_use_do_not_use::db_get_i64( itr, nullptr, 0 );
    +
    811 eosio::check( size >= 0, "error reading iterator" );
    +
    812
    +
    813 //using malloc/free here potentially is not exception-safe, although WASM doesn't support exceptions
    +
    814 void* buffer = max_stack_buffer_size < size_t(size) ? malloc(size_t(size)) : alloca(size_t(size));
    +
    815
    +
    816 internal_use_do_not_use::db_get_i64( itr, buffer, uint32_t(size) );
    +
    817
    +
    818 datastream<const char*> ds( (char*)buffer, uint32_t(size) );
    +
    819
    +
    820 auto itm = std::make_unique<item>( this, [&]( auto& i ) {
    +
    821 T& val = static_cast<T&>(i);
    +
    822 ds >> val;
    +
    823
    +
    824 i.__primary_itr = itr;
    +
    825 bluegrass::meta::for_each(indices_type{}, [&](auto idx){
    +
    826 typedef std::tuple_element_t<const_index, decltype(idx)> index_type;
    +
    827 i.__iters[ index_type::number() ] = -1;
    +
    828 });
    +
    829 });
    +
    830
    +
    831 const item* ptr = itm.get();
    +
    832 auto pk = _multi_index_detail::to_raw_key(itm->primary_key());
    +
    833 auto pitr = itm->__primary_itr;
    +
    834
    +
    835 _items_vector.emplace_back( std::move(itm), pk, pitr );
    +
    836
    +
    837 if ( max_stack_buffer_size < size_t(size) ) {
    +
    838 free(buffer);
    +
    839 }
    +
    840
    +
    841 return *ptr;
    +
    842 }
    +
    843
    +
    844 public:
    + +
    893 :_code(code),_scope(scope),_next_primary_key(unset_next_primary_key)
    +
    894 {}
    +
    895
    +
    915 name get_code()const { return _code; }
    +
    916
    +
    936 uint64_t get_scope()const { return _scope; }
    +
    937
    +
    938 struct const_iterator : public std::iterator<std::bidirectional_iterator_tag, const T> {
    +
    939 friend bool operator == ( const const_iterator& a, const const_iterator& b ) {
    +
    940 return a._item == b._item;
    +
    941 }
    +
    942 friend bool operator != ( const const_iterator& a, const const_iterator& b ) {
    +
    943 return a._item != b._item;
    +
    944 }
    +
    945
    +
    946 const T& operator*()const { return *static_cast<const T*>(_item); }
    +
    947 const T* operator->()const { return static_cast<const T*>(_item); }
    +
    948
    + +
    950 const_iterator result(*this);
    +
    951 ++(*this);
    +
    952 return result;
    +
    953 }
    +
    954
    + +
    956 const_iterator result(*this);
    +
    957 --(*this);
    +
    958 return result;
    +
    959 }
    +
    960
    + +
    962 eosio::check( _item != nullptr, "cannot increment end iterator" );
    +
    963
    +
    964 uint64_t next_pk;
    +
    965 auto next_itr = internal_use_do_not_use::db_next_i64( _item->__primary_itr, &next_pk );
    +
    966 if( next_itr < 0 )
    +
    967 _item = nullptr;
    +
    968 else
    +
    969 _item = &_multidx->load_object_by_primary_iterator( next_itr );
    +
    970 return *this;
    +
    971 }
    + +
    973 uint64_t prev_pk;
    +
    974 int32_t prev_itr = -1;
    +
    975
    +
    976 if( !_item ) {
    +
    977 auto ei = internal_use_do_not_use::db_end_i64(_multidx->get_code().value, _multidx->get_scope(), static_cast<uint64_t>(TableName));
    +
    978 eosio::check( ei != -1, "cannot decrement end iterator when the table is empty" );
    +
    979 prev_itr = internal_use_do_not_use::db_previous_i64( ei , &prev_pk );
    +
    980 eosio::check( prev_itr >= 0, "cannot decrement end iterator when the table is empty" );
    +
    981 } else {
    +
    982 prev_itr = internal_use_do_not_use::db_previous_i64( _item->__primary_itr, &prev_pk );
    +
    983 eosio::check( prev_itr >= 0, "cannot decrement iterator at beginning of table" );
    +
    984 }
    +
    985
    +
    986 _item = &_multidx->load_object_by_primary_iterator( prev_itr );
    +
    987 return *this;
    +
    988 }
    +
    989
    +
    990 private:
    +
    991 const_iterator( const multi_index* mi, const item* i = nullptr )
    +
    992 :_multidx(mi),_item(i){}
    +
    993
    +
    994 const multi_index* _multidx;
    +
    995 const item* _item;
    +
    996 friend class multi_index;
    +
    997 };
    +
    998
    +
    999 typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
    +
    1000
    + +
    1024 return lower_bound(std::numeric_limits<uint64_t>::lowest());
    +
    1025 }
    +
    1026
    +
    1049 const_iterator begin()const { return cbegin(); }
    +
    1050
    +
    1073 const_iterator cend()const { return const_iterator( this ); }
    +
    1074
    +
    1097 const_iterator end()const { return cend(); }
    +
    1098
    +
    1132 const_reverse_iterator crbegin()const { return std::make_reverse_iterator(cend()); }
    +
    1133
    +
    1167 const_reverse_iterator rbegin()const { return crbegin(); }
    +
    1168
    +
    1203 const_reverse_iterator crend()const { return std::make_reverse_iterator(cbegin()); }
    +
    1204
    +
    1239 const_reverse_iterator rend()const { return crend(); }
    +
    1240
    +
    1280 template<typename PK>
    +
    1281 const_iterator lower_bound( PK primary )const {
    +
    1282 uint64_t primary_int = _multi_index_detail::to_raw_key(primary);
    +
    1283 auto itr = internal_use_do_not_use::db_lowerbound_i64( _code.value, _scope, static_cast<uint64_t>(TableName), primary_int );
    +
    1284 if( itr < 0 ) return end();
    +
    1285 const auto& obj = load_object_by_primary_iterator( itr );
    +
    1286 return {this, &obj};
    +
    1287 }
    +
    1288
    +
    1326 template<typename PK>
    +
    1327 const_iterator upper_bound( PK primary )const {
    +
    1328 uint64_t primary_int = _multi_index_detail::to_raw_key(primary);
    +
    1329 auto itr = internal_use_do_not_use::db_upperbound_i64( _code.value, _scope, static_cast<uint64_t>(TableName), primary_int );
    +
    1330 if( itr < 0 ) return end();
    +
    1331 const auto& obj = load_object_by_primary_iterator( itr );
    +
    1332 return {this, &obj};
    +
    1333 }
    +
    1334
    + +
    1367 if( _next_primary_key == unset_next_primary_key ) {
    +
    1368 // This is the first time available_primary_key() is called for this multi_index instance.
    +
    1369 if( begin() == end() ) { // empty table
    +
    1370 _next_primary_key = 0;
    +
    1371 } else {
    +
    1372 auto itr = --end(); // last row of table sorted by primary key
    +
    1373 auto pk = itr->primary_key(); // largest primary key currently in table
    +
    1374 if( pk >= no_available_primary_key ) // Reserve the tags
    +
    1375 _next_primary_key = no_available_primary_key;
    +
    1376 else
    +
    1377 _next_primary_key = pk + 1;
    +
    1378 }
    +
    1379 }
    +
    1380
    +
    1381 eosio::check( _next_primary_key < no_available_primary_key, "next primary key in table is at autoincrement limit");
    +
    1382 return _next_primary_key;
    +
    1383 }
    +
    1384
    +
    1426 template<name::raw IndexName>
    +
    1427 auto get_index() {
    +
    1428 using namespace _multi_index_detail;
    +
    1429
    +
    1430 constexpr uint64_t index_num = bluegrass::meta::for_each(indices_type{}, [](auto idx){
    +
    1431 return std::tuple_element_t<const_index, decltype(idx)>::index_name == static_cast<uint64_t>(IndexName);
    +
    1432 });
    +
    1433
    +
    1434 static_assert( index_num < sizeof...(Indices), "name provided is not the name of any secondary index within multi_index" );
    +
    1435
    +
    1436 return std::tuple_element_t<const_index, std::tuple_element_t<index_num, indices_type>>(this);
    +
    1437 }
    +
    1438
    +
    1477 template<name::raw IndexName>
    +
    1478 auto get_index()const {
    +
    1479 using namespace _multi_index_detail;
    +
    1480
    +
    1481 constexpr uint64_t index_num = bluegrass::meta::for_each(indices_type{}, [](auto idx){
    +
    1482 return std::tuple_element_t<mutable_index, decltype(idx)>::index_name == static_cast<uint64_t>(IndexName);
    +
    1483 });
    +
    1484
    +
    1485 static_assert( index_num < sizeof...(Indices), "name provided is not the name of any secondary index within multi_index" );
    +
    1486
    +
    1487 return std::tuple_element_t<mutable_index, std::tuple_element_t<index_num, indices_type>>(this);
    +
    1488 }
    +
    1489
    +
    1529 const_iterator iterator_to( const T& obj )const {
    +
    1530 const auto& objitem = static_cast<const item&>(obj);
    +
    1531 eosio::check( objitem.__idx == this, "object passed to iterator_to is not in multi_index" );
    +
    1532 return {this, &objitem};
    +
    1533 }
    +
    1571 template<typename Lambda>
    +
    1572 const_iterator emplace( name payer, Lambda&& constructor ) {
    +
    1573 using namespace _multi_index_detail;
    +
    1574
    +
    1575 eosio::check( _code == current_receiver(), "cannot create objects in table of another contract" ); // Quick fix for mutating db using multi_index that shouldn't allow mutation. Real fix can come in RC2.
    +
    1576
    +
    1577 auto itm = std::make_unique<item>( this, [&]( auto& i ){
    +
    1578 T& obj = static_cast<T&>(i);
    +
    1579 constructor( obj );
    +
    1580
    +
    1581 size_t size = pack_size( obj );
    +
    1582
    +
    1583 //using malloc/free here potentially is not exception-safe, although WASM doesn't support exceptions
    +
    1584 void* buffer = max_stack_buffer_size < size ? malloc(size) : alloca(size);
    +
    1585
    +
    1586 datastream<char*> ds( (char*)buffer, size );
    +
    1587 ds << obj;
    +
    1588
    +
    1589 uint64_t pk = _multi_index_detail::to_raw_key(obj.primary_key());
    +
    1590
    +
    1591 i.__primary_itr = internal_use_do_not_use::db_store_i64( _scope, static_cast<uint64_t>(TableName), payer.value, pk, buffer, size );
    +
    1592
    +
    1593 if ( max_stack_buffer_size < size ) {
    +
    1594 free(buffer);
    +
    1595 }
    +
    1596
    +
    1597 if( pk >= _next_primary_key )
    +
    1598 _next_primary_key = (pk >= no_available_primary_key) ? no_available_primary_key : (pk + 1);
    +
    1599
    +
    1600 bluegrass::meta::for_each(indices_type{}, [&](auto idx){
    +
    1601 typedef std::tuple_element_t<const_index, decltype(idx)> index_type;
    +
    1602
    +
    1603 i.__iters[index_type::number()] = secondary_index_db_functions<typename index_type::secondary_key_type>::db_idx_store( _scope, index_type::name(), payer.value, obj.primary_key(), index_type::extract_secondary_key(obj) );
    +
    1604 });
    +
    1605 });
    +
    1606
    +
    1607 const item* ptr = itm.get();
    +
    1608 auto pk = _multi_index_detail::to_raw_key(itm->primary_key());
    +
    1609 auto pitr = itm->__primary_itr;
    +
    1610
    +
    1611 _items_vector.emplace_back( std::move(itm), pk, pitr );
    +
    1612
    +
    1613 return {this, ptr};
    +
    1614 }
    +
    1615
    +
    1656 template<typename Lambda>
    +
    1657 void modify( const_iterator itr, name payer, Lambda&& updater ) {
    +
    1658 eosio::check( itr != end(), "cannot pass end iterator to modify" );
    +
    1659
    +
    1660 modify( *itr, payer, std::forward<Lambda&&>(updater) );
    +
    1661 }
    +
    1662
    +
    1704 template<typename Lambda>
    +
    1705 void modify( const T& obj, name payer, Lambda&& updater ) {
    +
    1706 using namespace _multi_index_detail;
    +
    1707
    +
    1708 const auto& objitem = static_cast<const item&>(obj);
    +
    1709 eosio::check( objitem.__idx == this, "object passed to modify is not in multi_index" );
    +
    1710 auto& mutableitem = const_cast<item&>(objitem);
    +
    1711 eosio::check( _code == current_receiver(), "cannot modify objects in table of another contract" ); // Quick fix for mutating db using multi_index that shouldn't allow mutation. Real fix can come in RC2.
    +
    1712
    +
    1713 auto secondary_keys = make_extractor_tuple::get_extractor_tuple(indices_type{}, obj);
    +
    1714
    +
    1715 uint64_t pk = _multi_index_detail::to_raw_key(obj.primary_key());
    +
    1716
    +
    1717 auto& mutableobj = const_cast<T&>(obj); // Do not forget the auto& otherwise it would make a copy and thus not update at all.
    +
    1718 updater( mutableobj );
    +
    1719
    +
    1720 eosio::check( pk == _multi_index_detail::to_raw_key(obj.primary_key()), "updater cannot change primary key when modifying an object" );
    +
    1721
    +
    1722 size_t size = pack_size( obj );
    +
    1723 //using malloc/free here potentially is not exception-safe, although WASM doesn't support exceptions
    +
    1724 void* buffer = max_stack_buffer_size < size ? malloc(size) : alloca(size);
    +
    1725
    +
    1726 datastream<char*> ds( (char*)buffer, size );
    +
    1727 ds << obj;
    +
    1728
    +
    1729 internal_use_do_not_use::db_update_i64( objitem.__primary_itr, payer.value, buffer, size );
    +
    1730
    +
    1731 if ( max_stack_buffer_size < size ) {
    +
    1732 free( buffer );
    +
    1733 }
    +
    1734
    +
    1735 if( pk >= _next_primary_key )
    +
    1736 _next_primary_key = (pk >= no_available_primary_key) ? no_available_primary_key : (pk + 1);
    +
    1737
    +
    1738 bluegrass::meta::for_each(indices_type{}, [&](auto idx){
    +
    1739 typedef std::tuple_element_t<const_index, decltype(idx)> index_type;
    +
    1740 auto secondary = index_type::extract_secondary_key( obj );
    +
    1741 if( memcmp( &std::get<index_type::index_number>(secondary_keys), &secondary, sizeof(secondary) ) != 0 ) {
    +
    1742 auto indexitr = mutableitem.__iters[index_type::number()];
    +
    1743
    +
    1744 if( indexitr < 0 ) {
    +
    1745 typename index_type::secondary_key_type temp_secondary_key;
    +
    1746 indexitr = mutableitem.__iters[index_type::number()]
    +
    1747 = secondary_index_db_functions<typename index_type::secondary_key_type>::db_idx_find_primary( _code.value, _scope, index_type::name(), pk, temp_secondary_key );
    +
    1748 }
    +
    1749
    +
    1750 secondary_index_db_functions<typename index_type::secondary_key_type>::db_idx_update( indexitr, payer.value, secondary );
    +
    1751 }
    +
    1752 } );
    +
    1753 }
    +
    1754
    +
    1787 template<typename PK>
    +
    1788 const T& get( PK primary, const char* error_msg = "unable to find key" )const {
    +
    1789 auto result = find( primary );
    +
    1790 eosio::check( result != cend(), error_msg );
    +
    1791 return *result;
    +
    1792 }
    +
    1793
    +
    1817 template<typename PK>
    +
    1818 const_iterator find( PK primary )const {
    +
    1819 auto itr2 = std::find_if(_items_vector.rbegin(), _items_vector.rend(), [&](const item_ptr& ptr) {
    +
    1820 return ptr._item->primary_key() == primary;
    +
    1821 });
    +
    1822 if( itr2 != _items_vector.rend() )
    +
    1823 return iterator_to(*(itr2->_item));
    +
    1824
    +
    1825 uint64_t primary_int = _multi_index_detail::to_raw_key(primary);
    +
    1826 auto itr = internal_use_do_not_use::db_find_i64( _code.value, _scope, static_cast<uint64_t>(TableName), primary_int );
    +
    1827 if( itr < 0 ) return end();
    +
    1828
    +
    1829 const item& i = load_object_by_primary_iterator( itr );
    +
    1830 return iterator_to(static_cast<const T&>(i));
    +
    1831 }
    +
    1832
    +
    1842 template<typename PK>
    +
    1843 const_iterator require_find( PK primary, const char* error_msg = "unable to find key" )const {
    +
    1844 auto itr2 = std::find_if(_items_vector.rbegin(), _items_vector.rend(), [&](const item_ptr& ptr) {
    +
    1845 return ptr._item->primary_key() == primary;
    +
    1846 });
    +
    1847 if( itr2 != _items_vector.rend() )
    +
    1848 return iterator_to(*(itr2->_item));
    +
    1849
    +
    1850 uint64_t primary_int = _multi_index_detail::to_raw_key(primary);
    +
    1851 auto itr = internal_use_do_not_use::db_find_i64( _code.value, _scope, static_cast<uint64_t>(TableName), primary_int );
    +
    1852 eosio::check( itr >= 0, error_msg );
    +
    1853
    +
    1854 const item& i = load_object_by_primary_iterator( itr );
    +
    1855 return iterator_to(static_cast<const T&>(i));
    +
    1856 }
    +
    1857
    + +
    1895 eosio::check( itr != end(), "cannot pass end iterator to erase" );
    +
    1896
    +
    1897 const auto& obj = *itr;
    +
    1898 ++itr;
    +
    1899
    +
    1900 erase(obj);
    +
    1901
    +
    1902 return itr;
    +
    1903 }
    +
    1904
    +
    1937 void erase( const T& obj ) {
    +
    1938 using namespace _multi_index_detail;
    +
    1939
    +
    1940 const auto& objitem = static_cast<const item&>(obj);
    +
    1941 eosio::check( objitem.__idx == this, "object passed to erase is not in multi_index" );
    +
    1942 eosio::check( _code == current_receiver(), "cannot erase objects in table of another contract" ); // Quick fix for mutating db using multi_index that shouldn't allow mutation. Real fix can come in RC2.
    +
    1943
    +
    1944 auto pk = objitem.primary_key();
    +
    1945 auto itr2 = std::find_if(_items_vector.rbegin(), _items_vector.rend(), [&](const item_ptr& ptr) {
    +
    1946 return ptr._item->primary_key() == pk;
    +
    1947 });
    +
    1948
    +
    1949 eosio::check( itr2 != _items_vector.rend(), "attempt to remove object that was not in multi_index" );
    +
    1950
    +
    1951 internal_use_do_not_use::db_remove_i64( objitem.__primary_itr );
    +
    1952
    +
    1953 bluegrass::meta::for_each(indices_type{}, [&](auto idx){
    +
    1954 typedef std::tuple_element_t<const_index, decltype(idx)> index_type;
    +
    1955
    +
    1956 auto i = objitem.__iters[index_type::number()];
    +
    1957 if( i < 0 ) {
    +
    1958 typename index_type::secondary_key_type secondary;
    +
    1959 i = secondary_index_db_functions<typename index_type::secondary_key_type>::db_idx_find_primary( _code.value, _scope, index_type::name(), objitem.primary_key(), secondary );
    +
    1960 }
    +
    1961 if( i >= 0 )
    +
    1962 secondary_index_db_functions<typename index_type::secondary_key_type>::db_idx_remove( i );
    +
    1963 });
    +
    1964
    +
    1965 _items_vector.erase(--(itr2.base()));
    +
    1966 }
    +
    1967
    +
    1968};
    +
    1969}
    +
    +
    + + + + + + diff --git a/docs/cdt/name_8hpp.html b/docs/cdt/name_8hpp.html new file mode 100644 index 000000000..a8279cbc3 --- /dev/null +++ b/docs/cdt/name_8hpp.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/name.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    +
    #include "check.hpp"
    +#include "serialize.hpp"
    +#include "reflect.hpp"
    +#include <string>
    +#include <string_view>
    +
    +

    См. исходные тексты.

    + + + + + + +

    +Классы

    struct  eosio::name
     
    struct  eosio::detail::to_const_char_arr< Str >
     
    + + + + + + + +

    +Пространства имен

    namespace  eosio
     
    namespace  eosio::internal_use_do_not_use
     
    namespace  eosio::detail
     
    + + + + + + + +

    +Функции

     eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
     
    template<typename T , T... Str>
    constexpr eosio::name operator""_n ()
     namespace eosio Подробнее...
     
    +

    Подробное описание

    +
    + +

    См. определение в файле name.hpp

    +
    +
    + + + + + + diff --git a/docs/cdt/name_8hpp.js b/docs/cdt/name_8hpp.js new file mode 100644 index 000000000..2e2e2be0e --- /dev/null +++ b/docs/cdt/name_8hpp.js @@ -0,0 +1,6 @@ +var name_8hpp = +[ + [ "eosio::detail::to_const_char_arr< Str >", "structeosio_1_1detail_1_1to__const__char__arr.html", null ], + [ "__attribute__", "name_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387", null ], + [ "operator\"\"_n", "group__name_ga2c559845072f8f8423f21c8c8f9c57ce.html#ga2c559845072f8f8423f21c8c8f9c57ce", null ] +]; \ No newline at end of file diff --git a/docs/cdt/name_8hpp_source.html b/docs/cdt/name_8hpp_source.html new file mode 100644 index 000000000..b1f58aeb6 --- /dev/null +++ b/docs/cdt/name_8hpp_source.html @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/name.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    name.hpp
    +
    +
    +См. документацию.
    1
    +
    5#pragma once
    +
    6
    +
    7#include "check.hpp"
    +
    8#include "serialize.hpp"
    +
    9#include "reflect.hpp"
    +
    10
    +
    11#include <string>
    +
    12#include <string_view>
    +
    13
    +
    14namespace eosio {
    +
    15 namespace internal_use_do_not_use {
    +
    16 extern "C" {
    +
    17 __attribute__((eosio_wasm_import))
    +
    18 void printn(uint64_t);
    +
    19 }
    +
    20 }
    +
    21
    +
    35 struct name {
    +
    36 public:
    +
    37 enum class raw : uint64_t {};
    +
    38
    +
    45 constexpr name() : value(0) {}
    +
    46
    +
    54 constexpr explicit name( uint64_t v )
    +
    55 :value(v)
    +
    56 {}
    +
    57
    +
    65 constexpr explicit name( name::raw r )
    +
    66 :value(static_cast<uint64_t>(r))
    +
    67 {}
    +
    68
    +
    76 constexpr explicit name( std::string_view str )
    +
    77 :value(0)
    +
    78 {
    +
    79 if( str.size() > 13 ) {
    +
    80 eosio::check( false, "string is too long to be a valid name" );
    +
    81 }
    +
    82 if( str.empty() ) {
    +
    83 return;
    +
    84 }
    +
    85
    +
    86 auto n = std::min( (uint32_t)str.size(), (uint32_t)12u );
    +
    87 for( decltype(n) i = 0; i < n; ++i ) {
    +
    88 value <<= 5;
    +
    89 value |= char_to_value( str[i] );
    +
    90 }
    +
    91 value <<= ( 4 + 5*(12 - n) );
    +
    92 if( str.size() == 13 ) {
    +
    93 uint64_t v = char_to_value( str[12] );
    +
    94 if( v > 0x0Full ) {
    +
    95 eosio::check(false, "thirteenth character in name cannot be a letter that comes after j");
    +
    96 }
    +
    97 value |= v;
    +
    98 }
    +
    99 }
    +
    100
    +
    107 static constexpr uint8_t char_to_value( char c ) {
    +
    108 if( c == '.')
    +
    109 return 0;
    +
    110 else if( c >= '1' && c <= '5' )
    +
    111 return (c - '1') + 1;
    +
    112 else if( c >= 'a' && c <= 'z' )
    +
    113 return (c - 'a') + 6;
    +
    114 else
    +
    115 eosio::check( false, "character is not in allowed character set for names" );
    +
    116
    +
    117 return 0; // control flow will never reach here; just added to suppress warning
    +
    118 }
    +
    119
    +
    123 constexpr uint8_t length()const {
    +
    124 constexpr uint64_t mask = 0xF800000000000000ull;
    +
    125
    +
    126 if( value == 0 )
    +
    127 return 0;
    +
    128
    +
    129 uint8_t l = 0;
    +
    130 uint8_t i = 0;
    +
    131 for( auto v = value; i < 13; ++i, v <<= 5 ) {
    +
    132 if( (v & mask) > 0 ) {
    +
    133 l = i;
    +
    134 }
    +
    135 }
    +
    136
    +
    137 return l + 1;
    +
    138 }
    +
    139
    +
    143 constexpr name suffix()const {
    +
    144 uint32_t remaining_bits_after_last_actual_dot = 0;
    +
    145 uint32_t tmp = 0;
    +
    146 for( int32_t remaining_bits = 59; remaining_bits >= 4; remaining_bits -= 5 ) { // Note: remaining_bits must remain signed integer
    +
    147 // Get characters one-by-one in name in order from left to right (not including the 13th character)
    +
    148 auto c = (value >> remaining_bits) & 0x1Full;
    +
    149 if( !c ) { // if this character is a dot
    +
    150 tmp = static_cast<uint32_t>(remaining_bits);
    +
    151 } else { // if this character is not a dot
    +
    152 remaining_bits_after_last_actual_dot = tmp;
    +
    153 }
    +
    154 }
    +
    155
    +
    156 uint64_t thirteenth_character = value & 0x0Full;
    +
    157 if( thirteenth_character ) { // if 13th character is not a dot
    +
    158 remaining_bits_after_last_actual_dot = tmp;
    +
    159 }
    +
    160
    +
    161 if( remaining_bits_after_last_actual_dot == 0 ) // there is no actual dot in the %name other than potentially leading dots
    +
    162 return name{value};
    +
    163
    +
    164 // At this point remaining_bits_after_last_actual_dot has to be within the range of 4 to 59 (and restricted to increments of 5).
    +
    165
    +
    166 // Mask for remaining bits corresponding to characters after last actual dot, except for 4 least significant bits (corresponds to 13th character).
    +
    167 uint64_t mask = (1ull << remaining_bits_after_last_actual_dot) - 16;
    +
    168 uint32_t shift = 64 - remaining_bits_after_last_actual_dot;
    +
    169
    +
    170 return name{ ((value & mask) << shift) + (thirteenth_character << (shift-1)) };
    +
    171 }
    +
    172
    +
    176 constexpr name prefix() const {
    + +
    178 bool not_dot_character_seen = false;
    +
    179 uint64_t mask = 0xFull;
    +
    180
    +
    181 // Get characters one-by-one in name in order from right to left
    +
    182 for( int32_t offset = 0; offset <= 59; ) {
    +
    183 auto c = (value >> offset) & mask;
    +
    184
    +
    185 if( !c ) { // if this character is a dot
    +
    186 if(not_dot_character_seen) { // we found the rightmost dot character
    +
    187 result = (value >> offset) << offset;
    +
    188 break;
    +
    189 }
    +
    190 } else {
    +
    191 not_dot_character_seen = true;
    +
    192 }
    +
    193
    +
    194 if (offset == 0) {
    +
    195 offset += 4;
    +
    196 mask = 0x1Full;
    +
    197 } else {
    +
    198 offset += 5;
    +
    199 }
    +
    200 }
    +
    201
    +
    202 return name{ result };
    +
    203 }
    +
    204
    +
    210 constexpr operator raw()const { return raw(value); }
    +
    211
    +
    217 constexpr explicit operator bool()const { return value != 0; }
    +
    218
    +
    229 char* write_as_string( char* begin, char* end, bool dry_run = false )const {
    +
    230 static const char* charmap = ".12345abcdefghijklmnopqrstuvwxyz";
    +
    231 constexpr uint64_t mask = 0xF800000000000000ull;
    +
    232
    +
    233 if( dry_run || (begin + 13 < begin) || (begin + 13 > end) ) {
    +
    234 char* actual_end = begin + length();
    +
    235 if( dry_run || (actual_end < begin) || (actual_end > end) ) return actual_end;
    +
    236 }
    +
    237
    +
    238 auto v = value;
    +
    239 for( auto i = 0; i < 13; ++i, v <<= 5 ) {
    +
    240 if( v == 0 ) return begin;
    +
    241
    +
    242 auto indx = (v & mask) >> (i == 12 ? 60 : 59);
    +
    243 *begin = charmap[indx];
    +
    244 ++begin;
    +
    245 }
    +
    246
    +
    247 return begin;
    +
    248 }
    +
    249
    +
    255 std::string to_string()const {
    +
    256 char buffer[13];
    +
    257 auto end = write_as_string( buffer, buffer + sizeof(buffer) );
    +
    258 return {buffer, end};
    +
    259 }
    +
    260
    +
    265 inline void print()const {
    +
    266 internal_use_do_not_use::printn(value);
    +
    267 }
    +
    268
    +
    270
    +
    276 friend constexpr bool operator == ( const name& a, const name& b ) {
    +
    277 return a.value == b.value;
    +
    278 }
    +
    279
    +
    285 friend constexpr bool operator != ( const name& a, const name& b ) {
    +
    286 return a.value != b.value;
    +
    287 }
    +
    288
    +
    294 friend constexpr bool operator < ( const name& a, const name& b ) {
    +
    295 return a.value < b.value;
    +
    296 }
    +
    297
    +
    299
    + +
    301
    + + +
    304 };
    +
    305
    +
    306 namespace detail {
    +
    307 template <char... Str>
    + +
    309 static constexpr const char value[] = {Str...};
    +
    310 };
    +
    311 }
    +
    312}
    +
    313
    +
    318#pragma clang diagnostic push
    +
    319#pragma clang diagnostic ignored "-Wgnu-string-literal-operator-template"
    +
    320template <typename T, T... Str>
    +
    321inline constexpr eosio::name operator""_n() {
    +
    322 constexpr auto x = eosio::name{std::string_view{eosio::detail::to_const_char_arr<Str...>::value, sizeof...(Str)}};
    +
    323 return x;
    +
    324}
    +
    325#pragma clang diagnostic pop
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio.html b/docs/cdt/namespaceeosio.html new file mode 100644 index 000000000..4c61b8af0 --- /dev/null +++ b/docs/cdt/namespaceeosio.html @@ -0,0 +1,728 @@ + + + + + + + + + + + + + + + + + + +CDT: Пространство имен eosio + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + + + + + + + + + + + + +

    +Пространства имен

    namespace  _datastream_detail
     
    namespace  _multi_index_detail
     
    namespace  detail
     
    namespace  impl
     
    namespace  internal_use_do_not_use
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Классы

    struct  action
     
    struct  action_wrapper
     Обёртка для конкретного действия, упрощающая отправку встроенных (inline) действий к этому действию из других контрактов. Пример: Подробнее...
     
    struct  asset
     
    struct  block_signing_authority_v0
     взвешенное пороговое полномочие с несколькими подписями (multi-sig) Подробнее...
     
    class  block_timestamp
     
    struct  blockchain_parameters
     
    struct  code_hash_result
     
    struct  const_mem_fun
     
    class  contract
     
    class  datastream
     
    class  datastream< size_t >
     
    struct  ec_point
     
    struct  ec_point_view
     
    struct  extended_asset
     
    class  extended_symbol
     
    class  fixed_bytes
     
    struct  ignore
     
    struct  ignore_wrapper
     
    struct  indexed_by
     
    struct  inline_dispatcher
     
    struct  inline_dispatcher< void(T::*)(Args...), Name >
     
    class  iostream
     
    struct  key_weight
     
    class  microseconds
     
    class  multi_index
     Определяет многоиндексную таблицу COOPOS (Multi Index Table) Подробнее...
     
    struct  name
     
    struct  onerror
     
    struct  overloaded
     
    struct  permission_level
     
    struct  producer_authority
     Сопоставляет производителя с его ключом подписи Подробнее...
     
    struct  producer_key
     
    struct  producer_schedule
     
    class  rope
     
    struct  security_group
     
    struct  signed_int
     
    class  singleton
     
    class  string
     
    class  symbol
     
    class  symbol_code
     
    class  time_point
     
    class  time_point_sec
     
    class  transaction
     
    class  transaction_header
     Содержит сведения о транзакции Подробнее...
     
    struct  unsigned_int
     
    struct  variant_action_wrapper
     
    + + + + + + + + + + + + + + + + + + + + + + + +

    +Определения типов

    using g1_point = ec_point< g1_coordinate_size >
     
    using g2_point = ec_point< g2_coordinate_size >
     
    using g1_point_view = ec_point_view< g1_coordinate_size >
     
    using g2_point_view = ec_point_view< g2_coordinate_size >
     
    using bigint = std::vector< char >
     
    using key_type = std::string
     
    typedef block_timestamp block_timestamp_type
     
    using block_signing_authority = std::variant< block_signing_authority_v0 >
     
    using block_num_t = uint32_t
     
    typedef std::tuple< uint16_t, std::vector< char > > extension
     
    typedef std::vector< extensionextensions_type
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Функции

    char * write_decimal (char *begin, char *end, bool dry_run, uint64_t number, uint8_t num_decimal_places, bool negative)
     
    void check (bool pred, std::string_view msg)
     
    void check (bool pred, const char *msg)
     
    void check (bool pred, const std::string &msg)
     
    void check (bool pred, std::string &&msg)
     
    void check (bool pred, const char *msg, size_t n)
     
    void check (bool pred, const std::string &msg, size_t n)
     
    void check (bool pred, uint64_t code)
     
    name current_context_contract ()
     
    template<typename T >
    g1_point alt_bn128_add (const T &op1, const T &op2)
     
    int32_t alt_bn128_add (const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, char *result, uint32_t result_len)
     
    template<typename T >
    g1_point alt_bn128_mul (const T &g1, const bigint &scalar)
     
    int32_t alt_bn128_mul (const char *g1, uint32_t g1_len, const char *scalar, uint32_t scalar_len, char *result, uint32_t result_len)
     
    template<typename G1_T , typename G2_T >
    int32_t alt_bn128_pair (const std::vector< std::pair< G1_T, G2_T > > &pairs)
     
    int32_t alt_bn128_pair (const char *pairs, uint32_t pairs_len)
     
    int32_t mod_exp (const bigint &base, const bigint &exp, const bigint &mod, bigint &result)
     
    int32_t mod_exp (const char *base, uint32_t base_len, const char *exp, uint32_t exp_len, const char *mod, uint32_t mod_len, char *result, uint32_t result_len)
     
    int32_t blake2_f (uint32_t rounds, const std::vector< char > &state, const std::vector< char > &msg, const std::vector< char > &t0_offset, const std::vector< char > &t1_offset, bool final, std::vector< char > &result)
     
    int32_t blake2_f (uint32_t rounds, const char *state, uint32_t state_len, const char *msg, uint32_t msg_len, const char *t0_offset, uint32_t t0_len, const char *t1_offset, uint32_t t1_len, int32_t final, char *result, uint32_t result_len)
     
    eosio::checksum256 sha3 (const char *data, uint32_t length)
     
    void assert_sha3 (const char *data, uint32_t length, const eosio::checksum256 &hash)
     
    eosio::checksum256 keccak (const char *data, uint32_t length)
     
    void assert_keccak (const char *data, uint32_t length, const eosio::checksum256 &hash)
     
    int32_t k1_recover (const char *sig, uint32_t sig_len, const char *dig, uint32_t dig_len, char *pub, uint32_t pub_len)
     
    template<typename Stream , typename T >
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::list< T > &l)
     
    template<typename Stream , typename T >
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::list< T > &l)
     
    template<typename Stream , typename T >
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::deque< T > &d)
     
    template<typename Stream , typename T >
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::deque< T > &d)
     
    template<typename Stream , typename... Ts>
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::variant< Ts... > &var)
     
    template<int I, typename Stream , typename... Ts>
    void deserialize (datastream< Stream > &ds, std::variant< Ts... > &var, int i)
     
    template<typename Stream , typename... Ts>
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::variant< Ts... > &var)
     
    template<typename Stream , typename T1 , typename T2 >
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::pair< T1, T2 > &t)
     
    template<typename Stream , typename T1 , typename T2 >
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::pair< T1, T2 > &t)
     
    template<typename Stream , typename T >
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::optional< T > &opt)
     
    template<typename Stream , typename T >
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::optional< T > &opt)
     
    template<typename Stream >
    datastream< Stream > & operator<< (datastream< Stream > &ds, const bool &d)
     
    template<typename Stream >
    datastream< Stream > & operator>> (datastream< Stream > &ds, bool &d)
     
    template<typename Stream >
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::string &v)
     
    template<typename Stream >
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::string &v)
     
    template<typename Stream , typename T , std::size_t N>
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::array< T, N > &v)
     
    template<typename Stream , typename T , std::size_t N>
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::array< T, N > &v)
     
    template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_pointer< T >()> * = nullptr>
    datastream< Stream > & operator>> (datastream< Stream > &ds, T)
     Указатель не должен сериализоваться; эта перегрузка всегда приводит к ошибке Подробнее...
     
    template<typename Stream , typename T , std::size_t N, std::enable_if_t<!_datastream_detail::is_primitive< T >() &&!_datastream_detail::is_pointer< T >()> * = nullptr>
    datastream< Stream > & operator<< (datastream< Stream > &ds, const T(&v)[N])
     
    template<typename Stream , typename T , std::size_t N, std::enable_if_t<!_datastream_detail::is_primitive< T >() &&!_datastream_detail::is_pointer< T >()> * = nullptr>
    datastream< Stream > & operator>> (datastream< Stream > &ds, T(&v)[N])
     
    template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::vector< T > &v)
     
    template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::vector< T > &v)
     
    template<typename Stream , typename T >
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::basic_string< T > &s)
     
    template<typename Stream , typename T >
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::basic_string< T > &s)
     
    template<typename Stream >
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::basic_string< uint8_t > &s)
     
    template<typename Stream >
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::basic_string< uint8_t > &s)
     
    template<typename Stream , typename T >
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::set< T > &s)
     
    template<typename Stream , typename T >
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::set< T > &s)
     
    template<typename Stream , typename K , typename V >
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::map< K, V > &m)
     
    template<typename Stream , typename K , typename V >
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::map< K, V > &m)
     
    template<typename Stream , typename... Args>
    datastream< Stream > & operator<< (datastream< Stream > &ds, const std::tuple< Args... > &t)
     
    template<typename Stream , typename... Args>
    datastream< Stream > & operator>> (datastream< Stream > &ds, std::tuple< Args... > &t)
     
    template<typename DataStream , typename T , std::enable_if_t< std::is_class< T >::value &&_datastream_detail::is_datastream< DataStream >::value > * = nullptr>
    DataStream & operator<< (DataStream &ds, const T &v)
     
    template<typename DataStream , typename T , std::enable_if_t< std::is_class< T >::value &&_datastream_detail::is_datastream< DataStream >::value > * = nullptr>
    DataStream & operator>> (DataStream &ds, T &v)
     
    template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
    datastream< Stream > & operator<< (datastream< Stream > &ds, const T &v)
     
    template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
    datastream< Stream > & operator>> (datastream< Stream > &ds, T &v)
     
    template<typename T >
    unpack (const char *buffer, size_t len)
     
    template<typename T >
    void unpack (T &res, const char *buffer, size_t len)
     
    template<typename T >
    unpack (const std::vector< char > &bytes)
     
    template<typename T >
    size_t pack_size (const T &value)
     
    template<typename T >
    std::vector< char > pack (const T &value)
     
    template<typename DataStream , typename T >
    DataStream & operator<< (DataStream &ds, const ::eosio::ignore_wrapper< T > &val)
     Сериализация значения T из ignored_wrapper<T> Подробнее...
     
    template<typename DataStream , typename T >
    DataStream & operator<< (DataStream &ds, const ::eosio::ignore< T > &val)
     Сериализация игнорируемого типа Подробнее...
     
    template<typename DataStream , typename T >
    DataStream & operator>> (DataStream &ds, ::eosio::ignore< T > &)
     Десериализация игнорируемого типа Подробнее...
     
    template<typename T , typename S >
    void to_key (const T &obj, datastream< S > &stream)
     
    template<int I, typename T , typename S >
    void to_key_tuple (const T &obj, datastream< S > &stream)
     
    template<typename... Ts, typename S >
    void to_key (const std::tuple< Ts... > &obj, datastream< S > &stream)
     
    template<typename T , std::size_t N, typename S >
    void to_key (const std::array< T, N > &obj, datastream< S > &stream)
     
    template<typename T , typename S >
    void to_key_optional (const bool *obj, datastream< S > &stream)
     
    template<typename T , typename S >
    void to_key_optional (const T *obj, datastream< S > &stream)
     
    template<typename T , typename U , typename S >
    void to_key (const std::pair< T, U > &obj, datastream< S > &stream)
     
    template<typename T , typename S >
    void to_key_range (const T &obj, datastream< S > &stream)
     
    template<typename T , typename S >
    auto to_key (const T &obj, datastream< S > &stream) -> std::enable_if_t< is_ranged_type(std::declval< T >()), void >
     
    template<typename T , typename U , typename S >
    void to_key (const std::map< T, U > &obj, datastream< S > &stream)
     
    template<typename T , typename S >
    void to_key (const std::optional< T > &obj, datastream< S > &stream)
     
    template<typename S >
    void to_key_varuint32 (std::uint32_t obj, datastream< S > &stream)
     
    template<typename S >
    void to_key_varint32 (std::int32_t obj, datastream< S > &stream)
     
    template<typename... Ts, typename S >
    void to_key (const std::variant< Ts... > &obj, datastream< S > &stream)
     
    template<std::size_t N, typename S >
    void to_key (const char(&str)[N], datastream< S > &stream)
     
    template<typename S >
    void to_key (std::string_view obj, datastream< S > &stream)
     
    template<typename S >
    void to_key (const std::string &obj, datastream< S > &stream)
     
    template<typename S >
    void to_key (bool obj, datastream< S > &stream)
     
    template<typename UInt , typename T >
    UInt float_to_key (T value)
     
    template<typename T >
    void convert_to_key (const T &t, key_type &bin)
     
    template<typename T >
    key_type convert_to_key (const T &t)
     
    template<uint8_t Base, typename T = uint64_t>
    constexpr T pow (uint8_t exponent)
     
    void printhex (const void *ptr, uint32_t size)
     
    void printl (const char *ptr, size_t len)
     
    void print (const char *ptr)
     
    template<typename T , std::enable_if_t< std::is_integral< std::decay_t< T > >::value &&std::is_signed< std::decay_t< T > >::value, int > = 0>
    void print (T num)
     
    void print (float num)
     
    void print (double num)
     
    void print (long double num)
     
    template<typename T , std::enable_if_t<!std::is_integral< std::decay_t< T > >::value, int > = 0>
    void print (T &&t)
     
    void print_f (const char *s)
     
    template<typename Arg , typename... Args>
    void print_f (const char *s, Arg val, Args... rest)
     
    template<typename Arg , typename... Args>
    void print (Arg &&a, Args &&... args)
     
    template<class... Ts>
     overloaded (Ts...) -> overloaded< Ts... >
     
    bool operator< (const string &lhs, const string &rhs)
     
    bool operator> (const string &lhs, const string &rhs)
     
    bool operator<= (const string &lhs, const string &rhs)
     
    bool operator>= (const string &lhs, const string &rhs)
     
    bool operator== (const string &lhs, const string &rhs)
     
    bool operator!= (const string &lhs, const string &rhs)
     
    string operator+ (const string &lhs, const string &rhs)
     
    template<typename DataStream >
    DataStream & operator<< (DataStream &ds, const string &str)
     
    template<typename DataStream >
    DataStream & operator>> (DataStream &ds, string &str)
     
    template<typename DataStream >
    DataStream & operator<< (DataStream &ds, const eosio::symbol_code sym_code)
     
    template<typename DataStream >
    DataStream & operator>> (DataStream &ds, eosio::symbol_code &sym_code)
     
    template<typename DataStream >
    DataStream & operator<< (DataStream &ds, const eosio::symbol sym)
     Сериализация symbol. Подробнее...
     
    template<typename DataStream >
    DataStream & operator>> (DataStream &ds, eosio::symbol &sym)
     Десериализация symbol. Подробнее...
     
    microseconds seconds (int64_t s)
     
    microseconds milliseconds (int64_t s)
     
    microseconds minutes (int64_t m)
     
    microseconds hours (int64_t h)
     
    microseconds days (int64_t d)
     
    template<typename T >
    unpack_action_data ()
     
    void require_recipient (name notify_account)
     Добавляет указанный аккаунт в множество аккаунтов для уведомления Подробнее...
     
    template<typename... accounts>
    void require_recipient (name notify_account, accounts... remaining_accounts)
     
    void require_auth (name n)
     
    time_point publication_time ()
     
    name current_receiver ()
     
    checksum256 get_code_hash (name account, code_hash_result *full_result=nullptr)
     
    uint32_t read_action_data (void *msg, uint32_t len)
     
    uint32_t action_data_size ()
     
    void require_auth (const permission_level &level)
     
    bool has_auth (name n)
     
    bool is_account (name n)
     
    template<typename... Args>
    void dispatch_inline (name code, name act, std::vector< permission_level > perms, std::tuple< Args... > args)
     
    template<typename Contract , typename FirstAction , typename SecondAction , typename... Actions>
    bool dispatch (uint64_t code, uint64_t act)
     
    template<typename T , typename... Args>
    bool execute_action (name self, name code, void(T::*func)(Args...))
     
    void set_blockchain_parameters (const eosio::blockchain_parameters &params)
     
    void get_blockchain_parameters (eosio::blockchain_parameters &params)
     
    void get_account_ram_usage (name account, int64_t &used_ram_bytes)
     
    void get_resource_limits (name account, int64_t &ram_bytes, int64_t &net_weight, int64_t &cpu_weight)
     
    void set_resource_limits (name account, int64_t ram_bytes, int64_t net_weight, int64_t cpu_weight)
     
    std::optional< uint64_t > set_proposed_producers (const std::vector< producer_key > &prods)
     
    std::optional< uint64_t > set_proposed_producers (const std::vector< producer_authority > &prods)
     
    bool is_privileged (name account)
     
    void set_privileged (name account, bool is_priv)
     
    void preactivate_feature (const checksum256 &feature_digest)
     
    std::vector< nameget_active_producers ()
     
    int64_t add_security_group_participants (const std::set< name > &participants)
     
    int64_t remove_security_group_participants (const std::set< name > &participants)
     
    bool in_active_security_group (const std::set< name > &participants)
     
    security_group get_active_security_group ()
     
    void eosio_exit (int32_t code)
     
    time_point current_time_point ()
     
    block_timestamp current_block_time ()
     
    block_num_t current_block_number ()
     
    bool is_feature_activated (const checksum256 &feature_digest)
     
    name get_sender ()
     
    void send_deferred (const uint128_t &sender_id, name payer, const char *serialized_transaction, size_t size, bool replace=false)
     
    action get_action (uint32_t type, uint32_t index)
     
    size_t read_transaction (char *ptr, size_t sz)
     
    int cancel_deferred (const uint128_t &sender_id)
     
    size_t transaction_size ()
     
    int tapos_block_num ()
     
    int tapos_block_prefix ()
     
    uint32_t expiration ()
     Возвращает срок действия текущей выполняемой транзакции. Подробнее...
     
    int get_context_free_data (uint32_t index, char *buff, size_t size)
     
    + + + + +

    +Переменные

    template<uint8_t Base, typename T = uint64_t>
    constexpr auto powers_of_base = detail::generate_array<detail::largest_power<T, Base>::exponent + 1>( detail::pow_generator<T, Base> )
     
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1__datastream__detail.html b/docs/cdt/namespaceeosio_1_1__datastream__detail.html new file mode 100644 index 000000000..b99ae3a84 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1__datastream__detail.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + +CDT: Пространство имен eosio::_datastream_detail + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Пространство имен eosio::_datastream_detail
    +
    +
    + + + + + + +

    +Классы

    struct  is_datastream
     
    struct  is_datastream< datastream< T > >
     
    + + + + + + + +

    +Функции

    template<typename T >
    constexpr bool is_pointer ()
     
    template<typename T >
    constexpr bool is_primitive ()
     
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1__datastream__detail_a756af9772c5c98915bbdacafa7165278.html b/docs/cdt/namespaceeosio_1_1__datastream__detail_a756af9772c5c98915bbdacafa7165278.html new file mode 100644 index 000000000..b22ec02ea --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1__datastream__detail_a756af9772c5c98915bbdacafa7165278.html @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::_datastream_detail::is_pointer + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ is_pointer()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    constexpr bool eosio::_datastream_detail::is_pointer ()
    +
    +constexpr
    +
    +

    Проверяет, является ли тип T указателем

    +
    Параметры шаблона
    + + +
    T- Проверяемый тип
    +
    +
    +
    Возвращает
    true, если T — указатель
    +
    +false в противном случае
    + +

    См. определение в файле datastream.hpp строка 572

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1__datastream__detail_ab1b99c65e9a4c3ec9a0077b17466043d.html b/docs/cdt/namespaceeosio_1_1__datastream__detail_ab1b99c65e9a4c3ec9a0077b17466043d.html new file mode 100644 index 000000000..7a236be40 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1__datastream__detail_ab1b99c65e9a4c3ec9a0077b17466043d.html @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::_datastream_detail::is_primitive + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ is_primitive()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    constexpr bool eosio::_datastream_detail::is_primitive ()
    +
    +constexpr
    +
    +

    Проверяет, является ли тип T примитивным

    +
    Параметры шаблона
    + + +
    T- Проверяемый тип
    +
    +
    +
    Возвращает
    true, если T — примитивный тип
    +
    +false в противном случае
    + +

    См. определение в файле datastream.hpp строка 586

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1__multi__index__detail.html b/docs/cdt/namespaceeosio_1_1__multi__index__detail.html new file mode 100644 index 000000000..ff0f6a342 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1__multi__index__detail.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: Пространство имен eosio::_multi_index_detail + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Пространство имен eosio::_multi_index_detail
    +
    +
    + + + + + + + + + + + + +

    +Классы

    struct  secondary_index_db_functions
     
    struct  secondary_key_traits
     
    struct  secondary_key_traits< double >
     
    struct  secondary_key_traits< eosio::fixed_bytes< 32 > >
     
    struct  secondary_key_traits< long double >
     
    + + + + + + +

    +Функции

    template<typename PK >
    uint64_t to_raw_key (PK pk)
     
    uint64_t to_raw_key (eosio::name pk)
     
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1__multi__index__detail_a135eacc8542cc1a376045da059e67369.html b/docs/cdt/namespaceeosio_1_1__multi__index__detail_a135eacc8542cc1a376045da059e67369.html new file mode 100644 index 000000000..62c94f08c --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1__multi__index__detail_a135eacc8542cc1a376045da059e67369.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::_multi_index_detail::to_raw_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_raw_key() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + +
    uint64_t eosio::_multi_index_detail::to_raw_key (eosio::name pk)
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 339

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1__multi__index__detail_ab86eee8c3f788dfbc306661042361f7a.html b/docs/cdt/namespaceeosio_1_1__multi__index__detail_ab86eee8c3f788dfbc306661042361f7a.html new file mode 100644 index 000000000..dc6e61db6 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1__multi__index__detail_ab86eee8c3f788dfbc306661042361f7a.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::_multi_index_detail::to_raw_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_raw_key() [2/2]

    + +
    +
    +
    +template<typename PK >
    + + + + + +
    + + + + + + + + +
    uint64_t eosio::_multi_index_detail::to_raw_key (PK pk)
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 338

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail.html b/docs/cdt/namespaceeosio_1_1detail.html new file mode 100644 index 000000000..8da16fe3a --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + +CDT: Пространство имен eosio::detail + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Пространство имен eosio::detail
    +
    +
    + + + + + + + + + + +

    +Классы

    struct  largest_power
     
    struct  largest_power_helper
     
    struct  largest_power_helper< T, Base, Exponent, Value, true >
     
    struct  to_const_char_arr
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Функции

    template<typename T >
    constexpr bool has_bitwise_serialization ()
     
    template<template< typename > class C, typename T >
    constexpr bool is_ranged_type (C< T >)
     
    template<typename R , typename C >
    auto member_pointer_type (R(C::*)) -> R
     
    template<typename R , typename C >
    auto member_pointer_class (R(C::*)) -> C
     
    template<typename... Args>
    constexpr std::size_t total_bytes_size ()
     
    template<std::size_t I, typename Arg , typename... Args>
    void const_pack_helper (std::string &s, Arg &&arg, Args &&... args)
     
    template<typename... Args>
    std::string const_pack (Args &&... args)
     
    template<typename Generator , std::size_t... Is>
    constexpr auto generate_array_helper (Generator &&g, std::index_sequence< Is... >) -> std::array< decltype(g(std::size_t{}, sizeof...(Is))), sizeof...(Is)>
     
    template<std::size_t N, typename Generator >
    constexpr auto generate_array (Generator &&g)
     
    template<typename T >
    constexpr T pow (T base, uint8_t exponent)
     
    template<typename T , T Base>
    constexpr T pow_generator (std::size_t i, std::size_t)
     
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_a184c27c80cca8d2a18974859c0123f8a.html b/docs/cdt/namespaceeosio_1_1detail_a184c27c80cca8d2a18974859c0123f8a.html new file mode 100644 index 000000000..a3930c7fd --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_a184c27c80cca8d2a18974859c0123f8a.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::pow_generator + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ pow_generator()

    + +
    +
    +
    +template<typename T , T Base>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr T eosio::detail::pow_generator (std::size_t i,
    std::size_t  
    )
    +
    +constexpr
    +
    + +

    См. определение в файле powers.hpp строка 70

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_a421d953ed45f8e85368d906824cc1b76.html b/docs/cdt/namespaceeosio_1_1detail_a421d953ed45f8e85368d906824cc1b76.html new file mode 100644 index 000000000..a434ed6b5 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_a421d953ed45f8e85368d906824cc1b76.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::const_pack_helper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ const_pack_helper()

    + +
    +
    +
    +template<std::size_t I, typename Arg , typename... Args>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void eosio::detail::const_pack_helper (std::string & s,
    Arg && arg,
    Args &&... args 
    )
    +
    +inline
    +
    + +

    См. определение в файле key_utils.hpp строка 53

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_a5cd71ed03fbb930b8da785011b4430fc.html b/docs/cdt/namespaceeosio_1_1detail_a5cd71ed03fbb930b8da785011b4430fc.html new file mode 100644 index 000000000..c50abfdf4 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_a5cd71ed03fbb930b8da785011b4430fc.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::has_bitwise_serialization + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ has_bitwise_serialization()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    constexpr bool eosio::detail::has_bitwise_serialization ()
    +
    +constexpr
    +
    + +

    См. определение в файле key_utils.hpp строка 22

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_a5cf83297746ac38942c4e6d515030884.html b/docs/cdt/namespaceeosio_1_1detail_a5cf83297746ac38942c4e6d515030884.html new file mode 100644 index 000000000..89b66ea78 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_a5cf83297746ac38942c4e6d515030884.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::member_pointer_class + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ member_pointer_class()

    + +
    +
    +
    +template<typename R , typename C >
    + + + + + + + + +
    auto eosio::detail::member_pointer_class (R(C::*) ) -> C
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_a5e3d839eb6a9a68857d5f1c44d053057.html b/docs/cdt/namespaceeosio_1_1detail_a5e3d839eb6a9a68857d5f1c44d053057.html new file mode 100644 index 000000000..f15ad7f38 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_a5e3d839eb6a9a68857d5f1c44d053057.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::generate_array + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ generate_array()

    + +
    +
    +
    +template<std::size_t N, typename Generator >
    + + + + + +
    + + + + + + + + +
    constexpr auto eosio::detail::generate_array (Generator && g)
    +
    +constexpr
    +
    + +

    См. определение в файле powers.hpp строка 21

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_a64b7b02e02888b43c508684f3939aa77.html b/docs/cdt/namespaceeosio_1_1detail_a64b7b02e02888b43c508684f3939aa77.html new file mode 100644 index 000000000..3f9b14890 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_a64b7b02e02888b43c508684f3939aa77.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::is_ranged_type + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ is_ranged_type()

    + +
    +
    +
    +template<template< typename > class C, typename T >
    + + + + + +
    + + + + + + + + +
    constexpr bool eosio::detail::is_ranged_type (C< T > )
    +
    +constexpr
    +
    + +

    См. определение в файле key_utils.hpp строка 34

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_a76123ee6d91ba89e19c83e1ef453fc1d.html b/docs/cdt/namespaceeosio_1_1detail_a76123ee6d91ba89e19c83e1ef453fc1d.html new file mode 100644 index 000000000..01f158146 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_a76123ee6d91ba89e19c83e1ef453fc1d.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::const_pack + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ const_pack()

    + +
    +
    +
    +template<typename... Args>
    + + + + + +
    + + + + + + + + +
    std::string eosio::detail::const_pack (Args &&... args)
    +
    +inline
    +
    + +

    См. определение в файле key_utils.hpp строка 66

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_a8af0145503d43bda71e5644c5e9ae7ef.html b/docs/cdt/namespaceeosio_1_1detail_a8af0145503d43bda71e5644c5e9ae7ef.html new file mode 100644 index 000000000..2b1265606 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_a8af0145503d43bda71e5644c5e9ae7ef.html @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::generate_array_helper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ generate_array_helper()

    + +
    +
    +
    +template<typename Generator , std::size_t... Is>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr auto eosio::detail::generate_array_helper (Generator && g,
    std::index_sequence< Is... >  
    ) -> std::array<decltype(g(std::size_t{}, sizeof...(Is))), sizeof...(Is)> +
    +
    +constexpr
    +
    + +

    См. определение в файле powers.hpp строка 14

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_a9f0e47cb61333aee2eaade34168b6422.html b/docs/cdt/namespaceeosio_1_1detail_a9f0e47cb61333aee2eaade34168b6422.html new file mode 100644 index 000000000..d1ba5eca3 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_a9f0e47cb61333aee2eaade34168b6422.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::pow + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ pow()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr T eosio::detail::pow (base,
    uint8_t exponent 
    )
    +
    +constexpr
    +
    + +

    См. определение в файле powers.hpp строка 58

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_aaa5b3d6111b08badba51b37a8890e4f2.html b/docs/cdt/namespaceeosio_1_1detail_aaa5b3d6111b08badba51b37a8890e4f2.html new file mode 100644 index 000000000..cfb37049c --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_aaa5b3d6111b08badba51b37a8890e4f2.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::member_pointer_type + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ member_pointer_type()

    + +
    +
    +
    +template<typename R , typename C >
    + + + + + + + + +
    auto eosio::detail::member_pointer_type (R(C::*) ) -> R
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1detail_ac7230a60ca339b86b59f88f7ca069b1a.html b/docs/cdt/namespaceeosio_1_1detail_ac7230a60ca339b86b59f88f7ca069b1a.html new file mode 100644 index 000000000..a48b67f23 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1detail_ac7230a60ca339b86b59f88f7ca069b1a.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::total_bytes_size + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ total_bytes_size()

    + +
    +
    +
    +template<typename... Args>
    + + + + + +
    + + + + + + + +
    constexpr std::size_t eosio::detail::total_bytes_size ()
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле key_utils.hpp строка 49

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1impl.html b/docs/cdt/namespaceeosio_1_1impl.html new file mode 100644 index 000000000..7de0ab89e --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1impl.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: Пространство имен eosio::impl + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Пространство имен eosio::impl
    +
    +
    + + + + + + +

    +Классы

    struct  concat_t
     
    struct  str_t
     
    + + + +

    +Определения типов

    typedef std::variant< concat_t, str_trope_node
     
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1impl_ae6203fa7e000c25cb3f5eb731cd2139c.html b/docs/cdt/namespaceeosio_1_1impl_ae6203fa7e000c25cb3f5eb731cd2139c.html new file mode 100644 index 000000000..c13f98114 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1impl_ae6203fa7e000c25cb3f5eb731cd2139c.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::impl::rope_node + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ rope_node

    + +
    +
    + + + + +
    typedef std::variant<concat_t, str_t> eosio::impl::rope_node
    +
    + +

    См. определение в файле rope.hpp строка 17

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use.html new file mode 100644 index 000000000..b017641b6 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use.html @@ -0,0 +1,275 @@ + + + + + + + + + + + + + + + + + + +CDT: Пространство имен eosio::internal_use_do_not_use + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Пространство имен eosio::internal_use_do_not_use
    +
    +
    + + + + + + + + + + + + +

    +Функции

     __attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
     
    struct __attribute__ ((aligned(16))) capi_checksum256_ext
     
     __attribute ((eosio_wasm_import)) int64_t set_proposed_producers(char *
     
     __attribute__ ((eosio_wasm_import, noreturn)) void eosio_exit(int32_t code)
     
     __attribute__ ((eosio_wasm_import)) void send_deferred(const uint128_t &
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Переменные

    const char * msg
     
    const char uint32_t msg_len
     
    uint64_t code
     
    uint64_t eosio_contract_name
     
    uint32_t op1_len
     
    uint32_t const char * op2
     
    uint32_t const char uint32_t op2_len
     
    uint32_t const char uint32_t char * result
     
    uint32_t const char uint32_t char uint32_t result_len
     
    uint32_t g1_len
     
    uint32_t const char * scalar
     
    uint32_t const char uint32_t scalar_len
     
    uint32_t pairs_len
     
    uint32_t base_len
     
    uint32_t const char * exp
     
    uint32_t const char uint32_t exp_len
     
    uint32_t const char uint32_t const char * mod
     
    uint32_t const char uint32_t const char uint32_t mod_len
     
    const char * state
     
    const char uint32_t state_len
     
    const char uint32_t const char uint32_t const char * t0_offset
     
    const char uint32_t const char uint32_t const char uint32_t t0_len
     
    const char uint32_t const char uint32_t const char uint32_t const char * t1_offset
     
    const char uint32_t const char uint32_t const char uint32_t const char uint32_t t1_len
     
    const char uint32_t const char uint32_t const char uint32_t const char uint32_t int32_t final
     
    uint32_t sig_len
     
    uint32_t const char * dig
     
    uint32_t const char uint32_t dig_len
     
    uint32_t const char uint32_t char * pub
     
    uint32_t const char uint32_t char uint32_t pub_len
     
    uint32_t data_len
     
    uint32_t char * hash
     
    uint32_t char uint32_t hash_len
     
    uint32_t char uint32_t int32_t keccak
     
     uint32_t
     
    uint32_t len
     
    uint64_t permission
     
    size_t size
     
    uint32_t struct_version
     
    uint32_t char * result_buffer
     
    uint32_t char size_t buffer_size
     
     uint64_t
     
    int64_t * used_ram_bytes
     
    int64_t * ram_bytes
     
    int64_t int64_t * net_weight
     
    int64_t int64_t int64_t * cpu_weight
     
    bool is_priv
     
    uint32_t datalen
     
    char * producer_data
     
    char uint32_t producer_data_size
     
    const char size_t
     
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a027e383f00b6e7e1a84cbf1d748c497f.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a027e383f00b6e7e1a84cbf1d748c497f.html new file mode 100644 index 000000000..9085c0ef9 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a027e383f00b6e7e1a84cbf1d748c497f.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::mod + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ mod

    + +
    +
    + + + + +
    uint32_t const char uint32_t const char* eosio::internal_use_do_not_use::mod
    +
    + +

    См. определение в файле crypto_ext.hpp строка 31

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a02d21b61eb2a51a93d9af3e0a2a0989a.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a02d21b61eb2a51a93d9af3e0a2a0989a.html new file mode 100644 index 000000000..31375da94 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a02d21b61eb2a51a93d9af3e0a2a0989a.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::uint64_t + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ uint64_t

    + +
    +
    + + + + +
    const long double uint64_t long double uint64_t long double uint64_t eosio::internal_use_do_not_use::uint64_t
    +
    + +

    См. определение в файле multi_index.hpp строка 33

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a1e57a95287092eed7943f2d14e0dc5b1.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a1e57a95287092eed7943f2d14e0dc5b1.html new file mode 100644 index 000000000..99dccc886 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a1e57a95287092eed7943f2d14e0dc5b1.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::net_weight + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ net_weight

    + +
    +
    + + + + +
    int64_t int64_t eosio::internal_use_do_not_use::net_weight
    +
    + +

    См. определение в файле privileged.hpp строка 19

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a1e7210a95265e4cc67895371e8e1d1a9.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a1e7210a95265e4cc67895371e8e1d1a9.html new file mode 100644 index 000000000..26cf9aa7c --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a1e7210a95265e4cc67895371e8e1d1a9.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::op1_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ op1_len

    + +
    +
    + + + + +
    uint32_t eosio::internal_use_do_not_use::op1_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 22

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a208a5e31ff7bb998c7a04b27569e4a62.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a208a5e31ff7bb998c7a04b27569e4a62.html new file mode 100644 index 000000000..4daa3fbb0 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a208a5e31ff7bb998c7a04b27569e4a62.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::producer_data_size + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ producer_data_size

    + +
    +
    + + + + +
    char uint32_t eosio::internal_use_do_not_use::producer_data_size
    +
    + +

    См. определение в файле privileged.hpp строка 40

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a2388251ff5bfa4a7132e5684d9f4ea7c.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a2388251ff5bfa4a7132e5684d9f4ea7c.html new file mode 100644 index 000000000..fc0688f59 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a2388251ff5bfa4a7132e5684d9f4ea7c.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::t1_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ t1_len

    + +
    +
    + + + + +
    const char uint32_t const char uint32_t const char uint32_t const char uint32_t eosio::internal_use_do_not_use::t1_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 34

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a23f8d804101d000066f736d21bafd1c2.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a23f8d804101d000066f736d21bafd1c2.html new file mode 100644 index 000000000..c21905b77 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a23f8d804101d000066f736d21bafd1c2.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::ram_bytes + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ ram_bytes

    + +
    +
    + + + + +
    int64_t eosio::internal_use_do_not_use::ram_bytes
    +
    + +

    См. определение в файле privileged.hpp строка 19

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a28632f86cebf874025ec85cf5b9d0d84.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a28632f86cebf874025ec85cf5b9d0d84.html new file mode 100644 index 000000000..54ebcd763 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a28632f86cebf874025ec85cf5b9d0d84.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::cpu_weight + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ cpu_weight

    + +
    +
    + + + + +
    int64_t int64_t int64_t eosio::internal_use_do_not_use::cpu_weight
    +
    + +

    См. определение в файле privileged.hpp строка 19

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a2ca0cdda4f780baef07a180db174398d.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a2ca0cdda4f780baef07a180db174398d.html new file mode 100644 index 000000000..a15774a9f --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a2ca0cdda4f780baef07a180db174398d.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::result_buffer + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ result_buffer

    + +
    +
    + + + + +
    uint32_t char* eosio::internal_use_do_not_use::result_buffer
    +
    + +

    См. определение в файле action.hpp строка 54

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a2ff751e455a60d35e382a8736289a519.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a2ff751e455a60d35e382a8736289a519.html new file mode 100644 index 000000000..08da08124 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a2ff751e455a60d35e382a8736289a519.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::data_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ data_len

    + +
    +
    + + + + +
    uint32_t eosio::internal_use_do_not_use::data_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 40

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a30853e057dc485d7a41e6fc3ecadffe8.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a30853e057dc485d7a41e6fc3ecadffe8.html new file mode 100644 index 000000000..67db4ab57 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a30853e057dc485d7a41e6fc3ecadffe8.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::hash_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ hash_len

    + +
    +
    + + + + +
    uint32_t char uint32_t eosio::internal_use_do_not_use::hash_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 40

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3177f19fc85c9e72ede34e3573a101e9.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3177f19fc85c9e72ede34e3573a101e9.html new file mode 100644 index 000000000..9b036ad19 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3177f19fc85c9e72ede34e3573a101e9.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::scalar_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ scalar_len

    + +
    +
    + + + + +
    uint32_t const char uint32_t eosio::internal_use_do_not_use::scalar_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 25

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a38efe6447fc3d3b0f3d27fc883cc6c5e.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a38efe6447fc3d3b0f3d27fc883cc6c5e.html new file mode 100644 index 000000000..904ba2d18 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a38efe6447fc3d3b0f3d27fc883cc6c5e.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::scalar + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ scalar

    + +
    +
    + + + + +
    uint32_t const char* eosio::internal_use_do_not_use::scalar
    +
    + +

    См. определение в файле crypto_ext.hpp строка 25

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3a794c5c2a2c47a98ae7b9e5732baeec.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3a794c5c2a2c47a98ae7b9e5732baeec.html new file mode 100644 index 000000000..7e097c2e0 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3a794c5c2a2c47a98ae7b9e5732baeec.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::size_t + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ size_t

    + +
    +
    + + + + +
    char eosio::internal_use_do_not_use::size_t
    +
    + +

    См. определение в файле transaction.hpp строка 17

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3cf08e393da6ced475992073668ae916.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3cf08e393da6ced475992073668ae916.html new file mode 100644 index 000000000..83d7f10f6 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3cf08e393da6ced475992073668ae916.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::op2 + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ op2

    + +
    +
    + + + + +
    uint32_t const char* eosio::internal_use_do_not_use::op2
    +
    + +

    См. определение в файле crypto_ext.hpp строка 22

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3f4c3d55b6ee872679410d65c69d9793.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3f4c3d55b6ee872679410d65c69d9793.html new file mode 100644 index 000000000..ecea366af --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a3f4c3d55b6ee872679410d65c69d9793.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::pairs_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ pairs_len

    + +
    +
    + + + + +
    uint32_t eosio::internal_use_do_not_use::pairs_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 28

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a40f68c0fdc4874d206da23b1feccba91.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a40f68c0fdc4874d206da23b1feccba91.html new file mode 100644 index 000000000..e482917e9 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a40f68c0fdc4874d206da23b1feccba91.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::size + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ size

    + +
    +
    + + + + +
    size_t eosio::internal_use_do_not_use::size
    +
    + +

    См. определение в файле action.hpp строка 42

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a41b6f2811e48e074d00c5b6366641ea9.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a41b6f2811e48e074d00c5b6366641ea9.html new file mode 100644 index 000000000..5b9c69ccf --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a41b6f2811e48e074d00c5b6366641ea9.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::is_priv + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ is_priv

    + +
    +
    + + + + +
    bool eosio::internal_use_do_not_use::is_priv
    +
    + +

    См. определение в файле privileged.hpp строка 25

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a465fae2c786f7a3bfd4c9f0149d3dd0a.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a465fae2c786f7a3bfd4c9f0149d3dd0a.html new file mode 100644 index 000000000..adb310ee7 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a465fae2c786f7a3bfd4c9f0149d3dd0a.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::used_ram_bytes + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ used_ram_bytes

    + +
    +
    + + + + +
    int64_t* eosio::internal_use_do_not_use::used_ram_bytes
    +
    + +

    См. определение в файле privileged.hpp строка 16

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a469d875a2db46706f7df9f2896c4a53c.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a469d875a2db46706f7df9f2896c4a53c.html new file mode 100644 index 000000000..ce16bd6b3 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a469d875a2db46706f7df9f2896c4a53c.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::t1_offset + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ t1_offset

    + +
    +
    + + + + +
    const char uint32_t const char uint32_t const char uint32_t const char* eosio::internal_use_do_not_use::t1_offset
    +
    + +

    См. определение в файле crypto_ext.hpp строка 34

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a4cf60fb32150ba3e0e63f357f9747387.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a4cf60fb32150ba3e0e63f357f9747387.html new file mode 100644 index 000000000..47f402e45 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a4cf60fb32150ba3e0e63f357f9747387.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::__attribute__ + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ __attribute__() [2/4]

    + +
    +
    + + + + + + + + +
    eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import) )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a534eba603614762626318e8679af9759.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a534eba603614762626318e8679af9759.html new file mode 100644 index 000000000..bad6dcb6c --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a534eba603614762626318e8679af9759.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::g1_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ g1_len

    + +
    +
    + + + + +
    uint32_t eosio::internal_use_do_not_use::g1_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 25

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a5fd9f46e4c5ed043c0fbb72feb401b1a.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a5fd9f46e4c5ed043c0fbb72feb401b1a.html new file mode 100644 index 000000000..34b4ea6cd --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a5fd9f46e4c5ed043c0fbb72feb401b1a.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::sig_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ sig_len

    + +
    +
    + + + + +
    uint32_t eosio::internal_use_do_not_use::sig_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 37

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a68510fd663c8c85a2d88b27ac117d4a4.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a68510fd663c8c85a2d88b27ac117d4a4.html new file mode 100644 index 000000000..51d9d68e7 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a68510fd663c8c85a2d88b27ac117d4a4.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::state + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ state

    + +
    +
    + + + + +
    const char* eosio::internal_use_do_not_use::state
    +
    + +

    См. определение в файле crypto_ext.hpp строка 34

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a7688a54920b50f9e80249718bc0bb2e1.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a7688a54920b50f9e80249718bc0bb2e1.html new file mode 100644 index 000000000..c518fbadb --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a7688a54920b50f9e80249718bc0bb2e1.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::exp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ exp

    + +
    +
    + + + + +
    uint32_t const char* eosio::internal_use_do_not_use::exp
    +
    + +

    См. определение в файле crypto_ext.hpp строка 31

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a795262482ae507e5517c19e1ddaa606f.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a795262482ae507e5517c19e1ddaa606f.html new file mode 100644 index 000000000..45655fc4e --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a795262482ae507e5517c19e1ddaa606f.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::eosio_contract_name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ eosio_contract_name

    + +
    +
    + + + + +
    uint64_t eosio::internal_use_do_not_use::eosio_contract_name
    +
    + +

    См. определение в файле context.hpp строка 7

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a7bb660921197070acd6782ab13fec494.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a7bb660921197070acd6782ab13fec494.html new file mode 100644 index 000000000..66e53ef17 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a7bb660921197070acd6782ab13fec494.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::__attribute__ + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ __attribute__() [3/4]

    + +
    +
    + + + + + + + + +
    eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import) ) const &
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a80b6ad1bcafb20f5a29b03c22b52c748.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a80b6ad1bcafb20f5a29b03c22b52c748.html new file mode 100644 index 000000000..f4d5a6c54 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a80b6ad1bcafb20f5a29b03c22b52c748.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::keccak + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ keccak

    + +
    +
    + + + + +
    uint32_t char uint32_t int32_t eosio::internal_use_do_not_use::keccak
    +
    + +

    См. определение в файле crypto_ext.hpp строка 40

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a810409b760301c0d32156f81dc2da130.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a810409b760301c0d32156f81dc2da130.html new file mode 100644 index 000000000..2bd8ecb88 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a810409b760301c0d32156f81dc2da130.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::code + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ code

    + +
    +
    + + + + +
    uint64_t eosio::internal_use_do_not_use::code
    +
    + +

    См. определение в файле check.hpp строка 21

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a81a3d531420e3eb3b02b3fdf9a4302ec.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a81a3d531420e3eb3b02b3fdf9a4302ec.html new file mode 100644 index 000000000..a6abf7c50 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a81a3d531420e3eb3b02b3fdf9a4302ec.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::__attribute__ + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ __attribute__() [1/4]

    + +
    +
    + + + + + + + + +
    struct eosio::internal_use_do_not_use::__attribute__ ((aligned(16)) )
    +
    + +

    См. определение в файле crypto_ext.hpp строка 440

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a841d16d09118f0268c4bbafced547818.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a841d16d09118f0268c4bbafced547818.html new file mode 100644 index 000000000..c25668990 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a841d16d09118f0268c4bbafced547818.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::final + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ final

    + +
    +
    + + + + +
    const char uint32_t const char uint32_t const char uint32_t const char uint32_t int32_t eosio::internal_use_do_not_use::final
    +
    + +

    См. определение в файле crypto_ext.hpp строка 34

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a8b7a014794e4538ddc62ad7773b10078.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a8b7a014794e4538ddc62ad7773b10078.html new file mode 100644 index 000000000..edd3d5fc6 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a8b7a014794e4538ddc62ad7773b10078.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::base_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ base_len

    + +
    +
    + + + + +
    uint32_t eosio::internal_use_do_not_use::base_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 31

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a8cf455f7e4857671db549f53ec502c95.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a8cf455f7e4857671db549f53ec502c95.html new file mode 100644 index 000000000..890ab209d --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a8cf455f7e4857671db549f53ec502c95.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::dig_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ dig_len

    + +
    +
    + + + + +
    uint32_t const char uint32_t eosio::internal_use_do_not_use::dig_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 37

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a91ba4c6181c491d6312d505e61227273.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a91ba4c6181c491d6312d505e61227273.html new file mode 100644 index 000000000..62825f85a --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a91ba4c6181c491d6312d505e61227273.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::exp_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ exp_len

    + +
    +
    + + + + +
    uint32_t const char uint32_t eosio::internal_use_do_not_use::exp_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 31

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a93a8561c5ce93a3662e230570b7c2dc3.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a93a8561c5ce93a3662e230570b7c2dc3.html new file mode 100644 index 000000000..59e5414ca --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a93a8561c5ce93a3662e230570b7c2dc3.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::pub + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ pub

    + +
    +
    + + + + +
    uint32_t const char uint32_t char* eosio::internal_use_do_not_use::pub
    +
    + +

    См. определение в файле crypto_ext.hpp строка 37

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a9eb916bf6dc3592b13ea43f058572fb1.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a9eb916bf6dc3592b13ea43f058572fb1.html new file mode 100644 index 000000000..6e811ef9a --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_a9eb916bf6dc3592b13ea43f058572fb1.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::pub_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ pub_len

    + +
    +
    + + + + +
    uint32_t const char uint32_t char uint32_t eosio::internal_use_do_not_use::pub_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 37

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aa011a292ab4ac0b4e8e9371a33c4126d.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aa011a292ab4ac0b4e8e9371a33c4126d.html new file mode 100644 index 000000000..b87e70d0b --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aa011a292ab4ac0b4e8e9371a33c4126d.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::__attribute + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ __attribute()

    + +
    +
    + + + + + + + + +
    eosio::internal_use_do_not_use::__attribute ((eosio_wasm_import) )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aa83533278bab525701fa405485bb5390.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aa83533278bab525701fa405485bb5390.html new file mode 100644 index 000000000..7c3bbe0b4 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aa83533278bab525701fa405485bb5390.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ len

    + +
    +
    + + + + +
    uint32_t eosio::internal_use_do_not_use::len
    +
    + +

    См. определение в файле action.hpp строка 21

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aa87ebca610090d4846fdf11d9dc46e2d.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aa87ebca610090d4846fdf11d9dc46e2d.html new file mode 100644 index 000000000..7367c4fa3 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aa87ebca610090d4846fdf11d9dc46e2d.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::struct_version + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ struct_version

    + +
    +
    + + + + +
    uint32_t eosio::internal_use_do_not_use::struct_version
    +
    + +

    См. определение в файле action.hpp строка 54

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aabb8743640fb7b223160bb05c913b3e2.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aabb8743640fb7b223160bb05c913b3e2.html new file mode 100644 index 000000000..0d0b53b69 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aabb8743640fb7b223160bb05c913b3e2.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::dig + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ dig

    + +
    +
    + + + + +
    uint32_t const char* eosio::internal_use_do_not_use::dig
    +
    + +

    См. определение в файле crypto_ext.hpp строка 37

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aacd0bea153b8b67c940c638ea8a088b0.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aacd0bea153b8b67c940c638ea8a088b0.html new file mode 100644 index 000000000..5de29773f --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_aacd0bea153b8b67c940c638ea8a088b0.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::t0_offset + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ t0_offset

    + +
    +
    + + + + +
    const char uint32_t const char uint32_t const char* eosio::internal_use_do_not_use::t0_offset
    +
    + +

    См. определение в файле crypto_ext.hpp строка 34

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ab0a361bb08c4c76e3ff6515e7d600af0.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ab0a361bb08c4c76e3ff6515e7d600af0.html new file mode 100644 index 000000000..d417cfc14 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ab0a361bb08c4c76e3ff6515e7d600af0.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::__attribute__ + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ __attribute__() [4/4]

    + +
    +
    + + + + + + + + +
    eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import, noreturn) )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ab8c965fa59dd909d6c40c9663d0e88a9.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ab8c965fa59dd909d6c40c9663d0e88a9.html new file mode 100644 index 000000000..ee192a914 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ab8c965fa59dd909d6c40c9663d0e88a9.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::result + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ result

    + +
    +
    + + + + +
    const char uint32_t const char uint32_t const char uint32_t const char uint32_t int32_t char * eosio::internal_use_do_not_use::result
    +
    + +

    См. определение в файле crypto_ext.hpp строка 22

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_abc883019693b16f4ff37d33c0d1b61c4.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_abc883019693b16f4ff37d33c0d1b61c4.html new file mode 100644 index 000000000..419c50234 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_abc883019693b16f4ff37d33c0d1b61c4.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::uint32_t + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ uint32_t

    + +
    +
    + + + + +
    const char eosio::internal_use_do_not_use::uint32_t
    +
    + +

    См. определение в файле print.hpp строка 18

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ac6c4dae93eb41be759cf0b9b6b9cc8bc.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ac6c4dae93eb41be759cf0b9b6b9cc8bc.html new file mode 100644 index 000000000..f1cd10ed4 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ac6c4dae93eb41be759cf0b9b6b9cc8bc.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::result_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ result_len

    + +
    +
    + + + + +
    const char uint32_t const char uint32_t const char uint32_t const char uint32_t int32_t char uint32_t eosio::internal_use_do_not_use::result_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 22

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ac7be28ac54655c208de8137170324d33.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ac7be28ac54655c208de8137170324d33.html new file mode 100644 index 000000000..9edc39cf7 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ac7be28ac54655c208de8137170324d33.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::t0_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ t0_len

    + +
    +
    + + + + +
    const char uint32_t const char uint32_t const char uint32_t eosio::internal_use_do_not_use::t0_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 34

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ac956e7abe6f9a0aec8d5afce830c336a.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ac956e7abe6f9a0aec8d5afce830c336a.html new file mode 100644 index 000000000..c83c38a79 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ac956e7abe6f9a0aec8d5afce830c336a.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::permission + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ permission

    + +
    +
    + + + + +
    uint64_t eosio::internal_use_do_not_use::permission
    +
    + +

    См. определение в файле action.hpp строка 36

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_acca21e2be5ba5b6123e646f739e16ca0.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_acca21e2be5ba5b6123e646f739e16ca0.html new file mode 100644 index 000000000..aff606e23 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_acca21e2be5ba5b6123e646f739e16ca0.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::state_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ state_len

    + +
    +
    + + + + +
    const char uint32_t eosio::internal_use_do_not_use::state_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 34

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ad42bdd88a64a703b94a11a89e3345a7c.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ad42bdd88a64a703b94a11a89e3345a7c.html new file mode 100644 index 000000000..799f75d79 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ad42bdd88a64a703b94a11a89e3345a7c.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::hash + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ hash

    + +
    +
    + + + + +
    uint32_t char* eosio::internal_use_do_not_use::hash
    +
    + +

    См. определение в файле crypto_ext.hpp строка 40

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ada902a227b77350f7f51b72a0a3db867.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ada902a227b77350f7f51b72a0a3db867.html new file mode 100644 index 000000000..d9aab5bd4 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ada902a227b77350f7f51b72a0a3db867.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::producer_data + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ producer_data

    + +
    +
    + + + + +
    char* eosio::internal_use_do_not_use::producer_data
    +
    + +

    См. определение в файле privileged.hpp строка 40

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_adb452b37e25d266414ded2a0bcec1b45.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_adb452b37e25d266414ded2a0bcec1b45.html new file mode 100644 index 000000000..5f59da1a9 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_adb452b37e25d266414ded2a0bcec1b45.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::mod_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ mod_len

    + +
    +
    + + + + +
    uint32_t const char uint32_t const char uint32_t eosio::internal_use_do_not_use::mod_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 31

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_add8aff837dc2c0d88fde2e0cc395b869.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_add8aff837dc2c0d88fde2e0cc395b869.html new file mode 100644 index 000000000..5f3b2a913 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_add8aff837dc2c0d88fde2e0cc395b869.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::msg_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ msg_len

    + +
    +
    + + + + +
    const char uint32_t const char uint32_t eosio::internal_use_do_not_use::msg_len
    +
    + +

    См. определение в файле check.hpp строка 18

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ae6703efb9c09cd5c00bf70eee2bbd9e0.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ae6703efb9c09cd5c00bf70eee2bbd9e0.html new file mode 100644 index 000000000..51073e7c0 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_ae6703efb9c09cd5c00bf70eee2bbd9e0.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::buffer_size + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ buffer_size

    + +
    +
    + + + + +
    uint32_t char size_t eosio::internal_use_do_not_use::buffer_size
    +
    + +

    См. определение в файле action.hpp строка 54

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_af2a181710ad035098993649b3dc97a0f.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_af2a181710ad035098993649b3dc97a0f.html new file mode 100644 index 000000000..859c45ad7 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_af2a181710ad035098993649b3dc97a0f.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::msg + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ msg

    + +
    +
    + + + + +
    const char uint32_t const char * eosio::internal_use_do_not_use::msg
    +
    + +

    См. определение в файле check.hpp строка 15

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_af8ebf8425f3a88d9f6fd90e0cc362a9c.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_af8ebf8425f3a88d9f6fd90e0cc362a9c.html new file mode 100644 index 000000000..c84361a81 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_af8ebf8425f3a88d9f6fd90e0cc362a9c.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::op2_len + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ op2_len

    + +
    +
    + + + + +
    uint32_t const char uint32_t eosio::internal_use_do_not_use::op2_len
    +
    + +

    См. определение в файле crypto_ext.hpp строка 22

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_afe6f9d73dd3f9437b6244774206ac8fb.html b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_afe6f9d73dd3f9437b6244774206ac8fb.html new file mode 100644 index 000000000..5814ca429 --- /dev/null +++ b/docs/cdt/namespaceeosio_1_1internal__use__do__not__use_afe6f9d73dd3f9437b6244774206ac8fb.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::internal_use_do_not_use::datalen + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ datalen

    + +
    +
    + + + + +
    uint32_t eosio::internal_use_do_not_use::datalen
    +
    + +

    См. определение в файле privileged.hpp строка 28

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a0071f0e52a33e72d2b0da6fb69fd5a01.html b/docs/cdt/namespaceeosio_a0071f0e52a33e72d2b0da6fb69fd5a01.html new file mode 100644 index 000000000..db623efab --- /dev/null +++ b/docs/cdt/namespaceeosio_a0071f0e52a33e72d2b0da6fb69fd5a01.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [11/22]

    + +
    +
    +
    +template<typename Stream , typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::list< T > & l 
    )
    +
    +inline
    +
    +

    Десериализует std::list из потока

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    opt- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 301

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a057c7fbba3a58e93208c3901359e5896.html b/docs/cdt/namespaceeosio_a057c7fbba3a58e93208c3901359e5896.html new file mode 100644 index 000000000..70aebff6a --- /dev/null +++ b/docs/cdt/namespaceeosio_a057c7fbba3a58e93208c3901359e5896.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [18/22]

    + +
    +
    +
    +template<typename Stream , typename... Ts>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::variant< Ts... > & var 
    )
    +
    +inline
    +
    +

    Десериализует std::variant из потока

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    opt- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 384

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a0620d4ec6f522f17350db97ac3c14840.html b/docs/cdt/namespaceeosio_a0620d4ec6f522f17350db97ac3c14840.html new file mode 100644 index 000000000..86e744e31 --- /dev/null +++ b/docs/cdt/namespaceeosio_a0620d4ec6f522f17350db97ac3c14840.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::write_decimal + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ write_decimal()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    char * eosio::write_decimal (char * begin,
    char * end,
    bool dry_run,
    uint64_t number,
    uint8_t num_decimal_places,
    bool negative 
    )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a0917f40ecb384d7934f7983351b397ce.html b/docs/cdt/namespaceeosio_a0917f40ecb384d7934f7983351b397ce.html new file mode 100644 index 000000000..8d57396cb --- /dev/null +++ b/docs/cdt/namespaceeosio_a0917f40ecb384d7934f7983351b397ce.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::dispatch_inline + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ dispatch_inline()

    + +
    +
    +
    +template<typename... Args>
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void eosio::dispatch_inline (name code,
    name act,
    std::vector< permission_levelperms,
    std::tuple< Args... > args 
    )
    +
    + +

    См. определение в файле action.hpp строка 600

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a0a8f491c6e9e9e3c629e6439b7b594a8.html b/docs/cdt/namespaceeosio_a0a8f491c6e9e9e3c629e6439b7b594a8.html new file mode 100644 index 000000000..3899d4007 --- /dev/null +++ b/docs/cdt/namespaceeosio_a0a8f491c6e9e9e3c629e6439b7b594a8.html @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::convert_to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ convert_to_key() [1/2]

    + +
    +
    +
    +template<typename T >
    + + + + + + + + +
    key_type eosio::convert_to_key (const T & t)
    +
    + +

    См. определение в файле key_utils.hpp строка 338

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a0b5c48a772a3cc24ae76620483aceb23.html b/docs/cdt/namespaceeosio_a0b5c48a772a3cc24ae76620483aceb23.html new file mode 100644 index 000000000..346e59ec1 --- /dev/null +++ b/docs/cdt/namespaceeosio_a0b5c48a772a3cc24ae76620483aceb23.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [19/22]

    + +
    +
    +
    +template<typename Stream , typename... Ts>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::variant< Ts... > & var 
    )
    +
    +inline
    +
    +

    Сериализует std::variant в поток

    +
    Аргументы
    + + + +
    ds- Поток для записи
    opt- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 335

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a0e3c662ea73d93bdf6f2a4a6c7ab3ee9.html b/docs/cdt/namespaceeosio_a0e3c662ea73d93bdf6f2a4a6c7ab3ee9.html new file mode 100644 index 000000000..4355582c3 --- /dev/null +++ b/docs/cdt/namespaceeosio_a0e3c662ea73d93bdf6f2a4a6c7ab3ee9.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::convert_to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ convert_to_key() [2/2]

    + +
    +
    +
    +template<typename T >
    + + + + + + + + + + + + + + + + + + +
    void eosio::convert_to_key (const T & t,
    key_typebin 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 327

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a1033bcb60718baa8636b8639205cbb79.html b/docs/cdt/namespaceeosio_a1033bcb60718baa8636b8639205cbb79.html new file mode 100644 index 000000000..884ff1ce4 --- /dev/null +++ b/docs/cdt/namespaceeosio_a1033bcb60718baa8636b8639205cbb79.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [17/22]

    + +
    +
    +
    +template<typename Stream , typename... Args>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::tuple< Args... > & t 
    )
    +
    +

    Десериализует std::tuple

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    t- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    Args- Типы элементов кортежа
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 949

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a11247ca58ee8acf29f3486c0e2772788.html b/docs/cdt/namespaceeosio_a11247ca58ee8acf29f3486c0e2772788.html new file mode 100644 index 000000000..5e0cf3ee7 --- /dev/null +++ b/docs/cdt/namespaceeosio_a11247ca58ee8acf29f3486c0e2772788.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::deserialize + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ deserialize()

    + +
    +
    +
    +template<int I, typename Stream , typename... Ts>
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void eosio::deserialize (datastream< Stream > & ds,
    std::variant< Ts... > & var,
    int i 
    )
    +
    + +

    См. определение в файле datastream.hpp строка 361

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a11b12cc37c10cfd1c3bf36c217aa29f6.html b/docs/cdt/namespaceeosio_a11b12cc37c10cfd1c3bf36c217aa29f6.html new file mode 100644 index 000000000..b67ad1147 --- /dev/null +++ b/docs/cdt/namespaceeosio_a11b12cc37c10cfd1c3bf36c217aa29f6.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [4/22]

    + +
    +
    +
    +template<typename DataStream >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator<< (DataStream & ds,
    const eosio::symbol_code sym_code 
    )
    +
    +inline
    +
    +

    Сериализация symbol_code в поток

    +
    Аргументы
    + + + +
    ds— поток записи
    sym_code— значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + +
    DataStream— тип буфера потока данных
    +
    +
    +
    Возвращает
    DataStream& — ссылка на поток
    + +

    См. определение в файле symbol.hpp строка 215

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a14b4435561885695942e8d60b7d5e7b7.html b/docs/cdt/namespaceeosio_a14b4435561885695942e8d60b7d5e7b7.html new file mode 100644 index 000000000..0b49ade76 --- /dev/null +++ b/docs/cdt/namespaceeosio_a14b4435561885695942e8d60b7d5e7b7.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator!= + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator!=()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool eosio::operator!= (const stringlhs,
    const stringrhs 
    )
    +
    +inline
    +
    + +

    См. определение в файле string.hpp строка 457

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a17d4c25130755b9075b48cb9f22411a5.html b/docs/cdt/namespaceeosio_a17d4c25130755b9075b48cb9f22411a5.html new file mode 100644 index 000000000..9cabdf8a6 --- /dev/null +++ b/docs/cdt/namespaceeosio_a17d4c25130755b9075b48cb9f22411a5.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [8/12]

    + +
    +
    +
    +template<typename... Ts, typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (const std::tuple< Ts... > & obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 109

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a188287b053c352c204cf0ef83786cdcd.html b/docs/cdt/namespaceeosio_a188287b053c352c204cf0ef83786cdcd.html new file mode 100644 index 000000000..b9ddadba1 --- /dev/null +++ b/docs/cdt/namespaceeosio_a188287b053c352c204cf0ef83786cdcd.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [14/22]

    + +
    +
    +
    +template<typename Stream , typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::optional< T > & opt 
    )
    +
    +inline
    +
    +

    Сериализует optional в поток

    +
    Аргументы
    + + + +
    ds- Поток для записи
    opt- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 417

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a1fe03e054c95360f2dd4e563aa49695b.html b/docs/cdt/namespaceeosio_a1fe03e054c95360f2dd4e563aa49695b.html new file mode 100644 index 000000000..ac717ac32 --- /dev/null +++ b/docs/cdt/namespaceeosio_a1fe03e054c95360f2dd4e563aa49695b.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::current_receiver + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ current_receiver()

    + +
    +
    + + + + + +
    + + + + + + + +
    name eosio::current_receiver ()
    +
    +inline
    +
    +

    Возвращает текущего получателя действия

    Возвращает
    аккаунт — текущий получатель действия
    + +

    См. определение в файле action.hpp строка 160

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a26818b9f0aa2826193c12ebbcd516d5c.html b/docs/cdt/namespaceeosio_a26818b9f0aa2826193c12ebbcd516d5c.html new file mode 100644 index 000000000..a6ce32811 --- /dev/null +++ b/docs/cdt/namespaceeosio_a26818b9f0aa2826193c12ebbcd516d5c.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [5/12]

    + +
    +
    +
    +template<typename T , typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (const std::optional< T > & obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 175

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a290409b4cb05910111f068b83f65018f.html b/docs/cdt/namespaceeosio_a290409b4cb05910111f068b83f65018f.html new file mode 100644 index 000000000..f77e5ec3a --- /dev/null +++ b/docs/cdt/namespaceeosio_a290409b4cb05910111f068b83f65018f.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [11/22]

    + +
    +
    +
    +template<typename Stream , typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::deque< T > & d 
    )
    +
    +inline
    +
    +

    Сериализует std::deque в поток

    +
    Аргументы
    + + + +
    ds- Поток для записи
    opt- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 301

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a29a31fdb3cb6abce3f6abcf6840ea00c.html b/docs/cdt/namespaceeosio_a29a31fdb3cb6abce3f6abcf6840ea00c.html new file mode 100644 index 000000000..26ecb453c --- /dev/null +++ b/docs/cdt/namespaceeosio_a29a31fdb3cb6abce3f6abcf6840ea00c.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::minutes + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ minutes()

    + +
    +
    + + + + + +
    + + + + + + + + +
    microseconds eosio::minutes (int64_t m)
    +
    +inline
    +
    + +

    См. определение в файле time.hpp строка 49

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a2b8d5b8f5a1829bd6967c3fe89eea506.html b/docs/cdt/namespaceeosio_a2b8d5b8f5a1829bd6967c3fe89eea506.html new file mode 100644 index 000000000..b3ff8c3c4 --- /dev/null +++ b/docs/cdt/namespaceeosio_a2b8d5b8f5a1829bd6967c3fe89eea506.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::milliseconds + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ milliseconds()

    + +
    +
    + + + + + +
    + + + + + + + + +
    microseconds eosio::milliseconds (int64_t s)
    +
    +inline
    +
    + +

    См. определение в файле time.hpp строка 48

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a2c1d8a8d997953cd44283b2de8860c4a.html b/docs/cdt/namespaceeosio_a2c1d8a8d997953cd44283b2de8860c4a.html new file mode 100644 index 000000000..b2328b799 --- /dev/null +++ b/docs/cdt/namespaceeosio_a2c1d8a8d997953cd44283b2de8860c4a.html @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [20/22]

    + +
    +
    +
    +template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::vector< T > & v 
    )
    +
    +

    Сериализует vector из T, где T — примитивный тип данных

    +
    Аргументы
    + + + +
    ds- Поток для записи
    v- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    +

    Сериализует vector

    +
    Аргументы
    + + + +
    ds- Поток для записи
    v- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип элементов vector
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 688

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a2f1c46cd699cf27d007b60f941edaca0.html b/docs/cdt/namespaceeosio_a2f1c46cd699cf27d007b60f941edaca0.html new file mode 100644 index 000000000..5247cee04 --- /dev/null +++ b/docs/cdt/namespaceeosio_a2f1c46cd699cf27d007b60f941edaca0.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator== + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator==()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool eosio::operator== (const stringlhs,
    const stringrhs 
    )
    +
    +inline
    +
    + +

    См. определение в файле string.hpp строка 453

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a3019314f98ba35c586a0d3c50747e7ee.html b/docs/cdt/namespaceeosio_a3019314f98ba35c586a0d3c50747e7ee.html new file mode 100644 index 000000000..3304cbb04 --- /dev/null +++ b/docs/cdt/namespaceeosio_a3019314f98ba35c586a0d3c50747e7ee.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::overloaded + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ overloaded()

    + +
    +
    +
    +template<class... Ts>
    + + + + + + + + +
    eosio::overloaded (Ts... ) -> overloaded< Ts... >
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a3257302604d39723e60f3431e4fab38a.html b/docs/cdt/namespaceeosio_a3257302604d39723e60f3431e4fab38a.html new file mode 100644 index 000000000..97cc41972 --- /dev/null +++ b/docs/cdt/namespaceeosio_a3257302604d39723e60f3431e4fab38a.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [13/22]

    + +
    +
    +
    +template<typename Stream , typename K , typename V >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::map< K, V > & m 
    )
    +
    +

    Сериализует std::map

    +
    Аргументы
    + + + +
    ds- Поток для записи
    m- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + + +
    Stream- Тип буфера потока данных
    K- Тип ключа в map
    V- Тип значения в map
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 868

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a33b982404d2fd14a2618564ae69db447.html b/docs/cdt/namespaceeosio_a33b982404d2fd14a2618564ae69db447.html new file mode 100644 index 000000000..f8b8e3681 --- /dev/null +++ b/docs/cdt/namespaceeosio_a33b982404d2fd14a2618564ae69db447.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::hours + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ hours()

    + +
    +
    + + + + + +
    + + + + + + + + +
    microseconds eosio::hours (int64_t h)
    +
    +inline
    +
    + +

    См. определение в файле time.hpp строка 50

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a34f484a1bd28d77948b4166d0b92b6f1.html b/docs/cdt/namespaceeosio_a34f484a1bd28d77948b4166d0b92b6f1.html new file mode 100644 index 000000000..0e3721d9c --- /dev/null +++ b/docs/cdt/namespaceeosio_a34f484a1bd28d77948b4166d0b92b6f1.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [16/22]

    + +
    +
    +
    +template<typename Stream , typename T >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::set< T > & s 
    )
    +
    +

    Сериализует std::set

    +
    Аргументы
    + + + +
    ds- Поток для записи
    s- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип элементов множества
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 830

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a37421e74f3192dbb7ca11ff9b9c0864c.html b/docs/cdt/namespaceeosio_a37421e74f3192dbb7ca11ff9b9c0864c.html new file mode 100644 index 000000000..f95b227a0 --- /dev/null +++ b/docs/cdt/namespaceeosio_a37421e74f3192dbb7ca11ff9b9c0864c.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [13/22]

    + +
    +
    +
    +template<typename Stream , typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::optional< T > & opt 
    )
    +
    +inline
    +
    +

    Десериализует optional из потока

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    opt- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 452

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a3769e5e16987ccf2c510856696f38b9d.html b/docs/cdt/namespaceeosio_a3769e5e16987ccf2c510856696f38b9d.html new file mode 100644 index 000000000..05be9a46e --- /dev/null +++ b/docs/cdt/namespaceeosio_a3769e5e16987ccf2c510856696f38b9d.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool eosio::operator< (const stringlhs,
    const stringrhs 
    )
    +
    +inline
    +
    + +

    См. определение в файле string.hpp строка 427

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a377492aec0291bc289eba84d31b52f60.html b/docs/cdt/namespaceeosio_a377492aec0291bc289eba84d31b52f60.html new file mode 100644 index 000000000..3daf8de16 --- /dev/null +++ b/docs/cdt/namespaceeosio_a377492aec0291bc289eba84d31b52f60.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key_optional + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key_optional() [1/2]

    + +
    +
    +
    +template<typename T , typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key_optional (const bool * obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 119

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a381a9f8735361fcbfb7b3a619764fad9.html b/docs/cdt/namespaceeosio_a381a9f8735361fcbfb7b3a619764fad9.html new file mode 100644 index 000000000..ca5825495 --- /dev/null +++ b/docs/cdt/namespaceeosio_a381a9f8735361fcbfb7b3a619764fad9.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [10/22]

    + +
    +
    +
    +template<typename Stream >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::basic_string< uint8_t > & s 
    )
    +
    +

    Сериализует basic_string<uint8_t>

    +
    Аргументы
    + + + +
    ds- Поток для записи
    s- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип элементов basic_string
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 795

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a394cc26970e40b355b4c946fffc5fd78.html b/docs/cdt/namespaceeosio_a394cc26970e40b355b4c946fffc5fd78.html new file mode 100644 index 000000000..8f45d5931 --- /dev/null +++ b/docs/cdt/namespaceeosio_a394cc26970e40b355b4c946fffc5fd78.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [20/22]

    + +
    +
    +
    +template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    T & v 
    )
    +
    +

    Десериализует примитивный тип

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    v- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Примитивный тип
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 1015

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a3ea13490e88014aa37e0bd98d45b4858.html b/docs/cdt/namespaceeosio_a3ea13490e88014aa37e0bd98d45b4858.html new file mode 100644 index 000000000..eaeec2e4f --- /dev/null +++ b/docs/cdt/namespaceeosio_a3ea13490e88014aa37e0bd98d45b4858.html @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [19/22]

    + +
    +
    +
    +template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::vector< T > & v 
    )
    +
    +

    Десериализует vector из T, где T — примитивный тип данных

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    v- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    +

    Десериализует vector

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    v- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип элементов vector
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 740

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a414bc3518c0e6f968338533ccbb381b8.html b/docs/cdt/namespaceeosio_a414bc3518c0e6f968338533ccbb381b8.html new file mode 100644 index 000000000..d3486fc10 --- /dev/null +++ b/docs/cdt/namespaceeosio_a414bc3518c0e6f968338533ccbb381b8.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [6/12]

    + +
    +
    +
    +template<typename T , typename U , typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (const std::pair< T, U > & obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 153

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a42e0876d95586115725e60f81b684b9a.html b/docs/cdt/namespaceeosio_a42e0876d95586115725e60f81b684b9a.html new file mode 100644 index 000000000..d48321fb1 --- /dev/null +++ b/docs/cdt/namespaceeosio_a42e0876d95586115725e60f81b684b9a.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::get_code_hash + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ get_code_hash()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    checksum256 eosio::get_code_hash (name account,
    code_hash_resultfull_result = nullptr 
    )
    +
    +inline
    +
    +

    Возвращает хэш кода, опубликованного на указанном аккаунте

    Аргументы
    + + + +
    accountимя аккаунта, код которого хэшируется
    full_resultнеобязательно: при необходимости полной структуры результата — указатель на заполняемую структуру
    +
    +
    +
    Возвращает
    SHA256-хэш кода указанного аккаунта
    + +

    См. определение в файле action.hpp строка 170

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a46b78c005e5ed39960b2e040b06b4053.html b/docs/cdt/namespaceeosio_a46b78c005e5ed39960b2e040b06b4053.html new file mode 100644 index 000000000..82a754bc9 --- /dev/null +++ b/docs/cdt/namespaceeosio_a46b78c005e5ed39960b2e040b06b4053.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [4/22]

    + +
    +
    +
    +template<typename DataStream >
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator>> (DataStream & ds,
    stringstr 
    )
    +
    + +

    См. определение в файле string.hpp строка 476

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a47a47165efbcc2cb38f68e8db90c377a.html b/docs/cdt/namespaceeosio_a47a47165efbcc2cb38f68e8db90c377a.html new file mode 100644 index 000000000..3e5c7730f --- /dev/null +++ b/docs/cdt/namespaceeosio_a47a47165efbcc2cb38f68e8db90c377a.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [15/22]

    + +
    +
    +
    +template<typename Stream , typename T >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::set< T > & s 
    )
    +
    +

    Десериализует std::set

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    s- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип элементов множества
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 868

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a4aff021c9a288ba2455ebe78af8fb8e1.html b/docs/cdt/namespaceeosio_a4aff021c9a288ba2455ebe78af8fb8e1.html new file mode 100644 index 000000000..0abcd6911 --- /dev/null +++ b/docs/cdt/namespaceeosio_a4aff021c9a288ba2455ebe78af8fb8e1.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::g2_point + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ g2_point

    + +
    +
    + + + + +
    using eosio::g2_point = typedef ec_point<g2_coordinate_size>
    +
    + +

    См. определение в файле crypto_ext.hpp строка 183

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a4df4bd625daf8e623fe79be6335657a0.html b/docs/cdt/namespaceeosio_a4df4bd625daf8e623fe79be6335657a0.html new file mode 100644 index 000000000..10069a479 --- /dev/null +++ b/docs/cdt/namespaceeosio_a4df4bd625daf8e623fe79be6335657a0.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::g1_point_view + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ g1_point_view

    + +
    +
    + + + + +
    using eosio::g1_point_view = typedef ec_point_view<g1_coordinate_size>
    +
    + +

    См. определение в файле crypto_ext.hpp строка 184

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a4f16ca40c7fd4cdde61b9e1f03d850de.html b/docs/cdt/namespaceeosio_a4f16ca40c7fd4cdde61b9e1f03d850de.html new file mode 100644 index 000000000..c4b1ec7c1 --- /dev/null +++ b/docs/cdt/namespaceeosio_a4f16ca40c7fd4cdde61b9e1f03d850de.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::powers_of_base + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ powers_of_base

    + +
    +
    +
    +template<uint8_t Base, typename T = uint64_t>
    + + + + + +
    + + + + +
    constexpr auto eosio::powers_of_base = detail::generate_array<detail::largest_power<T, Base>::exponent + 1>( detail::pow_generator<T, Base> )
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле powers.hpp строка 77

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a513f0adb057b01a6f5b5e6a67fc9d212.html b/docs/cdt/namespaceeosio_a513f0adb057b01a6f5b5e6a67fc9d212.html new file mode 100644 index 000000000..8c275df66 --- /dev/null +++ b/docs/cdt/namespaceeosio_a513f0adb057b01a6f5b5e6a67fc9d212.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [8/22]

    + +
    +
    +
    +template<typename Stream , typename T >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::basic_string< T > & s 
    )
    +
    +

    Десериализует basic_string<T>

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    s- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип элементов basic_string
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 795

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a56573a7efad7729714195ac50d6c1a52.html b/docs/cdt/namespaceeosio_a56573a7efad7729714195ac50d6c1a52.html new file mode 100644 index 000000000..7a40c3a7b --- /dev/null +++ b/docs/cdt/namespaceeosio_a56573a7efad7729714195ac50d6c1a52.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::g2_point_view + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ g2_point_view

    + +
    +
    + + + + +
    using eosio::g2_point_view = typedef ec_point_view<g2_coordinate_size>
    +
    + +

    См. определение в файле crypto_ext.hpp строка 185

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a58bac2858769a47b327004fb7dfacafa.html b/docs/cdt/namespaceeosio_a58bac2858769a47b327004fb7dfacafa.html new file mode 100644 index 000000000..fc887faad --- /dev/null +++ b/docs/cdt/namespaceeosio_a58bac2858769a47b327004fb7dfacafa.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [9/22]

    + +
    +
    +
    +template<typename Stream >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::basic_string< uint8_t > & s 
    )
    +
    +

    Десериализует basic_string<uint8_t>

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    s- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип элементов basic_string
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 830

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a59511f8552dbf4a2aced270041c17f04.html b/docs/cdt/namespaceeosio_a59511f8552dbf4a2aced270041c17f04.html new file mode 100644 index 000000000..a256c1663 --- /dev/null +++ b/docs/cdt/namespaceeosio_a59511f8552dbf4a2aced270041c17f04.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [6/22]

    + +
    +
    +
    +template<typename DataStream , typename T , std::enable_if_t< std::is_class< T >::value &&_datastream_detail::is_datastream< DataStream >::value > * = nullptr>
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator<< (DataStream & ds,
    const T & v 
    )
    +
    +

    Сериализует класс

    +
    Аргументы
    + + + +
    ds- Поток для записи
    v- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + +
    DataStream- Тип потока данных
    T- Тип класса
    +
    +
    +
    Возвращает
    DataStream& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 966

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a59e70f3361540d36ba192ca715a08adc.html b/docs/cdt/namespaceeosio_a59e70f3361540d36ba192ca715a08adc.html new file mode 100644 index 000000000..35aa09a5c --- /dev/null +++ b/docs/cdt/namespaceeosio_a59e70f3361540d36ba192ca715a08adc.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [17/22]

    + +
    +
    +
    +template<typename Stream >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::string & v 
    )
    +
    +

    Сериализует строку в поток

    +
    Аргументы
    + + + +
    ds- Поток для записи
    v- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 486

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a602640a08f02a893cab6b28016866ec0.html b/docs/cdt/namespaceeosio_a602640a08f02a893cab6b28016866ec0.html new file mode 100644 index 000000000..3586393cc --- /dev/null +++ b/docs/cdt/namespaceeosio_a602640a08f02a893cab6b28016866ec0.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_data_size + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action_data_size()

    + +
    +
    + + + + + +
    + + + + + + + +
    uint32_t eosio::action_data_size ()
    +
    +inline
    +
    +

    Возвращает длину поля данных текущего действия. Полезно для действий с динамическим размером

    +
    Возвращает
    длина поля данных текущего действия
    + +

    См. определение в файле action.hpp строка 227

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a6059b3dec50360c86d4098f81e70a286.html b/docs/cdt/namespaceeosio_a6059b3dec50360c86d4098f81e70a286.html new file mode 100644 index 000000000..f8dba030f --- /dev/null +++ b/docs/cdt/namespaceeosio_a6059b3dec50360c86d4098f81e70a286.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::print + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ print() [7/7]

    + +
    +
    +
    +template<typename T , std::enable_if_t< std::is_integral< std::decay_t< T > >::value &&std::is_signed< std::decay_t< T > >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    void eosio::print (num)
    +
    +inline
    +
    +

    Выводит знаковое целое 8–128 бит

    +
    Аргументы
    + + +
    numЗначение для вывода
    +
    +
    +

    Выводит беззнаковое целое 8–128 бит

    +
    Аргументы
    + + +
    numЗначение для вывода
    +
    +
    + +

    См. определение в файле print.hpp строка 109

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a66bd481ffeae8e16fbeb6244f57fdaa4.html b/docs/cdt/namespaceeosio_a66bd481ffeae8e16fbeb6244f57fdaa4.html new file mode 100644 index 000000000..d2fcaa5a3 --- /dev/null +++ b/docs/cdt/namespaceeosio_a66bd481ffeae8e16fbeb6244f57fdaa4.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [12/22]

    + +
    +
    +
    +template<typename Stream , typename K , typename V >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::map< K, V > & m 
    )
    +
    +

    Десериализует std::map

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    m- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + + +
    Stream- Тип буфера потока данных
    K- Тип ключа в map
    V- Тип значения в map
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 910

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a6985ebc6a27e11e105bb9433765c04d7.html b/docs/cdt/namespaceeosio_a6985ebc6a27e11e105bb9433765c04d7.html new file mode 100644 index 000000000..dca90e694 --- /dev/null +++ b/docs/cdt/namespaceeosio_a6985ebc6a27e11e105bb9433765c04d7.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [11/12]

    + +
    +
    +
    +template<typename T , typename S >
    + + + + + + + + + + + + + + + + + + +
    auto eosio::to_key (const T & obj,
    datastream< S > & stream 
    ) -> std::enable_if_t<is_ranged_type(std::declval<T>()), void>
    +
    + +

    См. определение в файле key_utils.hpp строка 165

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a71a6485bb43edd10491fc14e79dff5fa.html b/docs/cdt/namespaceeosio_a71a6485bb43edd10491fc14e79dff5fa.html new file mode 100644 index 000000000..ebcca3d4e --- /dev/null +++ b/docs/cdt/namespaceeosio_a71a6485bb43edd10491fc14e79dff5fa.html @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [1/22]

    + +
    +
    +
    +template<typename DataStream , typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator<< (DataStream & ds,
    const ::eosio::ignore< T > & val 
    )
    +
    +inline
    +
    + +

    Сериализация игнорируемого типа

    +

    Сериализация ignore<T> — ничего не записывает

    +
    Аргументы
    + + + +
    ds— поток записи
    val— игнорируемое значение
    +
    +
    +
    Параметры шаблона
    + + +
    DataStream— тип буфера потока данных
    +
    +
    +
    Возвращает
    DataStream& — ссылка на поток
    + +

    См. определение в файле ignore.hpp строка 61

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a73cd9c53f852d9d44d757259f38f10a8.html b/docs/cdt/namespaceeosio_a73cd9c53f852d9d44d757259f38f10a8.html new file mode 100644 index 000000000..432f9b807 --- /dev/null +++ b/docs/cdt/namespaceeosio_a73cd9c53f852d9d44d757259f38f10a8.html @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [2/22]

    + +
    +
    +
    +template<typename DataStream , typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator<< (DataStream & ds,
    const ::eosio::ignore_wrapper< T > & val 
    )
    +
    +inline
    +
    + +

    Сериализация значения T из ignored_wrapper<T>

    +

    Сериализация ignore_wrapper<T> в поток (пишется val.value)

    +
    Аргументы
    + + + +
    ds— поток записи
    val— обёртка с полем value
    +
    +
    +
    Параметры шаблона
    + + +
    DataStream— тип буфера потока данных
    +
    +
    +
    Возвращает
    DataStream& — ссылка на поток
    + +

    См. определение в файле ignore.hpp строка 46

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a765369843265789042da1b4856a07202.html b/docs/cdt/namespaceeosio_a765369843265789042da1b4856a07202.html new file mode 100644 index 000000000..88e7323ed --- /dev/null +++ b/docs/cdt/namespaceeosio_a765369843265789042da1b4856a07202.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [4/12]

    + +
    +
    +
    +template<typename T , typename U , typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (const std::map< T, U > & obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 170

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a76c9eef0a1a07d3dd3c924e6f302bf1c.html b/docs/cdt/namespaceeosio_a76c9eef0a1a07d3dd3c924e6f302bf1c.html new file mode 100644 index 000000000..1ae92219a --- /dev/null +++ b/docs/cdt/namespaceeosio_a76c9eef0a1a07d3dd3c924e6f302bf1c.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator+ + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator+()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    string eosio::operator+ (const stringlhs,
    const stringrhs 
    )
    +
    +inline
    +
    + +

    См. определение в файле string.hpp строка 461

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a798574a285557f53efab8521532da82d.html b/docs/cdt/namespaceeosio_a798574a285557f53efab8521532da82d.html new file mode 100644 index 000000000..50659e4b8 --- /dev/null +++ b/docs/cdt/namespaceeosio_a798574a285557f53efab8521532da82d.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [3/12]

    + +
    +
    +
    +template<typename T , std::size_t N, typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (const std::array< T, N > & obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 114

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a79dc07b5d636c1c341dc595c0fda9a85.html b/docs/cdt/namespaceeosio_a79dc07b5d636c1c341dc595c0fda9a85.html new file mode 100644 index 000000000..a28437328 --- /dev/null +++ b/docs/cdt/namespaceeosio_a79dc07b5d636c1c341dc595c0fda9a85.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [21/22]

    + +
    +
    +
    +template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_primitive< T >()> * = nullptr>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const T & v 
    )
    +
    +

    Сериализует примитивный тип

    +
    Аргументы
    + + + +
    ds- Поток для записи
    v- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Примитивный тип
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 983

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a7d64e2f48bca13601cf6606934e6e8e6.html b/docs/cdt/namespaceeosio_a7d64e2f48bca13601cf6606934e6e8e6.html new file mode 100644 index 000000000..ba314f79e --- /dev/null +++ b/docs/cdt/namespaceeosio_a7d64e2f48bca13601cf6606934e6e8e6.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [5/22]

    + +
    +
    +
    +template<typename DataStream , typename T , std::enable_if_t< std::is_class< T >::value &&_datastream_detail::is_datastream< DataStream >::value > * = nullptr>
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator>> (DataStream & ds,
    T & v 
    )
    +
    +

    Десериализует класс

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    v- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + +
    DataStream- Тип потока данных
    T- Тип класса
    +
    +
    +
    Возвращает
    DataStream& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 983

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a8010c134258beccbf5224e9f5c040825.html b/docs/cdt/namespaceeosio_a8010c134258beccbf5224e9f5c040825.html new file mode 100644 index 000000000..4c9114371 --- /dev/null +++ b/docs/cdt/namespaceeosio_a8010c134258beccbf5224e9f5c040825.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [10/12]

    + +
    +
    +
    +template<typename T , typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (const T & obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 302

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a80fdc59744805f578b1947990dc03372.html b/docs/cdt/namespaceeosio_a80fdc59744805f578b1947990dc03372.html new file mode 100644 index 000000000..eda964b63 --- /dev/null +++ b/docs/cdt/namespaceeosio_a80fdc59744805f578b1947990dc03372.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<= + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<=()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool eosio::operator<= (const stringlhs,
    const stringrhs 
    )
    +
    +inline
    +
    + +

    См. определение в файле string.hpp строка 445

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a83093b2d24efd8161abc60290a11945d.html b/docs/cdt/namespaceeosio_a83093b2d24efd8161abc60290a11945d.html new file mode 100644 index 000000000..afde6f7ae --- /dev/null +++ b/docs/cdt/namespaceeosio_a83093b2d24efd8161abc60290a11945d.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key_range + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key_range()

    + +
    +
    +
    +template<typename T , typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key_range (const T & obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 159

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a886436abb8b2d3bc0ff91fa0faf052b6.html b/docs/cdt/namespaceeosio_a886436abb8b2d3bc0ff91fa0faf052b6.html new file mode 100644 index 000000000..db9aa1970 --- /dev/null +++ b/docs/cdt/namespaceeosio_a886436abb8b2d3bc0ff91fa0faf052b6.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [7/12]

    + +
    +
    +
    +template<typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (const std::string & obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 278

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a8f65b4138ad6406630da2366a3f5b579.html b/docs/cdt/namespaceeosio_a8f65b4138ad6406630da2366a3f5b579.html new file mode 100644 index 000000000..93aff3fd6 --- /dev/null +++ b/docs/cdt/namespaceeosio_a8f65b4138ad6406630da2366a3f5b579.html @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [21/22]

    + +
    +
    +
    +template<typename Stream , typename T , std::size_t N, std::enable_if_t<!_datastream_detail::is_primitive< T >() &&!_datastream_detail::is_pointer< T >()> * = nullptr>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    T(&) v[N] 
    )
    +
    +

    Десериализует C-массив фиксированного размера из непримитивного и не указательного типа

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    v- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + + +
    T- Тип элементов массива
    N- Размер массива
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    +

    Десериализует C-массив фиксированного размера примитивного типа

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    v- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + + +
    T- Тип элементов массива
    N- Размер массива
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 667

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a92909b82c15215ec31eebe461e7d6403.html b/docs/cdt/namespaceeosio_a92909b82c15215ec31eebe461e7d6403.html new file mode 100644 index 000000000..035039fdd --- /dev/null +++ b/docs/cdt/namespaceeosio_a92909b82c15215ec31eebe461e7d6403.html @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [22/22]

    + +
    +
    +
    +template<typename Stream , typename T , std::enable_if_t< _datastream_detail::is_pointer< T >()> * = nullptr>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
     
    )
    +
    + +

    Указатель не должен сериализоваться; эта перегрузка всегда приводит к ошибке

    +

    Десериализует указатель

    +
    Аргументы
    + + +
    ds- Поток для чтения
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип указателя
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    +
    Постусловие
    Выбрасывает исключение, если это указатель
    + +

    См. определение в файле datastream.hpp строка 613

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a96515453c996337cf8a448415ea1997b.html b/docs/cdt/namespaceeosio_a96515453c996337cf8a448415ea1997b.html new file mode 100644 index 000000000..58dba9ab1 --- /dev/null +++ b/docs/cdt/namespaceeosio_a96515453c996337cf8a448415ea1997b.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [10/22]

    + +
    +
    +
    +template<typename Stream , typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::deque< T > & d 
    )
    +
    +inline
    +
    +

    Десериализует std::deque из потока

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    opt- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 335

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a97755f06683e48a1305a409ca3a6e9c3.html b/docs/cdt/namespaceeosio_a97755f06683e48a1305a409ca3a6e9c3.html new file mode 100644 index 000000000..fb60a98f6 --- /dev/null +++ b/docs/cdt/namespaceeosio_a97755f06683e48a1305a409ca3a6e9c3.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [15/22]

    + +
    +
    +
    +template<typename Stream , typename T1 , typename T2 >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::pair< T1, T2 > & t 
    )
    +
    +

    Сериализует std::pair

    +
    Аргументы
    + + + +
    ds- Поток для записи
    t- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    Args- Типы элементов кортежа
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 384

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a9a3b6961efd68d456b206a0c8bbb498f.html b/docs/cdt/namespaceeosio_a9a3b6961efd68d456b206a0c8bbb498f.html new file mode 100644 index 000000000..290b9a8d4 --- /dev/null +++ b/docs/cdt/namespaceeosio_a9a3b6961efd68d456b206a0c8bbb498f.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [3/22]

    + +
    +
    +
    +template<typename DataStream >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator>> (DataStream & ds,
    eosio::symbol_codesym_code 
    )
    +
    +inline
    +
    +

    Десериализация symbol_code из потока

    +
    Аргументы
    + + + +
    ds— поток чтения
    sym_code— приёмник значения
    +
    +
    +
    Параметры шаблона
    + + +
    DataStream— тип буфера потока данных
    +
    +
    +
    Возвращает
    DataStream& — ссылка на поток
    + +

    См. определение в файле symbol.hpp строка 230

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a9b454140b1bb214fbd65d75887098864.html b/docs/cdt/namespaceeosio_a9b454140b1bb214fbd65d75887098864.html new file mode 100644 index 000000000..05790ee44 --- /dev/null +++ b/docs/cdt/namespaceeosio_a9b454140b1bb214fbd65d75887098864.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [6/22]

    + +
    +
    +
    +template<typename Stream >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    bool & d 
    )
    +
    +inline
    +
    +

    Десериализует bool из потока

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    d- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 486

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_a9ff397ff9cb2e98f4ee095f16a155ff0.html b/docs/cdt/namespaceeosio_a9ff397ff9cb2e98f4ee095f16a155ff0.html new file mode 100644 index 000000000..708c0d7c5 --- /dev/null +++ b/docs/cdt/namespaceeosio_a9ff397ff9cb2e98f4ee095f16a155ff0.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key_varint32 + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key_varint32()

    + +
    +
    +
    +template<typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key_varint32 (std::int32_t obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 226

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_aa1d56938ffd3af0d7efffb788425112a.html b/docs/cdt/namespaceeosio_aa1d56938ffd3af0d7efffb788425112a.html new file mode 100644 index 000000000..48b104cd7 --- /dev/null +++ b/docs/cdt/namespaceeosio_aa1d56938ffd3af0d7efffb788425112a.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key_tuple + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key_tuple()

    + +
    +
    +
    +template<int I, typename T , typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key_tuple (const T & obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 101

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_aa9cbce17fa0d81b4fb658756a2aa9313.html b/docs/cdt/namespaceeosio_aa9cbce17fa0d81b4fb658756a2aa9313.html new file mode 100644 index 000000000..49504dcfa --- /dev/null +++ b/docs/cdt/namespaceeosio_aa9cbce17fa0d81b4fb658756a2aa9313.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [9/12]

    + +
    +
    +
    +template<typename... Ts, typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (const std::variant< Ts... > & obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 256

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_aabff7004d7cfc4fc8168bb0401f506e5.html b/docs/cdt/namespaceeosio_aabff7004d7cfc4fc8168bb0401f506e5.html new file mode 100644 index 000000000..0cf62372f --- /dev/null +++ b/docs/cdt/namespaceeosio_aabff7004d7cfc4fc8168bb0401f506e5.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [18/22]

    + +
    +
    +
    +template<typename Stream , typename... Args>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::tuple< Args... > & t 
    )
    +
    +

    Сериализует std::tuple

    +
    Аргументы
    + + + +
    ds- Поток для записи
    t- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    Args- Типы элементов кортежа
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 910

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_aad4e9f9863a4d679c37dc04858b7c98a.html b/docs/cdt/namespaceeosio_aad4e9f9863a4d679c37dc04858b7c98a.html new file mode 100644 index 000000000..b5601532d --- /dev/null +++ b/docs/cdt/namespaceeosio_aad4e9f9863a4d679c37dc04858b7c98a.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [1/22]

    + +
    +
    +
    +template<typename DataStream , typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator>> (DataStream & ds,
    ::eosio::ignore< T > &  
    )
    +
    +inline
    +
    + +

    Десериализация игнорируемого типа

    +

    Десериализация ignore<T> — ничего не читает

    +
    Аргументы
    + + +
    ds— поток чтения
    +
    +
    +
    Параметры шаблона
    + + +
    DataStream— тип буфера потока данных
    +
    +
    +
    Возвращает
    DataStream& — ссылка на поток
    + +

    См. определение в файле ignore.hpp строка 74

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ab18517b08024e1cdc4364a76c74cad59.html b/docs/cdt/namespaceeosio_ab18517b08024e1cdc4364a76c74cad59.html new file mode 100644 index 000000000..f1cf188d3 --- /dev/null +++ b/docs/cdt/namespaceeosio_ab18517b08024e1cdc4364a76c74cad59.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [2/12]

    + +
    +
    +
    +template<std::size_t N, typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (const char(&) str[N],
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 262

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ab403fc37b2c295133b5be19cfc548c4a.html b/docs/cdt/namespaceeosio_ab403fc37b2c295133b5be19cfc548c4a.html new file mode 100644 index 000000000..27641086d --- /dev/null +++ b/docs/cdt/namespaceeosio_ab403fc37b2c295133b5be19cfc548c4a.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>= + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>=()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool eosio::operator>= (const stringlhs,
    const stringrhs 
    )
    +
    +inline
    +
    + +

    См. определение в файле string.hpp строка 449

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ab432976d17c725306cbb3491917d71c2.html b/docs/cdt/namespaceeosio_ab432976d17c725306cbb3491917d71c2.html new file mode 100644 index 000000000..d2b8e41a2 --- /dev/null +++ b/docs/cdt/namespaceeosio_ab432976d17c725306cbb3491917d71c2.html @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [2/22]

    + +
    +
    +
    +template<typename DataStream >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator>> (DataStream & ds,
    eosio::symbolsym 
    )
    +
    +inline
    +
    + +

    Десериализация symbol.

    +

    Десериализация symbol из потока

    +
    Аргументы
    + + + +
    ds— поток чтения
    sym— приёмник значения
    +
    +
    +
    Параметры шаблона
    + + +
    DataStream— тип буфера потока данных
    +
    +
    +
    Возвращает
    DataStream& — ссылка на поток
    + +

    См. определение в файле symbol.hpp строка 368

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ab5232cf7452d463948eac1179f31d9f0.html b/docs/cdt/namespaceeosio_ab5232cf7452d463948eac1179f31d9f0.html new file mode 100644 index 000000000..b0402d81c --- /dev/null +++ b/docs/cdt/namespaceeosio_ab5232cf7452d463948eac1179f31d9f0.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::print + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ print() [1/7]

    + +
    +
    +
    +template<typename Arg , typename... Args>
    + + + + + + + + + + + + + + + + + + +
    void eosio::print (Arg && a,
    Args &&... args 
    )
    +
    +

    Выводит значение или список значений

    +
    Параметры шаблона
    + + + +
    Arg- Тип первого значения
    Args- Типы остальных значений
    +
    +
    +
    Аргументы
    + + + +
    a- Первое значение для вывода
    args- Остальные значения для вывода
    +
    +
    +

    Пример:

    +
    const char *s = "Hello World!";
    +
    uint64_t unsigned_64_bit_int = 1e+18;
    +
    uint128_t unsigned_128_bit_int (87654323456);
    +
    uint64_t string_as_unsigned_64_bit = "abcde"_n;
    +
    print(s , unsigned_64_bit_int, unsigned_128_bit_int, string_as_unsigned_64_bit);
    +
    // Ouput: Hello World!100000000000000000087654323456abcde
    +
    +

    См. определение в файле print.hpp строка 232

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ab9a725e824a4b42a2a4a23b994289061.html b/docs/cdt/namespaceeosio_ab9a725e824a4b42a2a4a23b994289061.html new file mode 100644 index 000000000..54ea19660 --- /dev/null +++ b/docs/cdt/namespaceeosio_ab9a725e824a4b42a2a4a23b994289061.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool eosio::operator> (const stringlhs,
    const stringrhs 
    )
    +
    +inline
    +
    + +

    См. определение в файле string.hpp строка 441

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_abdbab72cb6a9b99ab917c317a385d28d.html b/docs/cdt/namespaceeosio_abdbab72cb6a9b99ab917c317a385d28d.html new file mode 100644 index 000000000..02eac37c5 --- /dev/null +++ b/docs/cdt/namespaceeosio_abdbab72cb6a9b99ab917c317a385d28d.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_num_t + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ block_num_t

    + +
    +
    + + + + +
    using eosio::block_num_t = typedef uint32_t
    +
    + +

    См. определение в файле system.hpp строка 81

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_abfb0796f4c681681dfc3e28b1f581c14.html b/docs/cdt/namespaceeosio_abfb0796f4c681681dfc3e28b1f581c14.html new file mode 100644 index 000000000..3c1e1a72d --- /dev/null +++ b/docs/cdt/namespaceeosio_abfb0796f4c681681dfc3e28b1f581c14.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [16/22]

    + +
    +
    +
    +template<typename Stream >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::string & v 
    )
    +
    +

    Десериализует строку из потока

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    v- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 518

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ac871966a2176ae48a0a85b6170e13592.html b/docs/cdt/namespaceeosio_ac871966a2176ae48a0a85b6170e13592.html new file mode 100644 index 000000000..9eaafc991 --- /dev/null +++ b/docs/cdt/namespaceeosio_ac871966a2176ae48a0a85b6170e13592.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::key_type + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ key_type

    + +
    +
    + + + + +
    using eosio::key_type = typedef std::string
    +
    + +

    См. определение в файле key_utils.hpp строка 74

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ac9f0396ed775d5fe67df4b29bc7fc61f.html b/docs/cdt/namespaceeosio_ac9f0396ed775d5fe67df4b29bc7fc61f.html new file mode 100644 index 000000000..b8647d1c0 --- /dev/null +++ b/docs/cdt/namespaceeosio_ac9f0396ed775d5fe67df4b29bc7fc61f.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [12/22]

    + +
    +
    +
    +template<typename Stream , typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::list< T > & l 
    )
    +
    +inline
    +
    +

    Сериализует std::list в поток

    +
    Аргументы
    + + + +
    ds- Поток для записи
    opt- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 1

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ad64c4446ffb3e530c2c5eee66efcbd9d.html b/docs/cdt/namespaceeosio_ad64c4446ffb3e530c2c5eee66efcbd9d.html new file mode 100644 index 000000000..2b81f07d9 --- /dev/null +++ b/docs/cdt/namespaceeosio_ad64c4446ffb3e530c2c5eee66efcbd9d.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [12/12]

    + +
    +
    +
    +template<typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (std::string_view obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 267

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ada409d460d12c2d64ef2b02b3f99ddef.html b/docs/cdt/namespaceeosio_ada409d460d12c2d64ef2b02b3f99ddef.html new file mode 100644 index 000000000..224d1d1e0 --- /dev/null +++ b/docs/cdt/namespaceeosio_ada409d460d12c2d64ef2b02b3f99ddef.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [14/22]

    + +
    +
    +
    +template<typename Stream , typename T1 , typename T2 >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::pair< T1, T2 > & t 
    )
    +
    +

    Десериализует std::pair

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    t- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    Args- Типы элементов кортежа
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 417

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_adc89fdc06750abc79c6893c84255bcce.html b/docs/cdt/namespaceeosio_adc89fdc06750abc79c6893c84255bcce.html new file mode 100644 index 000000000..34c10ebab --- /dev/null +++ b/docs/cdt/namespaceeosio_adc89fdc06750abc79c6893c84255bcce.html @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [3/22]

    + +
    +
    +
    +template<typename DataStream >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator<< (DataStream & ds,
    const eosio::symbol sym 
    )
    +
    +inline
    +
    + +

    Сериализация symbol.

    +

    Сериализация symbol в поток

    +
    Аргументы
    + + + +
    ds— поток записи
    sym— значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + +
    DataStream— тип буфера потока данных
    +
    +
    +
    Возвращает
    DataStream& — ссылка на поток
    + +

    См. определение в файле symbol.hpp строка 352

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_adea93ee4d60913259a084567ee672217.html b/docs/cdt/namespaceeosio_adea93ee4d60913259a084567ee672217.html new file mode 100644 index 000000000..32d8e3225 --- /dev/null +++ b/docs/cdt/namespaceeosio_adea93ee4d60913259a084567ee672217.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::pow + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ pow()

    + +
    +
    +
    +template<uint8_t Base, typename T = uint64_t>
    + + + + + +
    + + + + + + + + +
    constexpr T eosio::pow (uint8_t exponent)
    +
    +constexpr
    +
    +
    Возвращает
    Возвращает Base в степени exponent (Base^exponent).
    + +

    См. определение в файле powers.hpp строка 81

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ae1538fa412576d5b367a62c2f0e38730.html b/docs/cdt/namespaceeosio_ae1538fa412576d5b367a62c2f0e38730.html new file mode 100644 index 000000000..de247d792 --- /dev/null +++ b/docs/cdt/namespaceeosio_ae1538fa412576d5b367a62c2f0e38730.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::days + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ days()

    + +
    +
    + + + + + +
    + + + + + + + + +
    microseconds eosio::days (int64_t d)
    +
    +inline
    +
    + +

    См. определение в файле time.hpp строка 51

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ae29c5ec8317e597280bc1073b514036a.html b/docs/cdt/namespaceeosio_ae29c5ec8317e597280bc1073b514036a.html new file mode 100644 index 000000000..6cc857195 --- /dev/null +++ b/docs/cdt/namespaceeosio_ae29c5ec8317e597280bc1073b514036a.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::g1_point + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ g1_point

    + +
    +
    + + + + +
    using eosio::g1_point = typedef ec_point<g1_coordinate_size>
    +
    + +

    См. определение в файле crypto_ext.hpp строка 182

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ae3b4a6109935f78a3754bd7db29357a4.html b/docs/cdt/namespaceeosio_ae3b4a6109935f78a3754bd7db29357a4.html new file mode 100644 index 000000000..037a8b78e --- /dev/null +++ b/docs/cdt/namespaceeosio_ae3b4a6109935f78a3754bd7db29357a4.html @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::float_to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ float_to_key()

    + +
    +
    +
    +template<typename UInt , typename T >
    + + + + + + + + +
    UInt eosio::float_to_key (value)
    +
    + +

    См. определение в файле key_utils.hpp строка 288

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ae800a5c9a4c8d9ea2546535d1a91c95b.html b/docs/cdt/namespaceeosio_ae800a5c9a4c8d9ea2546535d1a91c95b.html new file mode 100644 index 000000000..89390f0ab --- /dev/null +++ b/docs/cdt/namespaceeosio_ae800a5c9a4c8d9ea2546535d1a91c95b.html @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [22/22]

    + +
    +
    +
    +template<typename Stream , typename T , std::size_t N, std::enable_if_t<!_datastream_detail::is_primitive< T >() &&!_datastream_detail::is_pointer< T >()> * = nullptr>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const T(&) v[N] 
    )
    +
    +

    Сериализует C-массив фиксированного размера из непримитивного и не указательного типа

    +
    Аргументы
    + + + +
    ds- Поток для записи
    v- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип элемента массива
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    +

    Сериализует C-массив фиксированного размера примитивного типа

    +
    Аргументы
    + + + +
    ds- Поток для записи
    v- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип элемента массива
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 613

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_ae95c7ba8a4618dd4c006765742303329.html b/docs/cdt/namespaceeosio_ae95c7ba8a4618dd4c006765742303329.html new file mode 100644 index 000000000..c5882fdd5 --- /dev/null +++ b/docs/cdt/namespaceeosio_ae95c7ba8a4618dd4c006765742303329.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [9/22]

    + +
    +
    +
    +template<typename Stream , typename T >
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::basic_string< T > & s 
    )
    +
    +

    Сериализует basic_string<T>

    +
    Аргументы
    + + + +
    ds- Поток для записи
    s- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + +
    Stream- Тип буфера потока данных
    T- Тип элементов basic_string
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 759

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_aea5451fc739da28dc1a006d3f72e18b4.html b/docs/cdt/namespaceeosio_aea5451fc739da28dc1a006d3f72e18b4.html new file mode 100644 index 000000000..04b2b6928 --- /dev/null +++ b/docs/cdt/namespaceeosio_aea5451fc739da28dc1a006d3f72e18b4.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [8/22]

    + +
    +
    +
    +template<typename Stream , typename T , std::size_t N>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const std::array< T, N > & v 
    )
    +
    +

    Сериализует std::array фиксированного размера

    +
    Аргументы
    + + + +
    ds- Поток для записи
    v- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + + + +
    Stream- Тип буфера потока данных
    T- Тип элементов массива
    N- Размер массива
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 518

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_aef74f69e6a22bf95b0f7cbff816627b5.html b/docs/cdt/namespaceeosio_aef74f69e6a22bf95b0f7cbff816627b5.html new file mode 100644 index 000000000..5c29336f1 --- /dev/null +++ b/docs/cdt/namespaceeosio_aef74f69e6a22bf95b0f7cbff816627b5.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key_optional + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key_optional() [2/2]

    + +
    +
    +
    +template<typename T , typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key_optional (const T * obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 130

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_af30ec535f8c8483b8779abcfbf73275e.html b/docs/cdt/namespaceeosio_af30ec535f8c8483b8779abcfbf73275e.html new file mode 100644 index 000000000..7a4512421 --- /dev/null +++ b/docs/cdt/namespaceeosio_af30ec535f8c8483b8779abcfbf73275e.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::current_context_contract + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ current_context_contract()

    + +
    +
    + + + + + +
    + + + + + + + +
    name eosio::current_context_contract ()
    +
    +inline
    +
    + +

    См. определение в файле context.hpp строка 10

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_af49a88acb71519dbd9e1c11c1e093625.html b/docs/cdt/namespaceeosio_af49a88acb71519dbd9e1c11c1e093625.html new file mode 100644 index 000000000..961c7bacb --- /dev/null +++ b/docs/cdt/namespaceeosio_af49a88acb71519dbd9e1c11c1e093625.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator>> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator>>() [7/22]

    + +
    +
    +
    +template<typename Stream , typename T , std::size_t N>
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator>> (datastream< Stream > & ds,
    std::array< T, N > & v 
    )
    +
    +

    Десериализует std::array фиксированного размера

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    v- Назначение для десериализованного значения
    +
    +
    +
    Параметры шаблона
    + + + + +
    Stream- Тип буфера потока данных
    T- Тип элементов массива
    N- Размер массива
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 557

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_af7174ec0c48074b993ec6bac37a84682.html b/docs/cdt/namespaceeosio_af7174ec0c48074b993ec6bac37a84682.html new file mode 100644 index 000000000..828810c54 --- /dev/null +++ b/docs/cdt/namespaceeosio_af7174ec0c48074b993ec6bac37a84682.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::seconds + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ seconds()

    + +
    +
    + + + + + +
    + + + + + + + + +
    microseconds eosio::seconds (int64_t s)
    +
    +inline
    +
    + +

    См. определение в файле time.hpp строка 47

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_af7fd095425063722ae432862864d0598.html b/docs/cdt/namespaceeosio_af7fd095425063722ae432862864d0598.html new file mode 100644 index 000000000..7ac343a1a --- /dev/null +++ b/docs/cdt/namespaceeosio_af7fd095425063722ae432862864d0598.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key_varuint32 + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key_varuint32()

    + +
    +
    +
    +template<typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key_varuint32 (std::uint32_t obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 189

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_af80dcf1bec9db392710cfac9ac0bd49d.html b/docs/cdt/namespaceeosio_af80dcf1bec9db392710cfac9ac0bd49d.html new file mode 100644 index 000000000..6ef89ba86 --- /dev/null +++ b/docs/cdt/namespaceeosio_af80dcf1bec9db392710cfac9ac0bd49d.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::to_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_key() [1/12]

    + +
    +
    +
    +template<typename S >
    + + + + + + + + + + + + + + + + + + +
    void eosio::to_key (bool obj,
    datastream< S > & stream 
    )
    +
    + +

    См. определение в файле key_utils.hpp строка 283

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_afca27a6d080cc7375dce87cdc23457e3.html b/docs/cdt/namespaceeosio_afca27a6d080cc7375dce87cdc23457e3.html new file mode 100644 index 000000000..2e6c810bc --- /dev/null +++ b/docs/cdt/namespaceeosio_afca27a6d080cc7375dce87cdc23457e3.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [5/22]

    + +
    +
    +
    +template<typename DataStream >
    + + + + + + + + + + + + + + + + + + +
    DataStream & eosio::operator<< (DataStream & ds,
    const stringstr 
    )
    +
    + +

    См. определение в файле string.hpp строка 468

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_afcfae01c6d714474da8407a1c195c836.html b/docs/cdt/namespaceeosio_afcfae01c6d714474da8407a1c195c836.html new file mode 100644 index 000000000..b7778aec1 --- /dev/null +++ b/docs/cdt/namespaceeosio_afcfae01c6d714474da8407a1c195c836.html @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::print_f + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ print_f() [2/2]

    + +
    +
    +
    +template<typename Arg , typename... Args>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void eosio::print_f (const char * s,
    Arg val,
    Args... rest 
    )
    +
    +inline
    +
    +

    Выводит форматированную строку. Поведение близко к C printf.

    +
    Параметры шаблона
    + + + +
    Arg- Тип значения для подстановки вместо спецификатора формата
    Args- Типы остальных значений для подстановки
    +
    +
    +
    Аргументы
    + + + + +
    s- Строка с нулевым завершением (может содержать спецификатор формата)
    val- Значение для первой подстановки
    rest- Остальные значения для подстановки
    +
    +
    +

    Пример:

    print_f("Number of apples: %", 10);
    +
    +

    См. определение в файле print.hpp строка 200

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespaceeosio_afe4a7f3bd49b821a6b3f0a3b9c45a4a5.html b/docs/cdt/namespaceeosio_afe4a7f3bd49b821a6b3f0a3b9c45a4a5.html new file mode 100644 index 000000000..cdec60302 --- /dev/null +++ b/docs/cdt/namespaceeosio_afe4a7f3bd49b821a6b3f0a3b9c45a4a5.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::operator<< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<<() [7/22]

    + +
    +
    +
    +template<typename Stream >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    datastream< Stream > & eosio::operator<< (datastream< Stream > & ds,
    const bool & d 
    )
    +
    +inline
    +
    +

    Сериализует bool в поток

    +
    Аргументы
    + + + +
    ds- Поток для чтения
    d- Значение для сериализации
    +
    +
    +
    Параметры шаблона
    + + +
    Stream- Тип буфера потока данных
    +
    +
    +
    Возвращает
    datastream<Stream>& - Ссылка на поток данных
    + +

    См. определение в файле datastream.hpp строка 452

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers.html b/docs/cdt/namespacemembers.html new file mode 100644 index 000000000..f12ae46bf --- /dev/null +++ b/docs/cdt/namespacemembers.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - _ -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_a.html b/docs/cdt/namespacemembers_a.html new file mode 100644 index 000000000..ac25e5edc --- /dev/null +++ b/docs/cdt/namespacemembers_a.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - a -

      +
    • action_data_size() : eosio
    • +
    • add_security_group_participants() : eosio
    • +
    • alt_bn128_add() : eosio
    • +
    • alt_bn128_mul() : eosio
    • +
    • alt_bn128_pair() : eosio
    • +
    • assert_keccak() : eosio
    • +
    • assert_sha3() : eosio
    • +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_b.html b/docs/cdt/namespacemembers_b.html new file mode 100644 index 000000000..bee3b00b2 --- /dev/null +++ b/docs/cdt/namespacemembers_b.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - b -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_c.html b/docs/cdt/namespacemembers_c.html new file mode 100644 index 000000000..20c9e65af --- /dev/null +++ b/docs/cdt/namespacemembers_c.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - c -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_d.html b/docs/cdt/namespacemembers_d.html new file mode 100644 index 000000000..89bd8e5ea --- /dev/null +++ b/docs/cdt/namespacemembers_d.html @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - d -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_dup.js b/docs/cdt/namespacemembers_dup.js new file mode 100644 index 000000000..d9d4379bb --- /dev/null +++ b/docs/cdt/namespacemembers_dup.js @@ -0,0 +1,24 @@ +var namespacemembers_dup = +[ + [ "_", "namespacemembers.html", null ], + [ "a", "namespacemembers_a.html", null ], + [ "b", "namespacemembers_b.html", null ], + [ "c", "namespacemembers_c.html", null ], + [ "d", "namespacemembers_d.html", null ], + [ "e", "namespacemembers_e.html", null ], + [ "f", "namespacemembers_f.html", null ], + [ "g", "namespacemembers_g.html", null ], + [ "h", "namespacemembers_h.html", null ], + [ "i", "namespacemembers_i.html", null ], + [ "k", "namespacemembers_k.html", null ], + [ "l", "namespacemembers_l.html", null ], + [ "m", "namespacemembers_m.html", null ], + [ "n", "namespacemembers_n.html", null ], + [ "o", "namespacemembers_o.html", null ], + [ "p", "namespacemembers_p.html", null ], + [ "r", "namespacemembers_r.html", null ], + [ "s", "namespacemembers_s.html", null ], + [ "t", "namespacemembers_t.html", null ], + [ "u", "namespacemembers_u.html", null ], + [ "w", "namespacemembers_w.html", null ] +]; \ No newline at end of file diff --git a/docs/cdt/namespacemembers_e.html b/docs/cdt/namespacemembers_e.html new file mode 100644 index 000000000..f263035b4 --- /dev/null +++ b/docs/cdt/namespacemembers_e.html @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - e -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_f.html b/docs/cdt/namespacemembers_f.html new file mode 100644 index 000000000..92bd12db4 --- /dev/null +++ b/docs/cdt/namespacemembers_f.html @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - f -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_func.html b/docs/cdt/namespacemembers_func.html new file mode 100644 index 000000000..209261445 --- /dev/null +++ b/docs/cdt/namespacemembers_func.html @@ -0,0 +1,327 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +  + +

    - _ -

    + + +

    - a -

      +
    • action_data_size() : eosio
    • +
    • add_security_group_participants() : eosio
    • +
    • alt_bn128_add() : eosio
    • +
    • alt_bn128_mul() : eosio
    • +
    • alt_bn128_pair() : eosio
    • +
    • assert_keccak() : eosio
    • +
    • assert_sha3() : eosio
    • +
    + + +

    - b -

    + + +

    - c -

    + + +

    - d -

    + + +

    - e -

      +
    • eosio_exit() : eosio
    • +
    • execute_action() : eosio
    • +
    • expiration() : eosio
    • +
    + + +

    - f -

      +
    • float_to_key() : eosio
    • +
    + + +

    - g -

      +
    • generate_array() : eosio::detail
    • +
    • generate_array_helper() : eosio::detail
    • +
    • get_account_ram_usage() : eosio
    • +
    • get_action() : eosio
    • +
    • get_active_producers() : eosio
    • +
    • get_active_security_group() : eosio
    • +
    • get_blockchain_parameters() : eosio
    • +
    • get_code_hash() : eosio
    • +
    • get_context_free_data() : eosio
    • +
    • get_resource_limits() : eosio
    • +
    • get_sender() : eosio
    • +
    + + +

    - h -

    + + +

    - i -

    + + +

    - k -

    + + +

    - m -

    + + +

    - o -

    + + +

    - p -

    + + +

    - r -

      +
    • read_action_data() : eosio
    • +
    • read_transaction() : eosio
    • +
    • remove_security_group_participants() : eosio
    • +
    • require_auth() : eosio
    • +
    • require_recipient() : eosio
    • +
    + + +

    - s -

      +
    • seconds() : eosio
    • +
    • send_deferred() : eosio
    • +
    • set_blockchain_parameters() : eosio
    • +
    • set_privileged() : eosio
    • +
    • set_proposed_producers() : eosio
    • +
    • set_resource_limits() : eosio
    • +
    • sha3() : eosio
    • +
    + + +

    - t -

    + + +

    - u -

      +
    • unpack() : eosio
    • +
    • unpack_action_data() : eosio
    • +
    + + +

    - w -

      +
    • write_decimal() : eosio
    • +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_g.html b/docs/cdt/namespacemembers_g.html new file mode 100644 index 000000000..b0b73edeb --- /dev/null +++ b/docs/cdt/namespacemembers_g.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - g -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_h.html b/docs/cdt/namespacemembers_h.html new file mode 100644 index 000000000..593a71e48 --- /dev/null +++ b/docs/cdt/namespacemembers_h.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - h -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_i.html b/docs/cdt/namespacemembers_i.html new file mode 100644 index 000000000..c9763d235 --- /dev/null +++ b/docs/cdt/namespacemembers_i.html @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - i -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_k.html b/docs/cdt/namespacemembers_k.html new file mode 100644 index 000000000..01177814b --- /dev/null +++ b/docs/cdt/namespacemembers_k.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - k -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_l.html b/docs/cdt/namespacemembers_l.html new file mode 100644 index 000000000..c85a4471f --- /dev/null +++ b/docs/cdt/namespacemembers_l.html @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - l -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_m.html b/docs/cdt/namespacemembers_m.html new file mode 100644 index 000000000..c12a48acd --- /dev/null +++ b/docs/cdt/namespacemembers_m.html @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - m -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_n.html b/docs/cdt/namespacemembers_n.html new file mode 100644 index 000000000..cc9043344 --- /dev/null +++ b/docs/cdt/namespacemembers_n.html @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - n -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_o.html b/docs/cdt/namespacemembers_o.html new file mode 100644 index 000000000..d5d973902 --- /dev/null +++ b/docs/cdt/namespacemembers_o.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - o -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_p.html b/docs/cdt/namespacemembers_p.html new file mode 100644 index 000000000..a6c282cc9 --- /dev/null +++ b/docs/cdt/namespacemembers_p.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - p -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_r.html b/docs/cdt/namespacemembers_r.html new file mode 100644 index 000000000..2238c3737 --- /dev/null +++ b/docs/cdt/namespacemembers_r.html @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - r -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_s.html b/docs/cdt/namespacemembers_s.html new file mode 100644 index 000000000..47c8b322b --- /dev/null +++ b/docs/cdt/namespacemembers_s.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - s -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_t.html b/docs/cdt/namespacemembers_t.html new file mode 100644 index 000000000..2255dec0a --- /dev/null +++ b/docs/cdt/namespacemembers_t.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - t -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_type.html b/docs/cdt/namespacemembers_type.html new file mode 100644 index 000000000..d3cc52e8b --- /dev/null +++ b/docs/cdt/namespacemembers_type.html @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_u.html b/docs/cdt/namespacemembers_u.html new file mode 100644 index 000000000..48527c200 --- /dev/null +++ b/docs/cdt/namespacemembers_u.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - u -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_vars.html b/docs/cdt/namespacemembers_vars.html new file mode 100644 index 000000000..6ab1f58cd --- /dev/null +++ b/docs/cdt/namespacemembers_vars.html @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +  + +

    - b -

    + + +

    - c -

    + + +

    - d -

    + + +

    - e -

    + + +

    - f -

    + + +

    - g -

    + + +

    - h -

    + + +

    - i -

    + + +

    - k -

    + + +

    - l -

    + + +

    - m -

    + + +

    - n -

    + + +

    - o -

    + + +

    - p -

    + + +

    - r -

    + + +

    - s -

    + + +

    - t -

    + + +

    - u -

    +
    +
    + + + + + + diff --git a/docs/cdt/namespacemembers_w.html b/docs/cdt/namespacemembers_w.html new file mode 100644 index 000000000..4ebf0e3f4 --- /dev/null +++ b/docs/cdt/namespacemembers_w.html @@ -0,0 +1,154 @@ + + + + + + + + + + + + + + + + + + +CDT: Члены пространств имен + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Полный список членов простанств имен.
    + +

    - w -

      +
    • write_decimal() : eosio
    • +
    +
    +
    + + + + + + diff --git a/docs/cdt/nav_f.png b/docs/cdt/nav_f.png new file mode 100644 index 000000000..72a58a529 Binary files /dev/null and b/docs/cdt/nav_f.png differ diff --git a/docs/cdt/nav_g.png b/docs/cdt/nav_g.png new file mode 100644 index 000000000..2093a237a Binary files /dev/null and b/docs/cdt/nav_g.png differ diff --git a/docs/cdt/nav_h.png b/docs/cdt/nav_h.png new file mode 100644 index 000000000..33389b101 Binary files /dev/null and b/docs/cdt/nav_h.png differ diff --git a/docs/cdt/navtree.css b/docs/cdt/navtree.css new file mode 100644 index 000000000..2043d7224 --- /dev/null +++ b/docs/cdt/navtree.css @@ -0,0 +1,147 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:#fff; +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + background-color: #FAFAFF; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: 200px; + overflow : hidden; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background-image:url("splitbar.png"); + background-size:100%; + background-repeat:repeat-y; + background-attachment: scroll; + cursor:ew-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/docs/cdt/navtree.js b/docs/cdt/navtree.js new file mode 100644 index 000000000..27983687a --- /dev/null +++ b/docs/cdt/navtree.js @@ -0,0 +1,549 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +var navTreeSubIndices = new Array(); +var arrowDown = '▼'; +var arrowRight = '►'; + +function getData(varName) +{ + var i = varName.lastIndexOf('/'); + var n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('memtitle') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',100,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).slideDown("fast"); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + var topOffset=5; + if (typeof page_layout!=='undefined' && page_layout==1) { + topOffset+=$('#top').outerHeight(); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + topOffset+=25; + } + $('#nav-sync').css('top',topOffset+'px'); + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +var loadTriggered = false; +var readyTriggered = false; +var loadObject,loadToRoot,loadUrl,loadRelPath; + +$(window).on('load',function(){ + if (readyTriggered) { // ready first + navTo(loadObject,loadToRoot,loadUrl,loadRelPath); + showRoot(); + } + loadTriggered=true; +}); + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + if (loadTriggered) { // load before ready + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + } else { // ready before load + loadObject = o; + loadToRoot = toroot; + loadUrl = hashUrl(); + loadRelPath = relpath; + readyTriggered=true; + } + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/make install", "index.html#autotoc_md18", null ], + [ "После пакета Debian", "index.html#autotoc_md19", null ] + ] ] + ] ], + [ "Лицензия", "index.html#autotoc_md20", null ] + ] ], + [ "Группы", "modules.html", "modules" ], + [ "Классы", "annotated.html", [ + [ "Классы", "annotated.html", "annotated_dup" ], + [ "Алфавитный указатель классов", "classes.html", null ], + [ "Иерархия классов", "hierarchy.html", "hierarchy" ], + [ "Члены классов", "functions.html", [ + [ "Указатель", "functions.html", "functions_dup" ], + [ "Функции", "functions_func.html", "functions_func" ], + [ "Переменные", "functions_vars.html", null ], + [ "Определения типов", "functions_type.html", null ], + [ "Перечисления", "functions_enum.html", null ], + [ "Элементы перечислений", "functions_eval.html", null ], + [ "Относящиеся к классу функции", "functions_rela.html", null ] + ] ] + ] ], + [ "Члены пространств имен", "namespacemembers.html", [ + [ "Указатель", "namespacemembers.html", "namespacemembers_dup" ], + [ "Функции", "namespacemembers_func.html", null ], + [ "Переменные", "namespacemembers_vars.html", null ], + [ "Определения типов", "namespacemembers_type.html", null ] + ] ], + [ "Файлы", "files.html", [ + [ "Обозреватель", "files.html", "files_dup" ], + [ "Список членов всех файлов", "globals.html", [ + [ "Указатель", "globals.html", null ], + [ "Функции", "globals_func.html", null ], + [ "Макросы", "globals_defs.html", null ] + ] ] + ] ] + ] ] +]; + +var NAVTREEINDEX = +[ +"action_8hpp.html", +"classeosio_1_1transaction__header_aad5eeaa9d26473ae8faa0d9c5cf44c0e.html#aad5eeaa9d26473ae8faa0d9c5cf44c0e", +"group__privileged_ga4b6f34ade1f06f6583b4a17738bebe0c.html#ga4b6f34ade1f06f6583b4a17738bebe0c", +"structeosio_1_1action__wrapper_ae422e0f1f06d13925a29dcac8f4457f1.html#ae422e0f1f06d13925a29dcac8f4457f1", +"transaction_8hpp.html#a3a794c5c2a2c47a98ae7b9e5732baeec" +]; + +var SYNCONMSG = 'нажмите на выключить для синхронизации панелей'; +var SYNCOFFMSG = 'нажмите на включить для синхронизации панелей'; \ No newline at end of file diff --git a/docs/cdt/navtreeindex0.js b/docs/cdt/navtreeindex0.js new file mode 100644 index 000000000..8bb728d59 --- /dev/null +++ b/docs/cdt/navtreeindex0.js @@ -0,0 +1,253 @@ +var NAVTREEINDEX0 = +{ +"action_8hpp.html":[4,0,0,0,0,0,0], +"action_8hpp.html#a0917f40ecb384d7934f7983351b397ce":[4,0,0,0,0,0,0,11], +"action_8hpp.html#a1fe03e054c95360f2dd4e563aa49695b":[4,0,0,0,0,0,0,10], +"action_8hpp.html#a2ca0cdda4f780baef07a180db174398d":[4,0,0,0,0,0,0,25], +"action_8hpp.html#a40f68c0fdc4874d206da23b1feccba91":[4,0,0,0,0,0,0,26], +"action_8hpp.html#a42e0876d95586115725e60f81b684b9a":[4,0,0,0,0,0,0,12], +"action_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387":[4,0,0,0,0,0,0,8], +"action_8hpp.html#a602640a08f02a893cab6b28016866ec0":[4,0,0,0,0,0,0,9], +"action_8hpp.html#aa83533278bab525701fa405485bb5390":[4,0,0,0,0,0,0,23], +"action_8hpp.html#aa87ebca610090d4846fdf11d9dc46e2d":[4,0,0,0,0,0,0,27], +"action_8hpp.html#ac956e7abe6f9a0aec8d5afce830c336a":[4,0,0,0,0,0,0,24], +"action_8hpp.html#ae6703efb9c09cd5c00bf70eee2bbd9e0":[4,0,0,0,0,0,0,22], +"action_8hpp_a1bb288791cd436d07bddf3d43f4740d4.html#a1bb288791cd436d07bddf3d43f4740d4":[4,0,0,0,0,0,0,4], +"action_8hpp_a20c19e0f931fad16c4db6d29480acddf.html#a20c19e0f931fad16c4db6d29480acddf":[4,0,0,0,0,0,0,6], +"action_8hpp_a7c267f408db88d60ce0a5c74845596ee.html#a7c267f408db88d60ce0a5c74845596ee":[4,0,0,0,0,0,0,7], +"action_8hpp_abeecc07548f70308a4aab9fcdb2d22f1.html#abeecc07548f70308a4aab9fcdb2d22f1":[4,0,0,0,0,0,0,5], +"action_8hpp_source.html":[4,0,0,0,0,0,0], +"annotated.html":[2,0], +"asset_8hpp.html":[4,0,0,0,1,0,0], +"asset_8hpp.html#a0620d4ec6f522f17350db97ac3c14840":[4,0,0,0,1,0,0,0], +"asset_8hpp_source.html":[4,0,0,0,1,0,0], +"binary__extension_8hpp.html":[4,0,0,0,1,0,1], +"binary__extension_8hpp_source.html":[4,0,0,0,1,0,1], +"check_8hpp.html":[4,0,0,0,1,0,2], +"check_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387":[4,0,0,0,1,0,2,0], +"check_8hpp.html#a810409b760301c0d32156f81dc2da130":[4,0,0,0,1,0,2,8], +"check_8hpp.html#add8aff837dc2c0d88fde2e0cc395b869":[4,0,0,0,1,0,2,10], +"check_8hpp.html#af2a181710ad035098993649b3dc97a0f":[4,0,0,0,1,0,2,9], +"check_8hpp_source.html":[4,0,0,0,1,0,2], +"classeosio_1_1block__timestamp.html":[1,0,10,2], +"classeosio_1_1block__timestamp_a07825f36097aa846aecaa221239874d6.html#a07825f36097aa846aecaa221239874d6":[1,0,10,2,3], +"classeosio_1_1block__timestamp_a0bb7b80144520847d11ee3d3a4b81bae.html#a0bb7b80144520847d11ee3d3a4b81bae":[1,0,10,2,5], +"classeosio_1_1block__timestamp_a72934b4290a476785f852983608263b0.html#a72934b4290a476785f852983608263b0":[1,0,10,2,1], +"classeosio_1_1block__timestamp_aa719feec777894d3612305fcdf579d1e.html#aa719feec777894d3612305fcdf579d1e":[1,0,10,2,0], +"classeosio_1_1block__timestamp_aae1af00ad48d215fbd72d3e2339655bf.html#aae1af00ad48d215fbd72d3e2339655bf":[1,0,10,2,2], +"classeosio_1_1block__timestamp_abc0874625ff948fb8f23dd41644aee23.html#abc0874625ff948fb8f23dd41644aee23":[1,0,10,2,4], +"classeosio_1_1block__timestamp_ac645cbc95a573b9ddc33439bf7953e83.html#ac645cbc95a573b9ddc33439bf7953e83":[1,0,10,2,6], +"classeosio_1_1contract.html":[1,1,1,0], +"classeosio_1_1contract.html":[1,2,3,0], +"classeosio_1_1contract_a025bbcfc537a64a72c6b41f1118559a0.html#a025bbcfc537a64a72c6b41f1118559a0":[1,1,1,0,2], +"classeosio_1_1contract_a025bbcfc537a64a72c6b41f1118559a0.html#a025bbcfc537a64a72c6b41f1118559a0":[1,2,3,0,2], +"classeosio_1_1contract_a29c0c98c72ab578a5965d13b00dca0c0.html#a29c0c98c72ab578a5965d13b00dca0c0":[1,1,1,0,8], +"classeosio_1_1contract_a29c0c98c72ab578a5965d13b00dca0c0.html#a29c0c98c72ab578a5965d13b00dca0c0":[1,2,3,0,8], +"classeosio_1_1contract_a4efcd5638d26dad3e5dc075bad152d45.html#a4efcd5638d26dad3e5dc075bad152d45":[1,2,3,0,1], +"classeosio_1_1contract_a4efcd5638d26dad3e5dc075bad152d45.html#a4efcd5638d26dad3e5dc075bad152d45":[1,1,1,0,1], +"classeosio_1_1contract_a66b526b89bc6d35b63b874615f1d27b8.html#a66b526b89bc6d35b63b874615f1d27b8":[1,2,3,0,6], +"classeosio_1_1contract_a66b526b89bc6d35b63b874615f1d27b8.html#a66b526b89bc6d35b63b874615f1d27b8":[1,1,1,0,6], +"classeosio_1_1contract_a7564cad9be4ee5dcaac832511d9a0e05.html#a7564cad9be4ee5dcaac832511d9a0e05":[1,1,1,0,5], +"classeosio_1_1contract_a7564cad9be4ee5dcaac832511d9a0e05.html#a7564cad9be4ee5dcaac832511d9a0e05":[1,2,3,0,5], +"classeosio_1_1contract_a98397119d8b0cf44f22a62967f8d030a.html#a98397119d8b0cf44f22a62967f8d030a":[1,2,3,0,7], +"classeosio_1_1contract_a98397119d8b0cf44f22a62967f8d030a.html#a98397119d8b0cf44f22a62967f8d030a":[1,1,1,0,7], +"classeosio_1_1contract_ab2b6af0978586ae4e3a1c9c1699e660a.html#ab2b6af0978586ae4e3a1c9c1699e660a":[1,2,3,0,3], +"classeosio_1_1contract_ab2b6af0978586ae4e3a1c9c1699e660a.html#ab2b6af0978586ae4e3a1c9c1699e660a":[1,1,1,0,3], +"classeosio_1_1contract_ac7c14f66e3d41904264d1c6558cf370b.html#ac7c14f66e3d41904264d1c6558cf370b":[1,1,1,0,4], +"classeosio_1_1contract_ac7c14f66e3d41904264d1c6558cf370b.html#ac7c14f66e3d41904264d1c6558cf370b":[1,2,3,0,4], +"classeosio_1_1contract_acb803b9d14bdc26811cdaaf98804e105.html#acb803b9d14bdc26811cdaaf98804e105":[1,1,1,0,0], +"classeosio_1_1contract_acb803b9d14bdc26811cdaaf98804e105.html#acb803b9d14bdc26811cdaaf98804e105":[1,2,3,0,0], +"classeosio_1_1datastream.html":[2,0,0,13], +"classeosio_1_1datastream_3_01size__t_01_4.html":[2,0,0,14], +"classeosio_1_1datastream_3_01size__t_01_4_a345f36fa8492917662d6185db631042d.html#a345f36fa8492917662d6185db631042d":[2,0,0,14,2], +"classeosio_1_1datastream_3_01size__t_01_4_a3c2ca245c9f33549505ea7886a1d3ecf.html#a3c2ca245c9f33549505ea7886a1d3ecf":[2,0,0,14,8], +"classeosio_1_1datastream_3_01size__t_01_4_a46f1fc6f14d7e79c2181f4e3a2ae5b12.html#a46f1fc6f14d7e79c2181f4e3a2ae5b12":[2,0,0,14,6], +"classeosio_1_1datastream_3_01size__t_01_4_a4a1a95751dafd76aea580d80c84bf8bb.html#a4a1a95751dafd76aea580d80c84bf8bb":[2,0,0,14,1], +"classeosio_1_1datastream_3_01size__t_01_4_a7b004570bf9e621b2ee8aaa12f3a2dc7.html#a7b004570bf9e621b2ee8aaa12f3a2dc7":[2,0,0,14,7], +"classeosio_1_1datastream_3_01size__t_01_4_aadcdabf95d8b142bd9b43bbcdc4e0d9f.html#aadcdabf95d8b142bd9b43bbcdc4e0d9f":[2,0,0,14,5], +"classeosio_1_1datastream_3_01size__t_01_4_abf5e113ace4a6bfa309fcecf3fc49f63.html#abf5e113ace4a6bfa309fcecf3fc49f63":[2,0,0,14,0], +"classeosio_1_1datastream_3_01size__t_01_4_ac4720cb82d256a41f27bbf389b37790b.html#ac4720cb82d256a41f27bbf389b37790b":[2,0,0,14,3], +"classeosio_1_1datastream_3_01size__t_01_4_ad9d7da49e77a5db9c80c256845b26894.html#ad9d7da49e77a5db9c80c256845b26894":[2,0,0,14,4], +"classeosio_1_1datastream_3_01size__t_01_4_af17849ce270d8c7ed0234b9ad5d9afc6.html#af17849ce270d8c7ed0234b9ad5d9afc6":[2,0,0,14,9], +"classeosio_1_1datastream_a001047d70942ab5beb836e498d9f9eab.html#a001047d70942ab5beb836e498d9f9eab":[2,0,0,13,2], +"classeosio_1_1datastream_a090e80d1bddd21337b16b3fad76c551d.html#a090e80d1bddd21337b16b3fad76c551d":[2,0,0,13,3], +"classeosio_1_1datastream_a10ab58b7cc695366b42957f4b8ff56eb.html#a10ab58b7cc695366b42957f4b8ff56eb":[2,0,0,13,1], +"classeosio_1_1datastream_a1e42133f6f57a8c89e1db04abe44b342.html#a1e42133f6f57a8c89e1db04abe44b342":[2,0,0,13,12], +"classeosio_1_1datastream_a32df7a816da793f3183d235c67b042a7.html#a32df7a816da793f3183d235c67b042a7":[2,0,0,13,9], +"classeosio_1_1datastream_a4842d71330f2f682087ae17cc03d00f4.html#a4842d71330f2f682087ae17cc03d00f4":[2,0,0,13,13], +"classeosio_1_1datastream_a69cbb57958a1ec6d66e6aa4bcc39ec23.html#a69cbb57958a1ec6d66e6aa4bcc39ec23":[2,0,0,13,10], +"classeosio_1_1datastream_a72befc5c1f51a601ad07e7c8e61856f4.html#a72befc5c1f51a601ad07e7c8e61856f4":[2,0,0,13,0], +"classeosio_1_1datastream_a928fbd3301caee3c64ea620442fb0e64.html#a928fbd3301caee3c64ea620442fb0e64":[2,0,0,13,8], +"classeosio_1_1datastream_ab28fff0ac0d25f39c1a1b5d6f9d0e5ad.html#ab28fff0ac0d25f39c1a1b5d6f9d0e5ad":[2,0,0,13,5], +"classeosio_1_1datastream_ac82f1102bb9593764a654dfbedb88328.html#ac82f1102bb9593764a654dfbedb88328":[2,0,0,13,7], +"classeosio_1_1datastream_ad0a23aa024810028ce8669627577859d.html#ad0a23aa024810028ce8669627577859d":[2,0,0,13,4], +"classeosio_1_1datastream_ae468391ad509e1b5bd2a9c7332f4802c.html#ae468391ad509e1b5bd2a9c7332f4802c":[2,0,0,13,11], +"classeosio_1_1datastream_af57bc94263dc08eb60b910a53645a052.html#af57bc94263dc08eb60b910a53645a052":[2,0,0,13,6], +"classeosio_1_1extended__symbol.html":[1,0,9,2], +"classeosio_1_1extended__symbol_a2b1d5fafb307b27aab4274560a09866e.html#a2b1d5fafb307b27aab4274560a09866e":[1,0,9,2,4], +"classeosio_1_1extended__symbol_a56dc99d1a5b4a6edb9366d2b3f64b4f7.html#a56dc99d1a5b4a6edb9366d2b3f64b4f7":[1,0,9,2,0], +"classeosio_1_1extended__symbol_a81b0741a1705ad99855aa375fe004b9d.html#a81b0741a1705ad99855aa375fe004b9d":[1,0,9,2,3], +"classeosio_1_1extended__symbol_aa215d71db628ab457c8eff30912eae82.html#aa215d71db628ab457c8eff30912eae82":[1,0,9,2,2], +"classeosio_1_1extended__symbol_aa9ebafeb8a32c6b0965de82f407a9730.html#aa9ebafeb8a32c6b0965de82f407a9730":[1,0,9,2,1], +"classeosio_1_1extended__symbol_aafb631b64d0586016ca8ea499350820d.html#aafb631b64d0586016ca8ea499350820d":[1,0,9,2,5], +"classeosio_1_1extended__symbol_ad306b3eaac29fba58441578b179398bc.html#ad306b3eaac29fba58441578b179398bc":[1,0,9,2,7], +"classeosio_1_1extended__symbol_afeaa211627f6df2a4f4f31aefedc6077.html#afeaa211627f6df2a4f4f31aefedc6077":[1,0,9,2,6], +"classeosio_1_1fixed__bytes.html":[1,2,0,0], +"classeosio_1_1fixed__bytes.html":[1,0,4,0], +"classeosio_1_1fixed__bytes_a08cee20b3d10e105992a915b35721eb7.html#a08cee20b3d10e105992a915b35721eb7":[1,2,0,0,5], +"classeosio_1_1fixed__bytes_a08cee20b3d10e105992a915b35721eb7.html#a08cee20b3d10e105992a915b35721eb7":[1,0,4,0,5], +"classeosio_1_1fixed__bytes_a33cae440afac79b5a925ac1eab43d41b.html#a33cae440afac79b5a925ac1eab43d41b":[1,2,0,0,0], +"classeosio_1_1fixed__bytes_a33cae440afac79b5a925ac1eab43d41b.html#a33cae440afac79b5a925ac1eab43d41b":[1,0,4,0,0], +"classeosio_1_1fixed__bytes_a59c51be9c3779cd907b33af7d41d1d4c.html#a59c51be9c3779cd907b33af7d41d1d4c":[1,2,0,0,6], +"classeosio_1_1fixed__bytes_a59c51be9c3779cd907b33af7d41d1d4c.html#a59c51be9c3779cd907b33af7d41d1d4c":[1,0,4,0,6], +"classeosio_1_1fixed__bytes_a6d082b4eb4541d6b311849939b5a6ea5.html#a6d082b4eb4541d6b311849939b5a6ea5":[1,2,0,0,3], +"classeosio_1_1fixed__bytes_a6d082b4eb4541d6b311849939b5a6ea5.html#a6d082b4eb4541d6b311849939b5a6ea5":[1,0,4,0,3], +"classeosio_1_1fixed__bytes_abb272f4e962fa15dd78633053bb63d31.html#abb272f4e962fa15dd78633053bb63d31":[1,2,0,0,1], +"classeosio_1_1fixed__bytes_abb272f4e962fa15dd78633053bb63d31.html#abb272f4e962fa15dd78633053bb63d31":[1,0,4,0,1], +"classeosio_1_1fixed__bytes_abdc3879046e86eaaf6e867bce216a5fd.html#abdc3879046e86eaaf6e867bce216a5fd":[1,0,4,0,4], +"classeosio_1_1fixed__bytes_abdc3879046e86eaaf6e867bce216a5fd.html#abdc3879046e86eaaf6e867bce216a5fd":[1,2,0,0,4], +"classeosio_1_1fixed__bytes_ac24c51c323af1034b5453fb5f117051f.html#ac24c51c323af1034b5453fb5f117051f":[1,0,4,0,7], +"classeosio_1_1fixed__bytes_ac24c51c323af1034b5453fb5f117051f.html#ac24c51c323af1034b5453fb5f117051f":[1,2,0,0,7], +"classeosio_1_1fixed__bytes_ac2d8051c8675cda490ae406ca35cdea4.html#ac2d8051c8675cda490ae406ca35cdea4":[1,0,4,0,9], +"classeosio_1_1fixed__bytes_ac2d8051c8675cda490ae406ca35cdea4.html#ac2d8051c8675cda490ae406ca35cdea4":[1,2,0,0,9], +"classeosio_1_1fixed__bytes_ad2ca84b3f4fcc67b99e6f7731825789d.html#ad2ca84b3f4fcc67b99e6f7731825789d":[1,2,0,0,2], +"classeosio_1_1fixed__bytes_ad2ca84b3f4fcc67b99e6f7731825789d.html#ad2ca84b3f4fcc67b99e6f7731825789d":[1,0,4,0,2], +"classeosio_1_1fixed__bytes_afeaa78eb715d55b40c00e4c542de64db.html#afeaa78eb715d55b40c00e4c542de64db":[1,0,4,0,8], +"classeosio_1_1fixed__bytes_afeaa78eb715d55b40c00e4c542de64db.html#afeaa78eb715d55b40c00e4c542de64db":[1,2,0,0,8], +"classeosio_1_1iostream.html":[1,0,7,0], +"classeosio_1_1microseconds.html":[2,0,0,27], +"classeosio_1_1microseconds_a59aa821c27e2073ede1ddf759e26317f.html#a59aa821c27e2073ede1ddf759e26317f":[2,0,0,27,0], +"classeosio_1_1microseconds_aaba1d7b327cc33fcbaf19e870d0c1733.html#aaba1d7b327cc33fcbaf19e870d0c1733":[2,0,0,27,1], +"classeosio_1_1multi__index.html":[1,1,3,1], +"classeosio_1_1multi__index_ab46b850d4d0d3da39cd96e77ec10c51e.html#ab46b850d4d0d3da39cd96e77ec10c51e":[1,1,3,1,1], +"classeosio_1_1rope.html":[2,0,0,36], +"classeosio_1_1rope_a1a05bd4dc4277bc66f4dc3f37858c02d.html#a1a05bd4dc4277bc66f4dc3f37858c02d":[2,0,0,36,6], +"classeosio_1_1rope_a36e6c3ae93eb1350bd138347edebe939.html#a36e6c3ae93eb1350bd138347edebe939":[2,0,0,36,16], +"classeosio_1_1rope_a3ea975b0ce1bf20ad565745fb8fef46f.html#a3ea975b0ce1bf20ad565745fb8fef46f":[2,0,0,36,11], +"classeosio_1_1rope_a41bb00d1ad6f0022a0de52984c524246.html#a41bb00d1ad6f0022a0de52984c524246":[2,0,0,36,3], +"classeosio_1_1rope_a480943c8c8407a36d77e14ff9d810dfe.html#a480943c8c8407a36d77e14ff9d810dfe":[2,0,0,36,5], +"classeosio_1_1rope_a4c40c4f43561b05f6fe16edf7adbaef8.html#a4c40c4f43561b05f6fe16edf7adbaef8":[2,0,0,36,12], +"classeosio_1_1rope_a55c20ad2f4bddfe33423fc078a33f478.html#a55c20ad2f4bddfe33423fc078a33f478":[2,0,0,36,8], +"classeosio_1_1rope_a7bb3cd3347e4718e40e175d6c76a5f2a.html#a7bb3cd3347e4718e40e175d6c76a5f2a":[2,0,0,36,17], +"classeosio_1_1rope_a87cd18373790ef056244f4a0e09b8f75.html#a87cd18373790ef056244f4a0e09b8f75":[2,0,0,36,4], +"classeosio_1_1rope_a99225aa178aa038001e8f68d51a8aa57.html#a99225aa178aa038001e8f68d51a8aa57":[2,0,0,36,1], +"classeosio_1_1rope_a9c52934d5f70e38a50a46bc4a8c3b889.html#a9c52934d5f70e38a50a46bc4a8c3b889":[2,0,0,36,9], +"classeosio_1_1rope_aa882baad43917693e1f93b5e546eb4d8.html#aa882baad43917693e1f93b5e546eb4d8":[2,0,0,36,15], +"classeosio_1_1rope_aa977c345d7cd7d9b0ecd35c306a36983.html#aa977c345d7cd7d9b0ecd35c306a36983":[2,0,0,36,14], +"classeosio_1_1rope_ab0a0ba2be3a91de71ec2fc919ad73974.html#ab0a0ba2be3a91de71ec2fc919ad73974":[2,0,0,36,2], +"classeosio_1_1rope_ab22f02eea1291499396242f9653db777.html#ab22f02eea1291499396242f9653db777":[2,0,0,36,7], +"classeosio_1_1rope_acee48b4685b912e110c24f4cbd9caa4d.html#acee48b4685b912e110c24f4cbd9caa4d":[2,0,0,36,13], +"classeosio_1_1rope_aea2f5203db95839a376250f3c29e80f7.html#aea2f5203db95839a376250f3c29e80f7":[2,0,0,36,0], +"classeosio_1_1rope_afd7a932ec6f8603e333dc85f1284d6e2.html#afd7a932ec6f8603e333dc85f1284d6e2":[2,0,0,36,10], +"classeosio_1_1singleton.html":[1,1,9,0], +"classeosio_1_1singleton_a53b56e4e8ed2fddd61175285afdf44d4.html#a53b56e4e8ed2fddd61175285afdf44d4":[1,1,9,0,2], +"classeosio_1_1singleton_a6a252d888f4c0b20bb3045a443267951.html#a6a252d888f4c0b20bb3045a443267951":[1,1,9,0,4], +"classeosio_1_1singleton_a7e632785eac3f1d05e08b34c49cb35dc.html#a7e632785eac3f1d05e08b34c49cb35dc":[1,1,9,0,3], +"classeosio_1_1singleton_aacf881ed97b04496be325d74f6b9d25e.html#aacf881ed97b04496be325d74f6b9d25e":[1,1,9,0,0], +"classeosio_1_1singleton_aada28dbeaf0961614beff67a38553a3c.html#aada28dbeaf0961614beff67a38553a3c":[1,1,9,0,6], +"classeosio_1_1singleton_ae6eed2e5197e5b4216450e5940ab9141.html#ae6eed2e5197e5b4216450e5940ab9141":[1,1,9,0,1], +"classeosio_1_1singleton_afc70106337f2cec280dfd797a1c7920a.html#afc70106337f2cec280dfd797a1c7920a":[1,1,9,0,5], +"classeosio_1_1string.html":[2,0,0,40], +"classeosio_1_1string_a153185b2a085cea1e6bf513cf66205d9.html#a153185b2a085cea1e6bf513cf66205d9":[2,0,0,40,22], +"classeosio_1_1string_a1665b4aff2487ecf7b5de5a539283e59.html#a1665b4aff2487ecf7b5de5a539283e59":[2,0,0,40,25], +"classeosio_1_1string_a1f95dcbc241a91a8aa9306b599a826c3.html#a1f95dcbc241a91a8aa9306b599a826c3":[2,0,0,40,44], +"classeosio_1_1string_a237c8d55ce3141f492db1277f18a410b.html#a237c8d55ce3141f492db1277f18a410b":[2,0,0,40,27], +"classeosio_1_1string_a25817fd1b016911c9d93e991447ceb05.html#a25817fd1b016911c9d93e991447ceb05":[2,0,0,40,36], +"classeosio_1_1string_a365349b85f2fffc2d6a57de046fa5782.html#a365349b85f2fffc2d6a57de046fa5782":[2,0,0,40,48], +"classeosio_1_1string_a38a9b5399dc2a4eadafe11abeff1b77c.html#a38a9b5399dc2a4eadafe11abeff1b77c":[2,0,0,40,5], +"classeosio_1_1string_a395ebf42a73b271ea68f9b8cb45bfdcf.html#a395ebf42a73b271ea68f9b8cb45bfdcf":[2,0,0,40,23], +"classeosio_1_1string_a3d90c57bde93934ad912b1078a70b3e4.html#a3d90c57bde93934ad912b1078a70b3e4":[2,0,0,40,55], +"classeosio_1_1string_a45321af08ebc945f2036e4208f6a3897.html#a45321af08ebc945f2036e4208f6a3897":[2,0,0,40,52], +"classeosio_1_1string_a45e00f754d8166d1ecd15db8eed22285.html#a45e00f754d8166d1ecd15db8eed22285":[2,0,0,40,34], +"classeosio_1_1string_a4794d6760c9ec69edaf7b3bfb4a63b3f.html#a4794d6760c9ec69edaf7b3bfb4a63b3f":[2,0,0,40,37], +"classeosio_1_1string_a480fa3a83a379532c4caf2ccbf5d7487.html#a480fa3a83a379532c4caf2ccbf5d7487":[2,0,0,40,13], +"classeosio_1_1string_a4899eeb275df620049b5fd69f49d3e69.html#a4899eeb275df620049b5fd69f49d3e69":[2,0,0,40,10], +"classeosio_1_1string_a564871216e7138e5d896bb9031b7c43f.html#a564871216e7138e5d896bb9031b7c43f":[2,0,0,40,9], +"classeosio_1_1string_a580f518725730c3a2a6aa8ad7f525381.html#a580f518725730c3a2a6aa8ad7f525381":[2,0,0,40,38], +"classeosio_1_1string_a5ac65214871aeb5aa277315e3730b478.html#a5ac65214871aeb5aa277315e3730b478":[2,0,0,40,30], +"classeosio_1_1string_a5f9020ff29f0631f18fcdd825e32f577.html#a5f9020ff29f0631f18fcdd825e32f577":[2,0,0,40,42], +"classeosio_1_1string_a651faa2c73ac0376e3efe94a5a192e55.html#a651faa2c73ac0376e3efe94a5a192e55":[2,0,0,40,46], +"classeosio_1_1string_a67e73c263a77517ecce1d1cceb0089ee.html#a67e73c263a77517ecce1d1cceb0089ee":[2,0,0,40,15], +"classeosio_1_1string_a6a25a174666da578f25cae60943be262.html#a6a25a174666da578f25cae60943be262":[2,0,0,40,17], +"classeosio_1_1string_a6cd7a8bb3495205f9cd7a3c56527ea67.html#a6cd7a8bb3495205f9cd7a3c56527ea67":[2,0,0,40,20], +"classeosio_1_1string_a6cf5e0f41fcf2d8d9665fede53303e7a.html#a6cf5e0f41fcf2d8d9665fede53303e7a":[2,0,0,40,40], +"classeosio_1_1string_a747feeacef8c26d89dafe7a9e32e2439.html#a747feeacef8c26d89dafe7a9e32e2439":[2,0,0,40,53], +"classeosio_1_1string_a78b71a3a602620d706457f4a68dbcd73.html#a78b71a3a602620d706457f4a68dbcd73":[2,0,0,40,31], +"classeosio_1_1string_a7e00ad0b11736822e954ca0aaace79f4.html#a7e00ad0b11736822e954ca0aaace79f4":[2,0,0,40,12], +"classeosio_1_1string_a7eb1ef7915ed4be6078d6233bce6f12d.html#a7eb1ef7915ed4be6078d6233bce6f12d":[2,0,0,40,35], +"classeosio_1_1string_a803e3faedd3eb97e0db9847824a14d80.html#a803e3faedd3eb97e0db9847824a14d80":[2,0,0,40,21], +"classeosio_1_1string_a8781cfc0e0a9aa9187da9cbb5c7f2cf0.html#a8781cfc0e0a9aa9187da9cbb5c7f2cf0":[2,0,0,40,7], +"classeosio_1_1string_a8873fa94d7a035c56314c041a5ac749d.html#a8873fa94d7a035c56314c041a5ac749d":[2,0,0,40,8], +"classeosio_1_1string_a91c0860a7e6b0c176f64ea9ee5cdff59.html#a91c0860a7e6b0c176f64ea9ee5cdff59":[2,0,0,40,14], +"classeosio_1_1string_a91fd184cf0f9333c217130cebd4d7876.html#a91fd184cf0f9333c217130cebd4d7876":[2,0,0,40,51], +"classeosio_1_1string_a96cbb276511418046dda2629673bbcc3.html#a96cbb276511418046dda2629673bbcc3":[2,0,0,40,33], +"classeosio_1_1string_a9b25b59100bf5c70971fa6f55fe65191.html#a9b25b59100bf5c70971fa6f55fe65191":[2,0,0,40,0], +"classeosio_1_1string_a9dfae8e14598a5b45c2333253f9ad13f.html#a9dfae8e14598a5b45c2333253f9ad13f":[2,0,0,40,45], +"classeosio_1_1string_aaabc6d219686805ea57157fb47d1d293.html#aaabc6d219686805ea57157fb47d1d293":[2,0,0,40,47], +"classeosio_1_1string_aac90a49eab4c1c047f40bf7e34fb46c9.html#aac90a49eab4c1c047f40bf7e34fb46c9":[2,0,0,40,18], +"classeosio_1_1string_aaea5e2703fbc37b3a1e2b3947d926bf0.html#aaea5e2703fbc37b3a1e2b3947d926bf0":[2,0,0,40,2], +"classeosio_1_1string_ab276b4902cb95bfeb853eee8684c0916.html#ab276b4902cb95bfeb853eee8684c0916":[2,0,0,40,19], +"classeosio_1_1string_ab8b27a889dc5ffef4a9cc7a1d1905b9c.html#ab8b27a889dc5ffef4a9cc7a1d1905b9c":[2,0,0,40,49], +"classeosio_1_1string_ab9f769b1a15bd18493e3200238fa656f.html#ab9f769b1a15bd18493e3200238fa656f":[2,0,0,40,16], +"classeosio_1_1string_abbdba4b5d2a09bbc117792a412f19a6f.html#abbdba4b5d2a09bbc117792a412f19a6f":[2,0,0,40,1], +"classeosio_1_1string_abed2244638c61753c2b33c3a5f8def30.html#abed2244638c61753c2b33c3a5f8def30":[2,0,0,40,6], +"classeosio_1_1string_abf763aa94a8644b190f43d6b026893a2.html#abf763aa94a8644b190f43d6b026893a2":[2,0,0,40,54], +"classeosio_1_1string_ac03654f5a94a384fc920af2a77a5e16a.html#ac03654f5a94a384fc920af2a77a5e16a":[2,0,0,40,32], +"classeosio_1_1string_ac7a16a5fc722b604a74d553beba58a44.html#ac7a16a5fc722b604a74d553beba58a44":[2,0,0,40,4], +"classeosio_1_1string_ace4cb4b04068b19569df2ddfd5072922.html#ace4cb4b04068b19569df2ddfd5072922":[2,0,0,40,26], +"classeosio_1_1string_aceced69d12b071a4669277d8a7ec767a.html#aceced69d12b071a4669277d8a7ec767a":[2,0,0,40,43], +"classeosio_1_1string_acf5eac6989461a16465ba449c449e3fc.html#acf5eac6989461a16465ba449c449e3fc":[2,0,0,40,11], +"classeosio_1_1string_ad62910f1b924929fafcd862e8eb71e5b.html#ad62910f1b924929fafcd862e8eb71e5b":[2,0,0,40,24], +"classeosio_1_1string_adf203bd5325ece9f37ff3fcd0b220e49.html#adf203bd5325ece9f37ff3fcd0b220e49":[2,0,0,40,3], +"classeosio_1_1string_aeb96086b5c3611e1f4c195853ea9f5d8.html#aeb96086b5c3611e1f4c195853ea9f5d8":[2,0,0,40,39], +"classeosio_1_1string_aede6037e2778f095d1dc51730d161573.html#aede6037e2778f095d1dc51730d161573":[2,0,0,40,28], +"classeosio_1_1string_af587de1d8dc0628a4a3216d43e739f21.html#af587de1d8dc0628a4a3216d43e739f21":[2,0,0,40,29], +"classeosio_1_1string_afe503d29eaae256ea611fbe5e1525b7e.html#afe503d29eaae256ea611fbe5e1525b7e":[2,0,0,40,41], +"classeosio_1_1string_afea8d616a05e9815f57ad6b9740f846f.html#afea8d616a05e9815f57ad6b9740f846f":[2,0,0,40,50], +"classeosio_1_1symbol.html":[1,0,9,1], +"classeosio_1_1symbol__code.html":[1,0,9,0], +"classeosio_1_1symbol__code_a075d0d69307bd9180b147a809f07bad5.html#a075d0d69307bd9180b147a809f07bad5":[1,0,9,0,8], +"classeosio_1_1symbol__code_a5a95bedec99aff1d70a782b365bc28d0.html#a5a95bedec99aff1d70a782b365bc28d0":[1,0,9,0,1], +"classeosio_1_1symbol__code_a65ea077da3315b0a94ad0e9478911efc.html#a65ea077da3315b0a94ad0e9478911efc":[1,0,9,0,9], +"classeosio_1_1symbol__code_a679be838b5e39b806fa42577124a214a.html#a679be838b5e39b806fa42577124a214a":[1,0,9,0,12], +"classeosio_1_1symbol__code_a87acfd4b3bd04ca4b9ba84f6ea12d5d0.html#a87acfd4b3bd04ca4b9ba84f6ea12d5d0":[1,0,9,0,3], +"classeosio_1_1symbol__code_a8dd79cc2a20dc7bf2788fd6416003891.html#a8dd79cc2a20dc7bf2788fd6416003891":[1,0,9,0,11], +"classeosio_1_1symbol__code_a9b45275437c716ebc9ba95d199c04ed1.html#a9b45275437c716ebc9ba95d199c04ed1":[1,0,9,0,5], +"classeosio_1_1symbol__code_a9c4430961f11cf7a207ac7d4c4827210.html#a9c4430961f11cf7a207ac7d4c4827210":[1,0,9,0,7], +"classeosio_1_1symbol__code_a9d8538c2ff41df391b45cfb6190a1ed4.html#a9d8538c2ff41df391b45cfb6190a1ed4":[1,0,9,0,0], +"classeosio_1_1symbol__code_aac85cf2211c7f763232ecc05d473f7ff.html#aac85cf2211c7f763232ecc05d473f7ff":[1,0,9,0,6], +"classeosio_1_1symbol__code_acd21f55772dbdf25fe5dbc182683fee0.html#acd21f55772dbdf25fe5dbc182683fee0":[1,0,9,0,10], +"classeosio_1_1symbol__code_adf291364853aa746ddc32942881b2e64.html#adf291364853aa746ddc32942881b2e64":[1,0,9,0,4], +"classeosio_1_1symbol__code_afba617179edadad41667b707176943fc.html#afba617179edadad41667b707176943fc":[1,0,9,0,2], +"classeosio_1_1symbol_a559c818f42e9d0df1a4c4823d7c6ecd8.html#a559c818f42e9d0df1a4c4823d7c6ecd8":[1,0,9,1,4], +"classeosio_1_1symbol_a5ffd3dd1dfad342b30aed2c53993c548.html#a5ffd3dd1dfad342b30aed2c53993c548":[1,0,9,1,11], +"classeosio_1_1symbol_a62adc71177b7a104162f7618cb0bac44.html#a62adc71177b7a104162f7618cb0bac44":[1,0,9,1,10], +"classeosio_1_1symbol_a6604372bb0cc9d3c70a3b77973517e41.html#a6604372bb0cc9d3c70a3b77973517e41":[1,0,9,1,0], +"classeosio_1_1symbol_a6c974f93f06131859376b75c4df03a53.html#a6c974f93f06131859376b75c4df03a53":[1,0,9,1,6], +"classeosio_1_1symbol_a990e99879ecbebb194e5de43932ec59b.html#a990e99879ecbebb194e5de43932ec59b":[1,0,9,1,2], +"classeosio_1_1symbol_a9cb96662a0965ac03e1bf5acfbbda011.html#a9cb96662a0965ac03e1bf5acfbbda011":[1,0,9,1,9], +"classeosio_1_1symbol_a9f8042d110a6fff15ea1813987c0fbe6.html#a9f8042d110a6fff15ea1813987c0fbe6":[1,0,9,1,8], +"classeosio_1_1symbol_abcbc25794d1a3e0477be40441be6b210.html#abcbc25794d1a3e0477be40441be6b210":[1,0,9,1,1], +"classeosio_1_1symbol_aec9fbc4e4aff91276e8c1f71f113c494.html#aec9fbc4e4aff91276e8c1f71f113c494":[1,0,9,1,12], +"classeosio_1_1symbol_af2153bf9cfc5bd79c3f1787f8028646a.html#af2153bf9cfc5bd79c3f1787f8028646a":[1,0,9,1,7], +"classeosio_1_1symbol_af52f86a82390abe6be09e9745df30815.html#af52f86a82390abe6be09e9745df30815":[1,0,9,1,5], +"classeosio_1_1symbol_afc5e4be9944b51deac6484128deb2ce2.html#afc5e4be9944b51deac6484128deb2ce2":[1,0,9,1,3], +"classeosio_1_1time__point.html":[1,0,10,0], +"classeosio_1_1time__point__sec.html":[1,0,10,1], +"classeosio_1_1time__point__sec_a119a4edea2590a1152db08c4fc51e811.html#a119a4edea2590a1152db08c4fc51e811":[1,0,10,1,1], +"classeosio_1_1time__point__sec_a697e77fb6964d691d97aa6cd0c59e217.html#a697e77fb6964d691d97aa6cd0c59e217":[1,0,10,1,5], +"classeosio_1_1time__point__sec_a9f061ae99cc49726e27ac9c29a460b5f.html#a9f061ae99cc49726e27ac9c29a460b5f":[1,0,10,1,4], +"classeosio_1_1time__point__sec_ab0f6a00b7d53d82a9c68ee385d35c0cb.html#ab0f6a00b7d53d82a9c68ee385d35c0cb":[1,0,10,1,0], +"classeosio_1_1time__point__sec_acd75205a33a0ccbb5e2d3ceea12182a7.html#acd75205a33a0ccbb5e2d3ceea12182a7":[1,0,10,1,3], +"classeosio_1_1time__point__sec_afc6c67209c28cd9e5d70a4298deb39ad.html#afc6c67209c28cd9e5d70a4298deb39ad":[1,0,10,1,2], +"classeosio_1_1time__point_a307b17c8475291a97892a1f9cd76fa36.html#a307b17c8475291a97892a1f9cd76fa36":[1,0,10,0,0], +"classeosio_1_1time__point_ac96d4680cf94a4a75bccd52ff2d5930e.html#ac96d4680cf94a4a75bccd52ff2d5930e":[1,0,10,0,3], +"classeosio_1_1time__point_ad011eb25db435de048b2a5a00dcee066.html#ad011eb25db435de048b2a5a00dcee066":[1,0,10,0,2], +"classeosio_1_1time__point_aedda68d4c06c12b9dcf27a8964f2c6a9.html#aedda68d4c06c12b9dcf27a8964f2c6a9":[1,0,10,0,1], +"classeosio_1_1transaction.html":[1,1,10,1], +"classeosio_1_1transaction__header.html":[1,1,10,0], +"classeosio_1_1transaction__header_a32a532f21d5a5eeadd892723d9171e05.html#a32a532f21d5a5eeadd892723d9171e05":[1,1,10,0,2], +"classeosio_1_1transaction__header_a5fbc5f8eef0093ad65598953156d4359.html#a5fbc5f8eef0093ad65598953156d4359":[1,1,10,0,3], +"classeosio_1_1transaction__header_a6abf412b441f881616bad00837503075.html#a6abf412b441f881616bad00837503075":[1,1,10,0,0], +"classeosio_1_1transaction__header_a7bd1f446f3a9a212183787d223d89766.html#a7bd1f446f3a9a212183787d223d89766":[1,1,10,0,5] +}; diff --git a/docs/cdt/navtreeindex1.js b/docs/cdt/navtreeindex1.js new file mode 100644 index 000000000..2c716d276 --- /dev/null +++ b/docs/cdt/navtreeindex1.js @@ -0,0 +1,253 @@ +var NAVTREEINDEX1 = +{ +"classeosio_1_1transaction__header_aad5eeaa9d26473ae8faa0d9c5cf44c0e.html#aad5eeaa9d26473ae8faa0d9c5cf44c0e":[1,1,10,0,4], +"classeosio_1_1transaction__header_adbe5ee5f38a82db68162188c49d62f39.html#adbe5ee5f38a82db68162188c49d62f39":[1,1,10,0,1], +"classeosio_1_1transaction__header_aed4b528cd8a73ac9fa9cb5b7c429f90c.html#aed4b528cd8a73ac9fa9cb5b7c429f90c":[1,1,10,0,6], +"classeosio_1_1transaction_a38263b68fda9925f2c6472777a04179c.html#a38263b68fda9925f2c6472777a04179c":[1,1,10,1,3], +"classeosio_1_1transaction_a445fd87e3465a1ca647c711c1ac0c711.html#a445fd87e3465a1ca647c711c1ac0c711":[1,1,10,1,4], +"classeosio_1_1transaction_aa1c104e5e613662ae3d5c6f66313b352.html#aa1c104e5e613662ae3d5c6f66313b352":[1,1,10,1,0], +"classeosio_1_1transaction_ad53cc19e62742bf205934509c1363e42.html#ad53cc19e62742bf205934509c1363e42":[1,1,10,1,2], +"classeosio_1_1transaction_aff16436e52fff284fabc0b748be342b4.html#aff16436e52fff284fabc0b748be342b4":[1,1,10,1,1], +"classes.html":[2,1], +"context_8hpp.html":[4,0,0,0,1,0,3], +"context_8hpp.html#a795262482ae507e5517c19e1ddaa606f":[4,0,0,0,1,0,3,1], +"context_8hpp.html#af30ec535f8c8483b8779abcfbf73275e":[4,0,0,0,1,0,3,0], +"context_8hpp_source.html":[4,0,0,0,1,0,3], +"contract_8hpp.html":[4,0,0,0,0,0,1], +"contract_8hpp_abeb73dfe8d6e8c280ebce28d84190c7e.html#abeb73dfe8d6e8c280ebce28d84190c7e":[4,0,0,0,0,0,1,0], +"contract_8hpp_acadaccd8321f8569f31a11bdad1829da.html#acadaccd8321f8569f31a11bdad1829da":[4,0,0,0,0,0,1,2], +"contract_8hpp_source.html":[4,0,0,0,0,0,1], +"crypto_8hpp.html":[4,0,0,0,1,0,4], +"crypto_8hpp_source.html":[4,0,0,0,1,0,4], +"crypto__ext_8hpp.html":[4,0,0,0,1,0,5], +"crypto__ext_8hpp.html#a027e383f00b6e7e1a84cbf1d748c497f":[4,0,0,0,1,0,5,33], +"crypto__ext_8hpp.html#a1e7210a95265e4cc67895371e8e1d1a9":[4,0,0,0,1,0,5,35], +"crypto__ext_8hpp.html#a2388251ff5bfa4a7132e5684d9f4ea7c":[4,0,0,0,1,0,5,50], +"crypto__ext_8hpp.html#a2ff751e455a60d35e382a8736289a519":[4,0,0,0,1,0,5,23], +"crypto__ext_8hpp.html#a30853e057dc485d7a41e6fc3ecadffe8":[4,0,0,0,1,0,5,31], +"crypto__ext_8hpp.html#a3177f19fc85c9e72ede34e3573a101e9":[4,0,0,0,1,0,5,44], +"crypto__ext_8hpp.html#a38efe6447fc3d3b0f3d27fc883cc6c5e":[4,0,0,0,1,0,5,43], +"crypto__ext_8hpp.html#a3cf08e393da6ced475992073668ae916":[4,0,0,0,1,0,5,36], +"crypto__ext_8hpp.html#a3f4c3d55b6ee872679410d65c69d9793":[4,0,0,0,1,0,5,38], +"crypto__ext_8hpp.html#a469d875a2db46706f7df9f2896c4a53c":[4,0,0,0,1,0,5,51], +"crypto__ext_8hpp.html#a4aff021c9a288ba2455ebe78af8fb8e1":[4,0,0,0,1,0,5,3], +"crypto__ext_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387":[4,0,0,0,1,0,5,6], +"crypto__ext_8hpp.html#a4df4bd625daf8e623fe79be6335657a0":[4,0,0,0,1,0,5,2], +"crypto__ext_8hpp.html#a534eba603614762626318e8679af9759":[4,0,0,0,1,0,5,29], +"crypto__ext_8hpp.html#a56573a7efad7729714195ac50d6c1a52":[4,0,0,0,1,0,5,4], +"crypto__ext_8hpp.html#a5fd9f46e4c5ed043c0fbb72feb401b1a":[4,0,0,0,1,0,5,45], +"crypto__ext_8hpp.html#a68510fd663c8c85a2d88b27ac117d4a4":[4,0,0,0,1,0,5,46], +"crypto__ext_8hpp.html#a7688a54920b50f9e80249718bc0bb2e1":[4,0,0,0,1,0,5,26], +"crypto__ext_8hpp.html#a80b6ad1bcafb20f5a29b03c22b52c748":[4,0,0,0,1,0,5,32], +"crypto__ext_8hpp.html#a81a3d531420e3eb3b02b3fdf9a4302ec":[4,0,0,0,1,0,5,5], +"crypto__ext_8hpp.html#a841d16d09118f0268c4bbafced547818":[4,0,0,0,1,0,5,28], +"crypto__ext_8hpp.html#a8b7a014794e4538ddc62ad7773b10078":[4,0,0,0,1,0,5,22], +"crypto__ext_8hpp.html#a8cf455f7e4857671db549f53ec502c95":[4,0,0,0,1,0,5,25], +"crypto__ext_8hpp.html#a91ba4c6181c491d6312d505e61227273":[4,0,0,0,1,0,5,27], +"crypto__ext_8hpp.html#a93a8561c5ce93a3662e230570b7c2dc3":[4,0,0,0,1,0,5,39], +"crypto__ext_8hpp.html#a9eb916bf6dc3592b13ea43f058572fb1":[4,0,0,0,1,0,5,40], +"crypto__ext_8hpp.html#aabb8743640fb7b223160bb05c913b3e2":[4,0,0,0,1,0,5,24], +"crypto__ext_8hpp.html#aacd0bea153b8b67c940c638ea8a088b0":[4,0,0,0,1,0,5,49], +"crypto__ext_8hpp.html#ab8c965fa59dd909d6c40c9663d0e88a9":[4,0,0,0,1,0,5,41], +"crypto__ext_8hpp.html#ac6c4dae93eb41be759cf0b9b6b9cc8bc":[4,0,0,0,1,0,5,42], +"crypto__ext_8hpp.html#ac7be28ac54655c208de8137170324d33":[4,0,0,0,1,0,5,48], +"crypto__ext_8hpp.html#acca21e2be5ba5b6123e646f739e16ca0":[4,0,0,0,1,0,5,47], +"crypto__ext_8hpp.html#ad42bdd88a64a703b94a11a89e3345a7c":[4,0,0,0,1,0,5,30], +"crypto__ext_8hpp.html#adb452b37e25d266414ded2a0bcec1b45":[4,0,0,0,1,0,5,34], +"crypto__ext_8hpp.html#ae29c5ec8317e597280bc1073b514036a":[4,0,0,0,1,0,5,1], +"crypto__ext_8hpp.html#af8ebf8425f3a88d9f6fd90e0cc362a9c":[4,0,0,0,1,0,5,37], +"crypto__ext_8hpp_source.html":[4,0,0,0,1,0,5], +"datastream_8hpp.html":[4,0,0,0,1,0,6], +"datastream_8hpp.html#a0071f0e52a33e72d2b0da6fb69fd5a01":[4,0,0,0,1,0,6,30], +"datastream_8hpp.html#a057c7fbba3a58e93208c3901359e5896":[4,0,0,0,1,0,6,37], +"datastream_8hpp.html#a0b5c48a772a3cc24ae76620483aceb23":[4,0,0,0,1,0,6,20], +"datastream_8hpp.html#a1033bcb60718baa8636b8639205cbb79":[4,0,0,0,1,0,6,36], +"datastream_8hpp.html#a11247ca58ee8acf29f3486c0e2772788":[4,0,0,0,1,0,6,4], +"datastream_8hpp.html#a188287b053c352c204cf0ef83786cdcd":[4,0,0,0,1,0,6,15], +"datastream_8hpp.html#a290409b4cb05910111f068b83f65018f":[4,0,0,0,1,0,6,12], +"datastream_8hpp.html#a2c1d8a8d997953cd44283b2de8860c4a":[4,0,0,0,1,0,6,21], +"datastream_8hpp.html#a3257302604d39723e60f3431e4fab38a":[4,0,0,0,1,0,6,14], +"datastream_8hpp.html#a34f484a1bd28d77948b4166d0b92b6f1":[4,0,0,0,1,0,6,17], +"datastream_8hpp.html#a37421e74f3192dbb7ca11ff9b9c0864c":[4,0,0,0,1,0,6,32], +"datastream_8hpp.html#a381a9f8735361fcbfb7b3a619764fad9":[4,0,0,0,1,0,6,11], +"datastream_8hpp.html#a394cc26970e40b355b4c946fffc5fd78":[4,0,0,0,1,0,6,39], +"datastream_8hpp.html#a3ea13490e88014aa37e0bd98d45b4858":[4,0,0,0,1,0,6,38], +"datastream_8hpp.html#a47a47165efbcc2cb38f68e8db90c377a":[4,0,0,0,1,0,6,34], +"datastream_8hpp.html#a513f0adb057b01a6f5b5e6a67fc9d212":[4,0,0,0,1,0,6,27], +"datastream_8hpp.html#a58bac2858769a47b327004fb7dfacafa":[4,0,0,0,1,0,6,28], +"datastream_8hpp.html#a59511f8552dbf4a2aced270041c17f04":[4,0,0,0,1,0,6,7], +"datastream_8hpp.html#a59e70f3361540d36ba192ca715a08adc":[4,0,0,0,1,0,6,18], +"datastream_8hpp.html#a66bd481ffeae8e16fbeb6244f57fdaa4":[4,0,0,0,1,0,6,31], +"datastream_8hpp.html#a756af9772c5c98915bbdacafa7165278":[4,0,0,0,1,0,6,5], +"datastream_8hpp.html#a79dc07b5d636c1c341dc595c0fda9a85":[4,0,0,0,1,0,6,22], +"datastream_8hpp.html#a7d64e2f48bca13601cf6606934e6e8e6":[4,0,0,0,1,0,6,24], +"datastream_8hpp.html#a8f65b4138ad6406630da2366a3f5b579":[4,0,0,0,1,0,6,40], +"datastream_8hpp.html#a92909b82c15215ec31eebe461e7d6403":[4,0,0,0,1,0,6,41], +"datastream_8hpp.html#a96515453c996337cf8a448415ea1997b":[4,0,0,0,1,0,6,29], +"datastream_8hpp.html#a97755f06683e48a1305a409ca3a6e9c3":[4,0,0,0,1,0,6,16], +"datastream_8hpp.html#a9b454140b1bb214fbd65d75887098864":[4,0,0,0,1,0,6,25], +"datastream_8hpp.html#aabff7004d7cfc4fc8168bb0401f506e5":[4,0,0,0,1,0,6,19], +"datastream_8hpp.html#ab1b99c65e9a4c3ec9a0077b17466043d":[4,0,0,0,1,0,6,6], +"datastream_8hpp.html#abfb0796f4c681681dfc3e28b1f581c14":[4,0,0,0,1,0,6,35], +"datastream_8hpp.html#ac9f0396ed775d5fe67df4b29bc7fc61f":[4,0,0,0,1,0,6,13], +"datastream_8hpp.html#ada409d460d12c2d64ef2b02b3f99ddef":[4,0,0,0,1,0,6,33], +"datastream_8hpp.html#ae800a5c9a4c8d9ea2546535d1a91c95b":[4,0,0,0,1,0,6,23], +"datastream_8hpp.html#ae95c7ba8a4618dd4c006765742303329":[4,0,0,0,1,0,6,10], +"datastream_8hpp.html#aea5451fc739da28dc1a006d3f72e18b4":[4,0,0,0,1,0,6,9], +"datastream_8hpp.html#af49a88acb71519dbd9e1c11c1e093625":[4,0,0,0,1,0,6,26], +"datastream_8hpp.html#afe4a7f3bd49b821a6b3f0a3b9c45a4a5":[4,0,0,0,1,0,6,8], +"datastream_8hpp_source.html":[4,0,0,0,1,0,6], +"dir_6973a5be5f0104fdfb8b76a272d58cb0.html":[4,0,0,0,1,0], +"dir_7e917b7566708c24627b3b828f138985.html":[4,0,0,0,0], +"dir_850c7dbae88cf75e5ded2d8d64345058.html":[4,0,0,0,1], +"dir_9e60c71e6dfb8d92b39aded6f4ab9fa8.html":[4,0,0,0], +"dir_bc0718b08fb2015b8e59c47b2805f60c.html":[4,0,0], +"dir_e6eaa0c1a89a74634a56cba5556371ea.html":[4,0,0,0,0,0], +"dispatcher_8hpp.html":[4,0,0,0,0,0,2], +"dispatcher_8hpp_source.html":[4,0,0,0,0,0,2], +"eosio_8hpp.html":[4,0,0,0,0,0,3], +"eosio_8hpp_source.html":[4,0,0,0,0,0,3], +"files.html":[4,0], +"fixed__bytes_8hpp.html":[4,0,0,0,1,0,7], +"fixed__bytes_8hpp_source.html":[4,0,0,0,1,0,7], +"functions.html":[2,3,0,0], +"functions.html":[2,3,0], +"functions_a.html":[2,3,0,1], +"functions_b.html":[2,3,0,2], +"functions_c.html":[2,3,0,3], +"functions_d.html":[2,3,0,4], +"functions_e.html":[2,3,0,5], +"functions_enum.html":[2,3,4], +"functions_eval.html":[2,3,5], +"functions_f.html":[2,3,0,6], +"functions_func.html":[2,3,1,0], +"functions_func.html":[2,3,1], +"functions_func_b.html":[2,3,1,1], +"functions_func_c.html":[2,3,1,2], +"functions_func_d.html":[2,3,1,3], +"functions_func_e.html":[2,3,1,4], +"functions_func_f.html":[2,3,1,5], +"functions_func_g.html":[2,3,1,6], +"functions_func_i.html":[2,3,1,7], +"functions_func_l.html":[2,3,1,8], +"functions_func_m.html":[2,3,1,9], +"functions_func_n.html":[2,3,1,10], +"functions_func_o.html":[2,3,1,11], +"functions_func_p.html":[2,3,1,12], +"functions_func_r.html":[2,3,1,13], +"functions_func_s.html":[2,3,1,14], +"functions_func_t.html":[2,3,1,15], +"functions_func_u.html":[2,3,1,16], +"functions_func_v.html":[2,3,1,17], +"functions_func_w.html":[2,3,1,18], +"functions_g.html":[2,3,0,7], +"functions_i.html":[2,3,0,8], +"functions_k.html":[2,3,0,9], +"functions_l.html":[2,3,0,10], +"functions_m.html":[2,3,0,11], +"functions_n.html":[2,3,0,12], +"functions_o.html":[2,3,0,13], +"functions_p.html":[2,3,0,14], +"functions_q.html":[2,3,0,15], +"functions_r.html":[2,3,0,16], +"functions_rela.html":[2,3,6], +"functions_s.html":[2,3,0,17], +"functions_t.html":[2,3,0,18], +"functions_type.html":[2,3,3], +"functions_u.html":[2,3,0,19], +"functions_v.html":[2,3,0,20], +"functions_vars.html":[2,3,2], +"functions_w.html":[2,3,0,21], +"functions_x.html":[2,3,0,22], +"functions_y.html":[2,3,0,23], +"globals.html":[4,1,0], +"globals_defs.html":[4,1,2], +"globals_func.html":[4,1,1], +"group__action.html":[1,1,0], +"group__action_ga0005da20de567962c4357c18ba29bdf7.html#ga0005da20de567962c4357c18ba29bdf7":[1,1,0,4], +"group__action_ga02dcd9ca25bcdd8279efe0d45e50c9eb.html#ga02dcd9ca25bcdd8279efe0d45e50c9eb":[1,1,0,5], +"group__action_ga3ce0a297276d44f03c9b5dc17fcd2b31.html#ga3ce0a297276d44f03c9b5dc17fcd2b31":[1,1,0,10], +"group__action_ga47b4afe79f1de07376e2ecdd541f92c7.html#ga47b4afe79f1de07376e2ecdd541f92c7":[1,1,0,7], +"group__action_ga4e1838d05857e38ddf8916e616698460.html#ga4e1838d05857e38ddf8916e616698460":[1,1,0,8], +"group__action_ga887cd0fed2350c5ae52565ba6e290db3.html#ga887cd0fed2350c5ae52565ba6e290db3":[1,1,0,3], +"group__action_ga9e4650a61bbe0809cc62e6b2af8252d3.html#ga9e4650a61bbe0809cc62e6b2af8252d3":[1,1,0,2], +"group__action_gaa61e47227ac315887caf1e028191ff7d.html#gaa61e47227ac315887caf1e028191ff7d":[1,1,0,9], +"group__action_gaa9c6bd255a286073e7dc8a337f2b11a2.html#gaa9c6bd255a286073e7dc8a337f2b11a2":[1,1,0,6], +"group__asset.html":[1,0,0], +"group__console.html":[1,0,7], +"group__console_ga02d168bc05492d64cefea469dd114c12.html#ga02d168bc05492d64cefea469dd114c12":[1,0,7,3], +"group__console_ga2a3eea270ff4dbe4a15c2269a5c2cfec.html#ga2a3eea270ff4dbe4a15c2269a5c2cfec":[1,0,7,4], +"group__console_ga7abae4d32d4fec590c9988a6aec88cec.html#ga7abae4d32d4fec590c9988a6aec88cec":[1,0,7,8], +"group__console_ga8753f6a7c7d5c518f6369cfebf5be1bb.html#ga8753f6a7c7d5c518f6369cfebf5be1bb":[1,0,7,2], +"group__console_gaa0a56fe314d032d027a1565d93a68b21.html#gaa0a56fe314d032d027a1565d93a68b21":[1,0,7,1], +"group__console_gab8eb3bd97387854f71fd4a68d167b418.html#gab8eb3bd97387854f71fd4a68d167b418":[1,0,7,7], +"group__console_gab9715bf002b919701d38e3ff931feabf.html#gab9715bf002b919701d38e3ff931feabf":[1,0,7,6], +"group__console_gaccb44465b58c681e320b9cb9a6a78e62.html#gaccb44465b58c681e320b9cb9a6a78e62":[1,0,7,5], +"group__contract.html":[1,2,3], +"group__contract.html":[1,1,1], +"group__contract_ga3dd8a1be2fbf980ee66578476244d85f.html#ga3dd8a1be2fbf980ee66578476244d85f":[1,1,1,1], +"group__contract_ga3dd8a1be2fbf980ee66578476244d85f.html#ga3dd8a1be2fbf980ee66578476244d85f":[1,2,3,1], +"group__contracts.html":[1,1], +"group__core.html":[1,0], +"group__crypto.html":[1,0,2], +"group__crypto_ga0a1860ebd5b856a263d61fb3486c6bac.html#ga0a1860ebd5b856a263d61fb3486c6bac":[1,0,2,5], +"group__crypto_ga15d62eb0cc4e802cebf37acdeb244347.html#ga15d62eb0cc4e802cebf37acdeb244347":[1,0,2,4], +"group__crypto_ga30e83b1ef7aa5db6dc580c850a02801c.html#ga30e83b1ef7aa5db6dc580c850a02801c":[1,0,2,16], +"group__crypto_ga3abd9c96d56e0547488cae1cd186cc6f.html#ga3abd9c96d56e0547488cae1cd186cc6f":[1,0,2,2], +"group__crypto_ga4c359bdfef5213a9d7469d4ce1d953be.html#ga4c359bdfef5213a9d7469d4ce1d953be":[1,0,2,6], +"group__crypto_ga525a44f742b17926399841c745a4a7ec.html#ga525a44f742b17926399841c745a4a7ec":[1,0,2,9], +"group__crypto_ga5911e4dd154cdc173eb05c44bbfe02d0.html#ga5911e4dd154cdc173eb05c44bbfe02d0":[1,0,2,10], +"group__crypto_ga64df5cb191f12821722e306229ed19aa.html#ga64df5cb191f12821722e306229ed19aa":[1,0,2,11], +"group__crypto_ga6c07b3b9afd8013c8852a45906b7b021.html#ga6c07b3b9afd8013c8852a45906b7b021":[1,0,2,8], +"group__crypto_ga72b1a23b79771d3be88f1330bbe0e3cb.html#ga72b1a23b79771d3be88f1330bbe0e3cb":[1,0,2,17], +"group__crypto_gaa651eeb4147e53a045ccf1fd3c06f14d.html#gaa651eeb4147e53a045ccf1fd3c06f14d":[1,0,2,13], +"group__crypto_gabd02565be968568862b0af73120e9831.html#gabd02565be968568862b0af73120e9831":[1,0,2,12], +"group__crypto_gad09d0d106fbffeea5ae3fa11a4542060.html#gad09d0d106fbffeea5ae3fa11a4542060":[1,0,2,7], +"group__crypto_gad6c7cb31acc6ad2034928b0f4f838f1f.html#gad6c7cb31acc6ad2034928b0f4f838f1f":[1,0,2,3], +"group__crypto_gaee42036696553a2aab82c8beadc949cc.html#gaee42036696553a2aab82c8beadc949cc":[1,0,2,14], +"group__crypto_gafaa1bb4600feccd42acd799e76570291.html#gafaa1bb4600feccd42acd799e76570291":[1,0,2,15], +"group__datastream.html":[1,0,3], +"group__datastream_ga13b3cd80e2641c0408f247c550e3d667.html#ga13b3cd80e2641c0408f247c550e3d667":[1,0,3,0], +"group__datastream_ga2ffaa5bd18836b7d40db601fb20965bb.html#ga2ffaa5bd18836b7d40db601fb20965bb":[1,0,3,2], +"group__datastream_ga30aa7d1c92792afc7f78af37372d68b7.html#ga30aa7d1c92792afc7f78af37372d68b7":[1,0,3,1], +"group__datastream_ga666b4d583161e4db595e31565fbb6a3d.html#ga666b4d583161e4db595e31565fbb6a3d":[1,0,3,3], +"group__datastream_gaeda637d2d16ecc6235bd072161bc07df.html#gaeda637d2d16ecc6235bd072161bc07df":[1,0,3,4], +"group__dispatcher.html":[1,1,2], +"group__dispatcher_ga289285490058d17de4a6a052b52dd680.html#ga289285490058d17de4a6a052b52dd680":[1,1,2,1], +"group__dispatcher_ga4c40fe6c9aa739424885e20ed613e545.html#ga4c40fe6c9aa739424885e20ed613e545":[1,1,2,0], +"group__dispatcher_ga8c4928c29096799ef6ddabf148dc9cf9.html#ga8c4928c29096799ef6ddabf148dc9cf9":[1,1,2,2], +"group__fixed__bytes.html":[1,0,4], +"group__fixed__bytes.html":[1,2,0], +"group__ignore.html":[1,0,5], +"group__multiindex.html":[1,1,3], +"group__multiindex_ga0170e32a35c3760661784c229d3a9b1a.html#ga0170e32a35c3760661784c229d3a9b1a":[1,1,3,26], +"group__multiindex_ga02c39a16f0ff568d297f25eb7ed88ac3.html#ga02c39a16f0ff568d297f25eb7ed88ac3":[1,1,3,13], +"group__multiindex_ga060b08a9da300e3a4ab669b35f07c9bc.html#ga060b08a9da300e3a4ab669b35f07c9bc":[1,1,3,3], +"group__multiindex_ga0690e9e9a30254240fa0cb6bb12bebf3.html#ga0690e9e9a30254240fa0cb6bb12bebf3":[1,1,3,17], +"group__multiindex_ga1b2d26324eb34354f5db2abcf2d87853.html#ga1b2d26324eb34354f5db2abcf2d87853":[1,1,3,2], +"group__multiindex_ga36ad6b1c1013b6f753660b334de96aef.html#ga36ad6b1c1013b6f753660b334de96aef":[1,1,3,4], +"group__multiindex_ga40c5a0709cff9dbeb7d9e79738d43f53.html#ga40c5a0709cff9dbeb7d9e79738d43f53":[1,1,3,19], +"group__multiindex_ga4b3556ef69c7faa917f185ae33a34442.html#ga4b3556ef69c7faa917f185ae33a34442":[1,1,3,21], +"group__multiindex_ga50321aa0c8fbdc67768d421950c2ee14.html#ga50321aa0c8fbdc67768d421950c2ee14":[1,1,3,25], +"group__multiindex_ga659b2744975d0a54162c44fbcbc28115.html#ga659b2744975d0a54162c44fbcbc28115":[1,1,3,24], +"group__multiindex_ga6ce680bcec3a391e0ad89a1cd1143231.html#ga6ce680bcec3a391e0ad89a1cd1143231":[1,1,3,7], +"group__multiindex_ga6ef0fb806ad6edf50b670a115fc3d5a1.html#ga6ef0fb806ad6edf50b670a115fc3d5a1":[1,1,3,14], +"group__multiindex_ga748fcb4d6a08962ad8a7c92da359e3d7.html#ga748fcb4d6a08962ad8a7c92da359e3d7":[1,1,3,9], +"group__multiindex_ga93e51f6a53639f1a45c352f67f5ba3ae.html#ga93e51f6a53639f1a45c352f67f5ba3ae":[1,1,3,12], +"group__multiindex_ga98fecc3166ebb3746ee810f7f7d9beac.html#ga98fecc3166ebb3746ee810f7f7d9beac":[1,1,3,15], +"group__multiindex_gaa081f69f6fa288869d1d5881f0be04dd.html#gaa081f69f6fa288869d1d5881f0be04dd":[1,1,3,22], +"group__multiindex_gab44fb8b993970f1b3b7ac5f37cd2d2c9.html#gab44fb8b993970f1b3b7ac5f37cd2d2c9":[1,1,3,20], +"group__multiindex_gab64fbf4dd04be357ec0cbbf125a3da5e.html#gab64fbf4dd04be357ec0cbbf125a3da5e":[1,1,3,8], +"group__multiindex_gabe296816f75cdb69e6698724e7b0c29d.html#gabe296816f75cdb69e6698724e7b0c29d":[1,1,3,6], +"group__multiindex_gac5f84064eacb4265ad44f15cecebb4be.html#gac5f84064eacb4265ad44f15cecebb4be":[1,1,3,10], +"group__multiindex_gacdc14cc71a43489507341d2709696e7d.html#gacdc14cc71a43489507341d2709696e7d":[1,1,3,23], +"group__multiindex_gad28ac8d91e9af22cbbc12962a805d253.html#gad28ac8d91e9af22cbbc12962a805d253":[1,1,3,11], +"group__multiindex_gad611e3ff51efdf038b934138d071cf83.html#gad611e3ff51efdf038b934138d071cf83":[1,1,3,18], +"group__multiindex_gae6e01877b9862c8193df27f05c305f2c.html#gae6e01877b9862c8193df27f05c305f2c":[1,1,3,16], +"group__multiindex_gaece639944fa9031debbd984bbd42485a.html#gaece639944fa9031debbd984bbd42485a":[1,1,3,5], +"group__name.html":[1,2,1], +"group__name.html":[1,0,6], +"group__name_ga2c559845072f8f8423f21c8c8f9c57ce.html#ga2c559845072f8f8423f21c8c8f9c57ce":[1,2,1,1], +"group__name_ga2c559845072f8f8423f21c8c8f9c57ce.html#ga2c559845072f8f8423f21c8c8f9c57ce":[1,0,6,1], +"group__privileged.html":[1,1,4] +}; diff --git a/docs/cdt/navtreeindex2.js b/docs/cdt/navtreeindex2.js new file mode 100644 index 000000000..acb01a568 --- /dev/null +++ b/docs/cdt/navtreeindex2.js @@ -0,0 +1,253 @@ +var NAVTREEINDEX2 = +{ +"group__privileged_ga4b6f34ade1f06f6583b4a17738bebe0c.html#ga4b6f34ade1f06f6583b4a17738bebe0c":[1,1,4,6], +"group__privileged_ga673da670d201ba73461eedd8bd1aec8f.html#ga673da670d201ba73461eedd8bd1aec8f":[1,1,4,2], +"group__privileged_ga8ae4f7b818d57817a629c7c45372552e.html#ga8ae4f7b818d57817a629c7c45372552e":[1,1,4,9], +"group__privileged_gaad97a90662dc91cc1f9c6b2368b625c3.html#gaad97a90662dc91cc1f9c6b2368b625c3":[1,1,4,10], +"group__privileged_gab341227b30ff1294ecb03c540e25a57f.html#gab341227b30ff1294ecb03c540e25a57f":[1,1,4,7], +"group__privileged_gab80245def6eafc07e7eff5207f604261.html#gab80245def6eafc07e7eff5207f604261":[1,1,4,3], +"group__privileged_gabd00f6a2896d4156346eee44d6ac0193.html#gabd00f6a2896d4156346eee44d6ac0193":[1,1,4,1], +"group__privileged_gac69be7829e437b6a986af0b686b8fd68.html#gac69be7829e437b6a986af0b686b8fd68":[1,1,4,8], +"group__privileged_gad2eb8389a1197594476ea9e41448481a.html#gad2eb8389a1197594476ea9e41448481a":[1,1,4,4], +"group__privileged_gaef817a1cfd765f9b0962f62897895243.html#gaef817a1cfd765f9b0962f62897895243":[1,1,4,5], +"group__producer__authority.html":[1,1,7], +"group__producer__authority.html":[1,2,6], +"group__producer__authority_gac9f7f8b14b8fcc608e0af99ac46a2c98.html#gac9f7f8b14b8fcc608e0af99ac46a2c98":[1,1,7,3], +"group__producer__authority_gac9f7f8b14b8fcc608e0af99ac46a2c98.html#gac9f7f8b14b8fcc608e0af99ac46a2c98":[1,2,6,3], +"group__producer__key.html":[1,2,4], +"group__producer__key.html":[1,1,5], +"group__producer__key_gabec477141e08f7648fbdb5d7c2e69824.html#gabec477141e08f7648fbdb5d7c2e69824":[1,2,4,2], +"group__producer__key_gabec477141e08f7648fbdb5d7c2e69824.html#gabec477141e08f7648fbdb5d7c2e69824":[1,1,5,2], +"group__producer__key_gaf5899a46ea38009f20643792af38d26b.html#gaf5899a46ea38009f20643792af38d26b":[1,1,5,1], +"group__producer__key_gaf5899a46ea38009f20643792af38d26b.html#gaf5899a46ea38009f20643792af38d26b":[1,2,4,1], +"group__producer__schedule.html":[1,1,6], +"group__producer__schedule.html":[1,2,5], +"group__producer__schedule_gabd7742a9a5cffa3eccae1accbd1ee771.html#gabd7742a9a5cffa3eccae1accbd1ee771":[1,2,5,1], +"group__producer__schedule_gabd7742a9a5cffa3eccae1accbd1ee771.html#gabd7742a9a5cffa3eccae1accbd1ee771":[1,1,6,1], +"group__security__group.html":[1,1,8], +"group__security__group_ga8a7cc14a1900bfbb2adc8af0193efe02.html#ga8a7cc14a1900bfbb2adc8af0193efe02":[1,1,8,0], +"group__security__group_ga9348bff666d401af321e1d67af264a3d.html#ga9348bff666d401af321e1d67af264a3d":[1,1,8,2], +"group__security__group_gaac778b25910d9c1a99deb182fea2543e.html#gaac778b25910d9c1a99deb182fea2543e":[1,1,8,1], +"group__security__group_gadefafd73d733d635d8d844203120a58d.html#gadefafd73d733d635d8d844203120a58d":[1,1,8,3], +"group__serialize.html":[1,0,8], +"group__serialize_gac39bf93bca023cc19379279456dac31f.html#gac39bf93bca023cc19379279456dac31f":[1,0,8,0], +"group__serialize_gaca7a38eac7326c602930c79d2a25a602.html#gaca7a38eac7326c602930c79d2a25a602":[1,0,8,1], +"group__singleton.html":[1,1,9], +"group__symbol.html":[1,0,9], +"group__system.html":[1,0,1], +"group__system.html":[1,1,11], +"group__system_ga076f987fe64de4738b5d2f4381150253.html#ga076f987fe64de4738b5d2f4381150253":[1,0,1,3], +"group__system_ga076f987fe64de4738b5d2f4381150253.html#ga076f987fe64de4738b5d2f4381150253":[1,1,11,3], +"group__system_ga2f6537af230517a619f07727f6ff33a5.html#ga2f6537af230517a619f07727f6ff33a5":[1,1,11,6], +"group__system_ga2f6537af230517a619f07727f6ff33a5.html#ga2f6537af230517a619f07727f6ff33a5":[1,0,1,6], +"group__system_ga54ad844cfe9f99f2c7cfcc935559e633.html#ga54ad844cfe9f99f2c7cfcc935559e633":[1,1,11,5], +"group__system_ga54ad844cfe9f99f2c7cfcc935559e633.html#ga54ad844cfe9f99f2c7cfcc935559e633":[1,0,1,5], +"group__system_ga61e4624ef8320a0d9918cf247df4df90.html#ga61e4624ef8320a0d9918cf247df4df90":[1,1,11,4], +"group__system_ga61e4624ef8320a0d9918cf247df4df90.html#ga61e4624ef8320a0d9918cf247df4df90":[1,0,1,4], +"group__system_ga6a213f83fa0851779c32cfcf66c816a9.html#ga6a213f83fa0851779c32cfcf66c816a9":[1,1,11,12], +"group__system_ga6a213f83fa0851779c32cfcf66c816a9.html#ga6a213f83fa0851779c32cfcf66c816a9":[1,0,1,12], +"group__system_ga919983993e7c2b18dcb253e3a8ef33e4.html#ga919983993e7c2b18dcb253e3a8ef33e4":[1,0,1,0], +"group__system_ga919983993e7c2b18dcb253e3a8ef33e4.html#ga919983993e7c2b18dcb253e3a8ef33e4":[1,1,11,0], +"group__system_ga956ded6d541ae9e454b446f0d5d0b24c.html#ga956ded6d541ae9e454b446f0d5d0b24c":[1,0,1,10], +"group__system_ga956ded6d541ae9e454b446f0d5d0b24c.html#ga956ded6d541ae9e454b446f0d5d0b24c":[1,1,11,10], +"group__system_gaaa7adb3f6c40df0e974eab5f84e1377b.html#gaaa7adb3f6c40df0e974eab5f84e1377b":[1,0,1,2], +"group__system_gaaa7adb3f6c40df0e974eab5f84e1377b.html#gaaa7adb3f6c40df0e974eab5f84e1377b":[1,1,11,2], +"group__system_gad245a249b8721374fe09819a00a86906.html#gad245a249b8721374fe09819a00a86906":[1,1,11,1], +"group__system_gad245a249b8721374fe09819a00a86906.html#gad245a249b8721374fe09819a00a86906":[1,0,1,1], +"group__system_gad4861c14350c38823173733ce00ba6ff.html#gad4861c14350c38823173733ce00ba6ff":[1,0,1,11], +"group__system_gad4861c14350c38823173733ce00ba6ff.html#gad4861c14350c38823173733ce00ba6ff":[1,1,11,11], +"group__system_gad5f4701ab1b418fe1f1558e199047e35.html#gad5f4701ab1b418fe1f1558e199047e35":[1,0,1,9], +"group__system_gad5f4701ab1b418fe1f1558e199047e35.html#gad5f4701ab1b418fe1f1558e199047e35":[1,1,11,9], +"group__system_gad7e3e2102562d6671dd70bdac6feda0c.html#gad7e3e2102562d6671dd70bdac6feda0c":[1,1,11,7], +"group__system_gad7e3e2102562d6671dd70bdac6feda0c.html#gad7e3e2102562d6671dd70bdac6feda0c":[1,0,1,7], +"group__system_gada0c9f4292996498bc781f2f52255086.html#gada0c9f4292996498bc781f2f52255086":[1,0,1,8], +"group__system_gada0c9f4292996498bc781f2f52255086.html#gada0c9f4292996498bc781f2f52255086":[1,1,11,8], +"group__time.html":[1,0,10], +"group__time_ga4f8fa835ef0dc341addb6e51d0d840b3.html#ga4f8fa835ef0dc341addb6e51d0d840b3":[1,0,10,3], +"group__transaction.html":[1,1,10], +"group__transaction_ga0a8affaada54b4a722e819c9da056211.html#ga0a8affaada54b4a722e819c9da056211":[1,1,10,9], +"group__transaction_ga19c346b66f7145a5336177ac3eb0849e.html#ga19c346b66f7145a5336177ac3eb0849e":[1,1,10,4], +"group__transaction_ga44eb86f3c4e862cbb5c862f29b77aa1f.html#ga44eb86f3c4e862cbb5c862f29b77aa1f":[1,1,10,14], +"group__transaction_ga47f5ea185e11cab47e2bddd08598375f.html#ga47f5ea185e11cab47e2bddd08598375f":[1,1,10,10], +"group__transaction_ga78a95bee813140ef77b2b8641c472cfa.html#ga78a95bee813140ef77b2b8641c472cfa":[1,1,10,5], +"group__transaction_ga8ebcde8a1e1665142ca0b51e4118ed17.html#ga8ebcde8a1e1665142ca0b51e4118ed17":[1,1,10,13], +"group__transaction_ga92cd86171a4bcc86bb3bc974618005e5.html#ga92cd86171a4bcc86bb3bc974618005e5":[1,1,10,11], +"group__transaction_gaaf3ea17209c6d47129b2b232aede5439.html#gaaf3ea17209c6d47129b2b232aede5439":[1,1,10,3], +"group__transaction_gabdf7bc0ef45beae2daf8cf3f08a7cd42.html#gabdf7bc0ef45beae2daf8cf3f08a7cd42":[1,1,10,7], +"group__transaction_gac01a00482f2dc95bf4850b2e8213ee90.html#gac01a00482f2dc95bf4850b2e8213ee90":[1,1,10,8], +"group__transaction_gad2a14b4c7ce6445f669a42ef73a4b685.html#gad2a14b4c7ce6445f669a42ef73a4b685":[1,1,10,12], +"group__transaction_gaf1dda66d94fcc04a2b5fa7a8bffd75b0.html#gaf1dda66d94fcc04a2b5fa7a8bffd75b0":[1,1,10,6], +"group__types.html":[1,2], +"group__varint.html":[1,0,11], +"group__varint.html":[1,2,2], +"hierarchy.html":[2,2], +"ignore_8hpp.html":[4,0,0,0,1,0,8], +"ignore_8hpp.html#a71a6485bb43edd10491fc14e79dff5fa":[4,0,0,0,1,0,8,1], +"ignore_8hpp.html#a73cd9c53f852d9d44d757259f38f10a8":[4,0,0,0,1,0,8,2], +"ignore_8hpp.html#aad4e9f9863a4d679c37dc04858b7c98a":[4,0,0,0,1,0,8,3], +"ignore_8hpp_source.html":[4,0,0,0,1,0,8], +"index.html":[], +"index.html":[0], +"index.html#autotoc_md1":[0,0], +"index.html#autotoc_md10":[0,2,3,0], +"index.html#autotoc_md11":[0,2,4], +"index.html#autotoc_md12":[0,2,4,0], +"index.html#autotoc_md13":[0,2,4,1], +"index.html#autotoc_md14":[0,2,5], +"index.html#autotoc_md15":[0,2,5,0], +"index.html#autotoc_md16":[0,2,5,1], +"index.html#autotoc_md17":[0,2,6], +"index.html#autotoc_md18":[0,2,6,0], +"index.html#autotoc_md19":[0,2,6,1], +"index.html#autotoc_md2":[0,1], +"index.html#autotoc_md20":[0,3], +"index.html#autotoc_md3":[0,1,0], +"index.html#autotoc_md4":[0,1,1], +"index.html#autotoc_md5":[0,2], +"index.html#autotoc_md6":[0,2,0], +"index.html#autotoc_md7":[0,2,1], +"index.html#autotoc_md8":[0,2,2], +"index.html#autotoc_md9":[0,2,3], +"key__utils_8hpp.html":[4,0,0,0,1,0,9], +"key__utils_8hpp.html#a0a8f491c6e9e9e3c629e6439b7b594a8":[4,0,0,0,1,0,9,3], +"key__utils_8hpp.html#a0e3c662ea73d93bdf6f2a4a6c7ab3ee9":[4,0,0,0,1,0,9,4], +"key__utils_8hpp.html#a17d4c25130755b9075b48cb9f22411a5":[4,0,0,0,1,0,9,17], +"key__utils_8hpp.html#a26818b9f0aa2826193c12ebbcd516d5c":[4,0,0,0,1,0,9,14], +"key__utils_8hpp.html#a377492aec0291bc289eba84d31b52f60":[4,0,0,0,1,0,9,22], +"key__utils_8hpp.html#a414bc3518c0e6f968338533ccbb381b8":[4,0,0,0,1,0,9,15], +"key__utils_8hpp.html#a421d953ed45f8e85368d906824cc1b76":[4,0,0,0,1,0,9,2], +"key__utils_8hpp.html#a5cd71ed03fbb930b8da785011b4430fc":[4,0,0,0,1,0,9,6], +"key__utils_8hpp.html#a5cf83297746ac38942c4e6d515030884":[4,0,0,0,1,0,9,8], +"key__utils_8hpp.html#a64b7b02e02888b43c508684f3939aa77":[4,0,0,0,1,0,9,7], +"key__utils_8hpp.html#a6985ebc6a27e11e105bb9433765c04d7":[4,0,0,0,1,0,9,20], +"key__utils_8hpp.html#a76123ee6d91ba89e19c83e1ef453fc1d":[4,0,0,0,1,0,9,1], +"key__utils_8hpp.html#a765369843265789042da1b4856a07202":[4,0,0,0,1,0,9,13], +"key__utils_8hpp.html#a798574a285557f53efab8521532da82d":[4,0,0,0,1,0,9,12], +"key__utils_8hpp.html#a8010c134258beccbf5224e9f5c040825":[4,0,0,0,1,0,9,19], +"key__utils_8hpp.html#a83093b2d24efd8161abc60290a11945d":[4,0,0,0,1,0,9,24], +"key__utils_8hpp.html#a886436abb8b2d3bc0ff91fa0faf052b6":[4,0,0,0,1,0,9,16], +"key__utils_8hpp.html#a9ff397ff9cb2e98f4ee095f16a155ff0":[4,0,0,0,1,0,9,26], +"key__utils_8hpp.html#aa1d56938ffd3af0d7efffb788425112a":[4,0,0,0,1,0,9,25], +"key__utils_8hpp.html#aa9cbce17fa0d81b4fb658756a2aa9313":[4,0,0,0,1,0,9,18], +"key__utils_8hpp.html#aaa5b3d6111b08badba51b37a8890e4f2":[4,0,0,0,1,0,9,9], +"key__utils_8hpp.html#ab18517b08024e1cdc4364a76c74cad59":[4,0,0,0,1,0,9,11], +"key__utils_8hpp.html#ac7230a60ca339b86b59f88f7ca069b1a":[4,0,0,0,1,0,9,28], +"key__utils_8hpp.html#ac871966a2176ae48a0a85b6170e13592":[4,0,0,0,1,0,9,0], +"key__utils_8hpp.html#ad64c4446ffb3e530c2c5eee66efcbd9d":[4,0,0,0,1,0,9,21], +"key__utils_8hpp.html#ae3b4a6109935f78a3754bd7db29357a4":[4,0,0,0,1,0,9,5], +"key__utils_8hpp.html#aef74f69e6a22bf95b0f7cbff816627b5":[4,0,0,0,1,0,9,23], +"key__utils_8hpp.html#af7fd095425063722ae432862864d0598":[4,0,0,0,1,0,9,27], +"key__utils_8hpp.html#af80dcf1bec9db392710cfac9ac0bd49d":[4,0,0,0,1,0,9,10], +"key__utils_8hpp_source.html":[4,0,0,0,1,0,9], +"modules.html":[1], +"multi__index_8hpp.html":[4,0,0,0,0,0,4], +"multi__index_8hpp.html#a02d21b61eb2a51a93d9af3e0a2a0989a":[4,0,0,0,0,0,4,12], +"multi__index_8hpp.html#a135eacc8542cc1a376045da059e67369":[4,0,0,0,0,0,4,10], +"multi__index_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387":[4,0,0,0,0,0,4,9], +"multi__index_8hpp.html#ab86eee8c3f788dfbc306661042361f7a":[4,0,0,0,0,0,4,11], +"multi__index_8hpp_a44e11d95000af02139eda2f0dd62f965.html#a44e11d95000af02139eda2f0dd62f965":[4,0,0,0,0,0,4,8], +"multi__index_8hpp_a522b8927626c841da1e6cc3a292d5913.html#a522b8927626c841da1e6cc3a292d5913":[4,0,0,0,0,0,4,7], +"multi__index_8hpp_aab2b11a88b267a1ad4009fed8dc5e778.html#aab2b11a88b267a1ad4009fed8dc5e778":[4,0,0,0,0,0,4,6], +"multi__index_8hpp_source.html":[4,0,0,0,0,0,4], +"name_8hpp.html":[4,0,0,0,1,0,10], +"name_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387":[4,0,0,0,1,0,10,1], +"name_8hpp_source.html":[4,0,0,0,1,0,10], +"namespacemembers.html":[3,0,0], +"namespacemembers.html":[3,0], +"namespacemembers_a.html":[3,0,1], +"namespacemembers_b.html":[3,0,2], +"namespacemembers_c.html":[3,0,3], +"namespacemembers_d.html":[3,0,4], +"namespacemembers_e.html":[3,0,5], +"namespacemembers_f.html":[3,0,6], +"namespacemembers_func.html":[3,1], +"namespacemembers_g.html":[3,0,7], +"namespacemembers_h.html":[3,0,8], +"namespacemembers_i.html":[3,0,9], +"namespacemembers_k.html":[3,0,10], +"namespacemembers_l.html":[3,0,11], +"namespacemembers_m.html":[3,0,12], +"namespacemembers_n.html":[3,0,13], +"namespacemembers_o.html":[3,0,14], +"namespacemembers_p.html":[3,0,15], +"namespacemembers_r.html":[3,0,16], +"namespacemembers_s.html":[3,0,17], +"namespacemembers_t.html":[3,0,18], +"namespacemembers_type.html":[3,3], +"namespacemembers_u.html":[3,0,19], +"namespacemembers_vars.html":[3,2], +"namespacemembers_w.html":[3,0,20], +"pages.html":[], +"permission_8hpp.html":[4,0,0,0,0,0,5], +"permission_8hpp_source.html":[4,0,0,0,0,0,5], +"powers_8hpp.html":[4,0,0,0,1,0,11], +"powers_8hpp.html#a184c27c80cca8d2a18974859c0123f8a":[4,0,0,0,1,0,11,7], +"powers_8hpp.html#a4f16ca40c7fd4cdde61b9e1f03d850de":[4,0,0,0,1,0,11,8], +"powers_8hpp.html#a5e3d839eb6a9a68857d5f1c44d053057":[4,0,0,0,1,0,11,3], +"powers_8hpp.html#a8af0145503d43bda71e5644c5e9ae7ef":[4,0,0,0,1,0,11,4], +"powers_8hpp.html#a9f0e47cb61333aee2eaade34168b6422":[4,0,0,0,1,0,11,5], +"powers_8hpp.html#adea93ee4d60913259a084567ee672217":[4,0,0,0,1,0,11,6], +"powers_8hpp_source.html":[4,0,0,0,1,0,11], +"print_8hpp.html":[4,0,0,0,1,0,12], +"print_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387":[4,0,0,0,1,0,12,0], +"print_8hpp.html#a6059b3dec50360c86d4098f81e70a286":[4,0,0,0,1,0,12,7], +"print_8hpp.html#ab5232cf7452d463948eac1179f31d9f0":[4,0,0,0,1,0,12,1], +"print_8hpp.html#abc883019693b16f4ff37d33c0d1b61c4":[4,0,0,0,1,0,12,12], +"print_8hpp.html#afcfae01c6d714474da8407a1c195c836":[4,0,0,0,1,0,12,9], +"print_8hpp_source.html":[4,0,0,0,1,0,12], +"privileged_8hpp.html":[4,0,0,0,0,0,6], +"privileged_8hpp.html#a1e57a95287092eed7943f2d14e0dc5b1":[4,0,0,0,0,0,6,15], +"privileged_8hpp.html#a208a5e31ff7bb998c7a04b27569e4a62":[4,0,0,0,0,0,6,17], +"privileged_8hpp.html#a23f8d804101d000066f736d21bafd1c2":[4,0,0,0,0,0,6,18], +"privileged_8hpp.html#a28632f86cebf874025ec85cf5b9d0d84":[4,0,0,0,0,0,6,12], +"privileged_8hpp.html#a41b6f2811e48e074d00c5b6366641ea9":[4,0,0,0,0,0,6,14], +"privileged_8hpp.html#a465fae2c786f7a3bfd4c9f0149d3dd0a":[4,0,0,0,0,0,6,19], +"privileged_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387":[4,0,0,0,0,0,6,1], +"privileged_8hpp.html#aa011a292ab4ac0b4e8e9371a33c4126d":[4,0,0,0,0,0,6,0], +"privileged_8hpp.html#ada902a227b77350f7f51b72a0a3db867":[4,0,0,0,0,0,6,16], +"privileged_8hpp.html#afe6f9d73dd3f9437b6244774206ac8fb":[4,0,0,0,0,0,6,13], +"privileged_8hpp_source.html":[4,0,0,0,0,0,6], +"producer__schedule_8hpp.html":[4,0,0,0,0,0,7], +"producer__schedule_8hpp_source.html":[4,0,0,0,0,0,7], +"reflect_8hpp.html":[4,0,0,0,1,0,13], +"reflect_8hpp_source.html":[4,0,0,0,1,0,13], +"rope_8hpp.html":[4,0,0,0,1,0,14], +"rope_8hpp.html#a3019314f98ba35c586a0d3c50747e7ee":[4,0,0,0,1,0,14,5], +"rope_8hpp.html#ae6203fa7e000c25cb3f5eb731cd2139c":[4,0,0,0,1,0,14,4], +"rope_8hpp_source.html":[4,0,0,0,1,0,14], +"security__group_8hpp.html":[4,0,0,0,0,0,8], +"security__group_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387":[4,0,0,0,0,0,8,1], +"security__group_8hpp_source.html":[4,0,0,0,0,0,8], +"serialize_8hpp.html":[4,0,0,0,1,0,15], +"serialize_8hpp_a6feed62c5d17dc8c6a94845f1ea59b0b.html#a6feed62c5d17dc8c6a94845f1ea59b0b":[4,0,0,0,1,0,15,0], +"serialize_8hpp_source.html":[4,0,0,0,1,0,15], +"singleton_8hpp.html":[4,0,0,0,0,0,9], +"singleton_8hpp_source.html":[4,0,0,0,0,0,9], +"string_8hpp.html":[4,0,0,0,1,0,16], +"string_8hpp.html#a14b4435561885695942e8d60b7d5e7b7":[4,0,0,0,1,0,16,1], +"string_8hpp.html#a2f1c46cd699cf27d007b60f941edaca0":[4,0,0,0,1,0,16,6], +"string_8hpp.html#a3769e5e16987ccf2c510856696f38b9d":[4,0,0,0,1,0,16,3], +"string_8hpp.html#a46b78c005e5ed39960b2e040b06b4053":[4,0,0,0,1,0,16,9], +"string_8hpp.html#a76c9eef0a1a07d3dd3c924e6f302bf1c":[4,0,0,0,1,0,16,2], +"string_8hpp.html#a80fdc59744805f578b1947990dc03372":[4,0,0,0,1,0,16,5], +"string_8hpp.html#ab403fc37b2c295133b5be19cfc548c4a":[4,0,0,0,1,0,16,8], +"string_8hpp.html#ab9a725e824a4b42a2a4a23b994289061":[4,0,0,0,1,0,16,7], +"string_8hpp.html#afca27a6d080cc7375dce87cdc23457e3":[4,0,0,0,1,0,16,4], +"string_8hpp_source.html":[4,0,0,0,1,0,16], +"structeosio_1_1__datastream__detail_1_1is__datastream.html":[2,0,0,0,0], +"structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4.html":[2,0,0,0,1], +"structeosio_1_1__multi__index__detail_1_1secondary__index__db__functions.html":[2,0,0,1,0], +"structeosio_1_1__multi__index__detail_1_1secondary__key__traits.html":[2,0,0,1,1], +"structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4.html":[2,0,0,1,2], +"structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4.html":[2,0,0,1,3], +"structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4.html":[2,0,0,1,4], +"structeosio_1_1action.html":[1,1,0,1], +"structeosio_1_1action__wrapper.html":[2,0,0,5], +"structeosio_1_1action__wrapper_a12ef4e4f5e9459ee02ea7113706f3147.html#a12ef4e4f5e9459ee02ea7113706f3147":[2,0,0,5,0], +"structeosio_1_1action__wrapper_a333abd92bf1c6c965759a93ee9dc280b.html#a333abd92bf1c6c965759a93ee9dc280b":[2,0,0,5,1], +"structeosio_1_1action__wrapper_a5a8a0453c4d0e1233c05cb0749ae7807.html#a5a8a0453c4d0e1233c05cb0749ae7807":[2,0,0,5,4], +"structeosio_1_1action__wrapper_a8b3fbccd819478987dbcba4362b1357f.html#a8b3fbccd819478987dbcba4362b1357f":[2,0,0,5,3], +"structeosio_1_1action__wrapper_a8bbb70cfa7ca6965bed97142c3e1c10d.html#a8bbb70cfa7ca6965bed97142c3e1c10d":[2,0,0,5,8], +"structeosio_1_1action__wrapper_aa7f4781b065eda40ba6803410f1b2eb1.html#aa7f4781b065eda40ba6803410f1b2eb1":[2,0,0,5,5], +"structeosio_1_1action__wrapper_ae1e1b2dda09b7185e2f6ae7ec6acadf1.html#ae1e1b2dda09b7185e2f6ae7ec6acadf1":[2,0,0,5,9] +}; diff --git a/docs/cdt/navtreeindex3.js b/docs/cdt/navtreeindex3.js new file mode 100644 index 000000000..188440623 --- /dev/null +++ b/docs/cdt/navtreeindex3.js @@ -0,0 +1,253 @@ +var NAVTREEINDEX3 = +{ +"structeosio_1_1action__wrapper_ae422e0f1f06d13925a29dcac8f4457f1.html#ae422e0f1f06d13925a29dcac8f4457f1":[2,0,0,5,7], +"structeosio_1_1action__wrapper_ae9fc18e5e6a4ca8a70120594aaab73e5.html#ae9fc18e5e6a4ca8a70120594aaab73e5":[2,0,0,5,6], +"structeosio_1_1action__wrapper_af1be67f4109fb82bfcc18ad47a3f30ea.html#af1be67f4109fb82bfcc18ad47a3f30ea":[2,0,0,5,2], +"structeosio_1_1action_a407ffb98514612d2e9683dd7d88af91a.html#a407ffb98514612d2e9683dd7d88af91a":[1,1,0,1,9], +"structeosio_1_1action_a447f36a63208c2d138b7109b3e13e55f.html#a447f36a63208c2d138b7109b3e13e55f":[1,1,0,1,4], +"structeosio_1_1action_a4fc65ee0b7c184e7fcb8cdf6242220af.html#a4fc65ee0b7c184e7fcb8cdf6242220af":[1,1,0,1,6], +"structeosio_1_1action_a51845c4ffbe1c97fc8d05115d05a3ab1.html#a51845c4ffbe1c97fc8d05115d05a3ab1":[1,1,0,1,8], +"structeosio_1_1action_a65851242b65f483e6b84d602d599f4e5.html#a65851242b65f483e6b84d602d599f4e5":[1,1,0,1,7], +"structeosio_1_1action_a984a41daf2d1c4d6506cac0c98ac7a2a.html#a984a41daf2d1c4d6506cac0c98ac7a2a":[1,1,0,1,5], +"structeosio_1_1action_a9ef6c7fc0a06f53c754a1cc8af513d00.html#a9ef6c7fc0a06f53c754a1cc8af513d00":[1,1,0,1,1], +"structeosio_1_1action_aa6b336f4f7a8c61d68e14d99a0a9cd9d.html#aa6b336f4f7a8c61d68e14d99a0a9cd9d":[1,1,0,1,2], +"structeosio_1_1action_ab10f4621dd9e24a33642d8fb240b1a01.html#ab10f4621dd9e24a33642d8fb240b1a01":[1,1,0,1,3], +"structeosio_1_1action_aebc29a38547efa71db8ec20cc56d69a4.html#aebc29a38547efa71db8ec20cc56d69a4":[1,1,0,1,0], +"structeosio_1_1asset.html":[1,0,0,0], +"structeosio_1_1asset_a0b6c8ba10eedc0129364fc910e840d7f.html#a0b6c8ba10eedc0129364fc910e840d7f":[1,0,0,0,5], +"structeosio_1_1asset_a111a52097d1761898d5641536c308416.html#a111a52097d1761898d5641536c308416":[1,0,0,0,4], +"structeosio_1_1asset_a1c0dbeb4348006fa622e2b5d06431554.html#a1c0dbeb4348006fa622e2b5d06431554":[1,0,0,0,6], +"structeosio_1_1asset_a374520d98a22f5a89a26025154944756.html#a374520d98a22f5a89a26025154944756":[1,0,0,0,9], +"structeosio_1_1asset_a5e90d7716bca208014477a1e9c9af7dc.html#a5e90d7716bca208014477a1e9c9af7dc":[1,0,0,0,7], +"structeosio_1_1asset_a815b58378c8849fbb2a68f288edf5f31.html#a815b58378c8849fbb2a68f288edf5f31":[1,0,0,0,2], +"structeosio_1_1asset_aa2e8739bf534ea99199d121143ca7a0a.html#aa2e8739bf534ea99199d121143ca7a0a":[1,0,0,0,3], +"structeosio_1_1asset_abb4cf1f370bb101c7d61910ff45d6b55.html#abb4cf1f370bb101c7d61910ff45d6b55":[1,0,0,0,1], +"structeosio_1_1asset_abdde8d4b53c1b8f1027ab6cb2b13b845.html#abdde8d4b53c1b8f1027ab6cb2b13b845":[1,0,0,0,0], +"structeosio_1_1asset_ac76c16a58851550706c6709698ed7255.html#ac76c16a58851550706c6709698ed7255":[1,0,0,0,8], +"structeosio_1_1block__signing__authority__v0.html":[1,1,7,1], +"structeosio_1_1block__signing__authority__v0.html":[1,2,6,1], +"structeosio_1_1block__signing__authority__v0_a3f0b70b44704cf738489e64cc6706859.html#a3f0b70b44704cf738489e64cc6706859":[1,2,6,1,2], +"structeosio_1_1block__signing__authority__v0_a3f0b70b44704cf738489e64cc6706859.html#a3f0b70b44704cf738489e64cc6706859":[1,1,7,1,2], +"structeosio_1_1block__signing__authority__v0_a9bd0140a33077b4179de56132205ebdd.html#a9bd0140a33077b4179de56132205ebdd":[1,2,6,1,3], +"structeosio_1_1block__signing__authority__v0_a9bd0140a33077b4179de56132205ebdd.html#a9bd0140a33077b4179de56132205ebdd":[1,1,7,1,3], +"structeosio_1_1block__signing__authority__v0_aace9f3212e4df0db2511059a9c876886.html#aace9f3212e4df0db2511059a9c876886":[1,1,7,1,1], +"structeosio_1_1block__signing__authority__v0_aace9f3212e4df0db2511059a9c876886.html#aace9f3212e4df0db2511059a9c876886":[1,2,6,1,1], +"structeosio_1_1block__signing__authority__v0_ac69f3c98104be7264396dd0e9af3706f.html#ac69f3c98104be7264396dd0e9af3706f":[1,2,6,1,0], +"structeosio_1_1block__signing__authority__v0_ac69f3c98104be7264396dd0e9af3706f.html#ac69f3c98104be7264396dd0e9af3706f":[1,1,7,1,0], +"structeosio_1_1blockchain__parameters.html":[1,1,4,0], +"structeosio_1_1blockchain__parameters_a07d6c92013fce008071d9b610544c4c6.html#a07d6c92013fce008071d9b610544c4c6":[1,1,4,0,12], +"structeosio_1_1blockchain__parameters_a2a6f29f85a765e80fab44ca4c8bf4104.html#a2a6f29f85a765e80fab44ca4c8bf4104":[1,1,4,0,7], +"structeosio_1_1blockchain__parameters_a346f353931e0403d07e27da151a8af4d.html#a346f353931e0403d07e27da151a8af4d":[1,1,4,0,16], +"structeosio_1_1blockchain__parameters_a34aa31b25c026f190097d3b66b5d8b28.html#a34aa31b25c026f190097d3b66b5d8b28":[1,1,4,0,1], +"structeosio_1_1blockchain__parameters_a5066e04cd3a3d74459e810d253c29ebf.html#a5066e04cd3a3d74459e810d253c29ebf":[1,1,4,0,14], +"structeosio_1_1blockchain__parameters_a59893f31083ea0239eff0fdb47a3e9a2.html#a59893f31083ea0239eff0fdb47a3e9a2":[1,1,4,0,9], +"structeosio_1_1blockchain__parameters_a5c15c7c28e28d93183e85639ddd3dd83.html#a5c15c7c28e28d93183e85639ddd3dd83":[1,1,4,0,13], +"structeosio_1_1blockchain__parameters_a7dbcbc6c005be48b9d42fe21ee3c034f.html#a7dbcbc6c005be48b9d42fe21ee3c034f":[1,1,4,0,8], +"structeosio_1_1blockchain__parameters_a8cf445a327ffb230b9751f3b6764efaa.html#a8cf445a327ffb230b9751f3b6764efaa":[1,1,4,0,3], +"structeosio_1_1blockchain__parameters_a8ee23aba0c372b7d62b18e749e0e8798.html#a8ee23aba0c372b7d62b18e749e0e8798":[1,1,4,0,2], +"structeosio_1_1blockchain__parameters_a944e5020392feb3aa43452db31dd6c53.html#a944e5020392feb3aa43452db31dd6c53":[1,1,4,0,0], +"structeosio_1_1blockchain__parameters_aa8e6bff1b7d255588fb31ccdf6035aba.html#aa8e6bff1b7d255588fb31ccdf6035aba":[1,1,4,0,15], +"structeosio_1_1blockchain__parameters_aaffe7d6c7437826f208c68e9ee2acf65.html#aaffe7d6c7437826f208c68e9ee2acf65":[1,1,4,0,6], +"structeosio_1_1blockchain__parameters_ac1ad602bce04bb7de2b83acf319605ac.html#ac1ad602bce04bb7de2b83acf319605ac":[1,1,4,0,10], +"structeosio_1_1blockchain__parameters_ae9595da087ba46dbada5f785ec9191e6.html#ae9595da087ba46dbada5f785ec9191e6":[1,1,4,0,11], +"structeosio_1_1blockchain__parameters_aef65360380b879d1782d0b202b96c776.html#aef65360380b879d1782d0b202b96c776":[1,1,4,0,4], +"structeosio_1_1blockchain__parameters_af6a0f851f934100f4cfc5d7cce8c3542.html#af6a0f851f934100f4cfc5d7cce8c3542":[1,1,4,0,5], +"structeosio_1_1code__hash__result.html":[2,0,0,10], +"structeosio_1_1code__hash__result_a3c9159cb77ce8d15b1a0e5bfe73ffcbb.html#a3c9159cb77ce8d15b1a0e5bfe73ffcbb":[2,0,0,10,6], +"structeosio_1_1code__hash__result_a7dc9ef8535a1a92d5a12945c023c1563.html#a7dc9ef8535a1a92d5a12945c023c1563":[2,0,0,10,4], +"structeosio_1_1code__hash__result_a94c531f9b7fa14078b54df9bb892d5fa.html#a94c531f9b7fa14078b54df9bb892d5fa":[2,0,0,10,5], +"structeosio_1_1code__hash__result_aac6982ead02d5a1cd8a1213155b87857.html#aac6982ead02d5a1cd8a1213155b87857":[2,0,0,10,2], +"structeosio_1_1code__hash__result_aaf166f0f802cc87adc9f5986e191d051.html#aaf166f0f802cc87adc9f5986e191d051":[2,0,0,10,3], +"structeosio_1_1code__hash__result_abff001c3c3671f6a82fa61136db62808.html#abff001c3c3671f6a82fa61136db62808":[2,0,0,10,1], +"structeosio_1_1code__hash__result_ac41b77f5fb3e7ca7004af3701c411976.html#ac41b77f5fb3e7ca7004af3701c411976":[2,0,0,10,0], +"structeosio_1_1const__mem__fun.html":[2,0,0,11], +"structeosio_1_1const__mem__fun_a04df970f69c75d7fc9d4949c3c0b0d19.html#a04df970f69c75d7fc9d4949c3c0b0d19":[2,0,0,11,2], +"structeosio_1_1const__mem__fun_a12f7a54a640c4224bccfbbe401ffb16f.html#a12f7a54a640c4224bccfbbe401ffb16f":[2,0,0,11,0], +"structeosio_1_1const__mem__fun_a35e521958c3954d0eacac56ce37153d7.html#a35e521958c3954d0eacac56ce37153d7":[2,0,0,11,4], +"structeosio_1_1const__mem__fun_a8191e327113ef08c101ae22d495315ae.html#a8191e327113ef08c101ae22d495315ae":[2,0,0,11,3], +"structeosio_1_1const__mem__fun_ad750b8c1fab65ea16ab50631ca9408da.html#ad750b8c1fab65ea16ab50631ca9408da":[2,0,0,11,1], +"structeosio_1_1detail_1_1largest__power.html":[2,0,0,2,0], +"structeosio_1_1detail_1_1largest__power__helper.html":[2,0,0,2,1], +"structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4.html":[2,0,0,2,2], +"structeosio_1_1detail_1_1to__const__char__arr.html":[2,0,0,2,3], +"structeosio_1_1ec__point.html":[1,0,2,0], +"structeosio_1_1ec__point__view.html":[1,0,2,1], +"structeosio_1_1ec__point__view_a219f776476a886286b805a038d50ae02.html#a219f776476a886286b805a038d50ae02":[1,0,2,1,1], +"structeosio_1_1ec__point__view_a246d1354267f9229da09910aebed17a3.html#a246d1354267f9229da09910aebed17a3":[1,0,2,1,5], +"structeosio_1_1ec__point__view_a58db6d160530b793ff9313110ab7ee43.html#a58db6d160530b793ff9313110ab7ee43":[1,0,2,1,3], +"structeosio_1_1ec__point__view_ab2b81ba1368af5f272b0e325043f6742.html#ab2b81ba1368af5f272b0e325043f6742":[1,0,2,1,2], +"structeosio_1_1ec__point__view_ab8917551a1275db02a2faf141ef2c8b7.html#ab8917551a1275db02a2faf141ef2c8b7":[1,0,2,1,6], +"structeosio_1_1ec__point__view_ac94bfdc2f24d787628ab6b684b7b01a0.html#ac94bfdc2f24d787628ab6b684b7b01a0":[1,0,2,1,4], +"structeosio_1_1ec__point__view_afefa3f51502d704de152914c137586a6.html#afefa3f51502d704de152914c137586a6":[1,0,2,1,0], +"structeosio_1_1ec__point_a9d58791cea69d15014c97e8f4ca984a1.html#a9d58791cea69d15014c97e8f4ca984a1":[1,0,2,0,2], +"structeosio_1_1ec__point_ab8a58360bffb655455dbe52ca73f5047.html#ab8a58360bffb655455dbe52ca73f5047":[1,0,2,0,0], +"structeosio_1_1ec__point_ac0ce980f3a4f3a910ba016449928d12e.html#ac0ce980f3a4f3a910ba016449928d12e":[1,0,2,0,3], +"structeosio_1_1ec__point_ad7a71307ec985cd0208b5039050a024b.html#ad7a71307ec985cd0208b5039050a024b":[1,0,2,0,1], +"structeosio_1_1ec__point_ae2a5451275a6e0f0bc24cce013c1df1d.html#ae2a5451275a6e0f0bc24cce013c1df1d":[1,0,2,0,4], +"structeosio_1_1extended__asset.html":[1,0,0,1], +"structeosio_1_1extended__asset_a29f3c5f054f754ab4fac481cce633682.html#a29f3c5f054f754ab4fac481cce633682":[1,0,0,1,2], +"structeosio_1_1extended__asset_a7604109863c6d45bc54347c27bd632a4.html#a7604109863c6d45bc54347c27bd632a4":[1,0,0,1,3], +"structeosio_1_1extended__asset_a7747448ddea804e84fe72decd40ee3a2.html#a7747448ddea804e84fe72decd40ee3a2":[1,0,0,1,0], +"structeosio_1_1extended__asset_a831a169f25c972af14a01e0305ab8d74.html#a831a169f25c972af14a01e0305ab8d74":[1,0,0,1,1], +"structeosio_1_1extended__asset_aacd83a028c55e22db2e8f14027827ad7.html#aacd83a028c55e22db2e8f14027827ad7":[1,0,0,1,6], +"structeosio_1_1extended__asset_acac503620c8c59864b065360fb50868b.html#acac503620c8c59864b065360fb50868b":[1,0,0,1,5], +"structeosio_1_1extended__asset_af5993cb01622505de48870ba728cec3b.html#af5993cb01622505de48870ba728cec3b":[1,0,0,1,4], +"structeosio_1_1ignore.html":[1,0,5,0], +"structeosio_1_1ignore__wrapper.html":[2,0,0,21], +"structeosio_1_1ignore__wrapper_a0dcb6bbda0a915c87264dc0119fc9ded.html#a0dcb6bbda0a915c87264dc0119fc9ded":[2,0,0,21,2], +"structeosio_1_1ignore__wrapper_a4f84e678095bec6a25ce72256b4cbfce.html#a4f84e678095bec6a25ce72256b4cbfce":[2,0,0,21,6], +"structeosio_1_1ignore__wrapper_a79d94e050efb9c7b3cd6a01fe1c8350b.html#a79d94e050efb9c7b3cd6a01fe1c8350b":[2,0,0,21,4], +"structeosio_1_1ignore__wrapper_a89db1ce457bcd345d9c0403ad6c4936f.html#a89db1ce457bcd345d9c0403ad6c4936f":[2,0,0,21,0], +"structeosio_1_1ignore__wrapper_ac438b2240f6513b7ccac4d7c6876bd95.html#ac438b2240f6513b7ccac4d7c6876bd95":[2,0,0,21,5], +"structeosio_1_1ignore__wrapper_ac6cf7a6be9c0cc5013c68c1e39a0bab8.html#ac6cf7a6be9c0cc5013c68c1e39a0bab8":[2,0,0,21,1], +"structeosio_1_1ignore__wrapper_adcb05b331265687383a2324c8e47c428.html#adcb05b331265687383a2324c8e47c428":[2,0,0,21,3], +"structeosio_1_1impl_1_1concat__t.html":[2,0,0,3,0], +"structeosio_1_1impl_1_1concat__t_a344e265129ddb389e4340c9781a5eafb.html#a344e265129ddb389e4340c9781a5eafb":[2,0,0,3,0,1], +"structeosio_1_1impl_1_1concat__t_a66bf009cb8e646692287b254df119652.html#a66bf009cb8e646692287b254df119652":[2,0,0,3,0,3], +"structeosio_1_1impl_1_1concat__t_a729e92e9c1ad1f1fcb4333a5dbd4e673.html#a729e92e9c1ad1f1fcb4333a5dbd4e673":[2,0,0,3,0,2], +"structeosio_1_1impl_1_1concat__t_aae6bb79b83cd6aaae6425af9ba4e61d2.html#aae6bb79b83cd6aaae6425af9ba4e61d2":[2,0,0,3,0,0], +"structeosio_1_1impl_1_1str__t.html":[2,0,0,3,1], +"structeosio_1_1impl_1_1str__t_a1dd376f2e0c96d51fe51c5de1b2ce31b.html#a1dd376f2e0c96d51fe51c5de1b2ce31b":[2,0,0,3,1,0], +"structeosio_1_1impl_1_1str__t_a6a41a31c4b462547b26ff114e22cb8a2.html#a6a41a31c4b462547b26ff114e22cb8a2":[2,0,0,3,1,1], +"structeosio_1_1impl_1_1str__t_a7a7645f3deaeb5e01124300c850d5f7e.html#a7a7645f3deaeb5e01124300c850d5f7e":[2,0,0,3,1,2], +"structeosio_1_1indexed__by.html":[1,1,3,0], +"structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html#ad04dd8d771430edeb499c9d03bc9bb60":[1,1,3,0,1], +"structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html#ad04dd8d771430edeb499c9d03bc9bb60a4645263158ffe7d237fda11ac37aea05":[1,1,3,0,1,0], +"structeosio_1_1indexed__by_affd7e285b6b9435c7c2b0104a14b5791.html#affd7e285b6b9435c7c2b0104a14b5791":[1,1,3,0,0], +"structeosio_1_1inline__dispatcher.html":[2,0,0,23], +"structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4.html":[2,0,0,24], +"structeosio_1_1key__weight.html":[1,2,6,0], +"structeosio_1_1key__weight.html":[1,1,7,0], +"structeosio_1_1key__weight_a0716877105b0d4a6fca4c09f7e129800.html#a0716877105b0d4a6fca4c09f7e129800":[1,1,7,0,1], +"structeosio_1_1key__weight_a0716877105b0d4a6fca4c09f7e129800.html#a0716877105b0d4a6fca4c09f7e129800":[1,2,6,0,1], +"structeosio_1_1key__weight_a78bc9eff39c12ee18ba27206967c00a0.html#a78bc9eff39c12ee18ba27206967c00a0":[1,1,7,0,2], +"structeosio_1_1key__weight_a78bc9eff39c12ee18ba27206967c00a0.html#a78bc9eff39c12ee18ba27206967c00a0":[1,2,6,0,2], +"structeosio_1_1key__weight_a85634275ee0cdb26b0e1c7be597b95c0.html#a85634275ee0cdb26b0e1c7be597b95c0":[1,1,7,0,0], +"structeosio_1_1key__weight_a85634275ee0cdb26b0e1c7be597b95c0.html#a85634275ee0cdb26b0e1c7be597b95c0":[1,2,6,0,0], +"structeosio_1_1multi__index_1_1const__iterator.html":[1,1,3,1,0], +"structeosio_1_1multi__index_1_1const__iterator_a3a0faabfa94970b0d94d9b2977c69f43.html#a3a0faabfa94970b0d94d9b2977c69f43":[1,1,3,1,0,4], +"structeosio_1_1multi__index_1_1const__iterator_a3ed82524c8a4f576a2f472b30f1fec6e.html#a3ed82524c8a4f576a2f472b30f1fec6e":[1,1,3,1,0,5], +"structeosio_1_1multi__index_1_1const__iterator_a474ad2ee1333aa717a29bb55a9d5fc44.html#a474ad2ee1333aa717a29bb55a9d5fc44":[1,1,3,1,0,6], +"structeosio_1_1multi__index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html#a5fbca5b71055f2b793ae1607239b13a0":[1,1,3,1,0,7], +"structeosio_1_1multi__index_1_1const__iterator_a751d1e7eedadb5b3033cedc6f8e8078e.html#a751d1e7eedadb5b3033cedc6f8e8078e":[1,1,3,1,0,2], +"structeosio_1_1multi__index_1_1const__iterator_a829330bb82ce769116465eb450a34249.html#a829330bb82ce769116465eb450a34249":[1,1,3,1,0,1], +"structeosio_1_1multi__index_1_1const__iterator_aa838b30a0fa169a6a507ef8fa725f7bd.html#aa838b30a0fa169a6a507ef8fa725f7bd":[1,1,3,1,0,3], +"structeosio_1_1multi__index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html#ab0ac7de651351823aece097eb3be1cfb":[1,1,3,1,0,8], +"structeosio_1_1multi__index_1_1const__iterator_af26c82fdb30dc0e6b3b1a51c60665fc7.html#af26c82fdb30dc0e6b3b1a51c60665fc7":[1,1,3,1,0,0], +"structeosio_1_1name.html":[1,2,1,0], +"structeosio_1_1name.html":[1,0,6,0], +"structeosio_1_1name_a0ce912cd61e77f223ac1d252deec0d04.html#a0ce912cd61e77f223ac1d252deec0d04":[1,0,6,0,4], +"structeosio_1_1name_a0ce912cd61e77f223ac1d252deec0d04.html#a0ce912cd61e77f223ac1d252deec0d04":[1,2,1,0,4], +"structeosio_1_1name_a12f96935b2753bbd4fd3117039dae003.html#a12f96935b2753bbd4fd3117039dae003":[1,2,1,0,5], +"structeosio_1_1name_a12f96935b2753bbd4fd3117039dae003.html#a12f96935b2753bbd4fd3117039dae003":[1,0,6,0,5], +"structeosio_1_1name_a1d269720fd7434429216833187173656.html#a1d269720fd7434429216833187173656":[1,0,6,0,0], +"structeosio_1_1name_a1d269720fd7434429216833187173656.html#a1d269720fd7434429216833187173656":[1,2,1,0,0], +"structeosio_1_1name_a3babe141d965ae3c1ae0ec31f417f4b1.html#a3babe141d965ae3c1ae0ec31f417f4b1":[1,2,1,0,13], +"structeosio_1_1name_a3babe141d965ae3c1ae0ec31f417f4b1.html#a3babe141d965ae3c1ae0ec31f417f4b1":[1,0,6,0,13], +"structeosio_1_1name_a3e05c2f8c5eb5fa35dc1a99918d57c19.html#a3e05c2f8c5eb5fa35dc1a99918d57c19":[1,2,1,0,1], +"structeosio_1_1name_a3e05c2f8c5eb5fa35dc1a99918d57c19.html#a3e05c2f8c5eb5fa35dc1a99918d57c19":[1,0,6,0,1], +"structeosio_1_1name_a4679582f6b187de123c5167db945b0fe.html#a4679582f6b187de123c5167db945b0fe":[1,2,1,0,3], +"structeosio_1_1name_a4679582f6b187de123c5167db945b0fe.html#a4679582f6b187de123c5167db945b0fe":[1,0,6,0,3], +"structeosio_1_1name_a5afd970dffff251b4137738542463c53.html#a5afd970dffff251b4137738542463c53":[1,2,1,0,9], +"structeosio_1_1name_a5afd970dffff251b4137738542463c53.html#a5afd970dffff251b4137738542463c53":[1,0,6,0,9], +"structeosio_1_1name_a667462189a277a9f11f66fcd88af05df.html#a667462189a277a9f11f66fcd88af05df":[1,2,1,0,7], +"structeosio_1_1name_a667462189a277a9f11f66fcd88af05df.html#a667462189a277a9f11f66fcd88af05df":[1,0,6,0,7], +"structeosio_1_1name_a757935f0931b482c554686c2ea2a42b2.html#a757935f0931b482c554686c2ea2a42b2":[1,0,6,0,6], +"structeosio_1_1name_a757935f0931b482c554686c2ea2a42b2.html#a757935f0931b482c554686c2ea2a42b2":[1,2,1,0,6], +"structeosio_1_1name_a806f77788fe466215adeb2b78553b6f8.html#a806f77788fe466215adeb2b78553b6f8":[1,0,6,0,11], +"structeosio_1_1name_a806f77788fe466215adeb2b78553b6f8.html#a806f77788fe466215adeb2b78553b6f8":[1,2,1,0,11], +"structeosio_1_1name_aa2b5455012ac1cc8bc9f615f305fa65e.html#aa2b5455012ac1cc8bc9f615f305fa65e":[1,2,1,0,10], +"structeosio_1_1name_aa2b5455012ac1cc8bc9f615f305fa65e.html#aa2b5455012ac1cc8bc9f615f305fa65e":[1,0,6,0,10], +"structeosio_1_1name_abc1f35add0a585ea60d6c7333b87f595.html#abc1f35add0a585ea60d6c7333b87f595":[1,0,6,0,2], +"structeosio_1_1name_abc1f35add0a585ea60d6c7333b87f595.html#abc1f35add0a585ea60d6c7333b87f595":[1,2,1,0,2], +"structeosio_1_1name_adb309a6e132467ef2c53e953b56ebb52.html#adb309a6e132467ef2c53e953b56ebb52":[1,0,6,0,14], +"structeosio_1_1name_adb309a6e132467ef2c53e953b56ebb52.html#adb309a6e132467ef2c53e953b56ebb52":[1,2,1,0,14], +"structeosio_1_1name_ae9b8c13d32a86f9ff355b6dce3955ab6.html#ae9b8c13d32a86f9ff355b6dce3955ab6":[1,2,1,0,12], +"structeosio_1_1name_ae9b8c13d32a86f9ff355b6dce3955ab6.html#ae9b8c13d32a86f9ff355b6dce3955ab6":[1,0,6,0,12], +"structeosio_1_1name_afd3799cbd1bc276a81dba035599f535c.html#afd3799cbd1bc276a81dba035599f535c":[1,0,6,0,8], +"structeosio_1_1name_afd3799cbd1bc276a81dba035599f535c.html#afd3799cbd1bc276a81dba035599f535c":[1,2,1,0,8], +"structeosio_1_1onerror.html":[1,1,10,2], +"structeosio_1_1onerror_a1cae304360f79394762ec5040046887e.html#a1cae304360f79394762ec5040046887e":[1,1,10,2,2], +"structeosio_1_1onerror_a8fe8368f7a3213b5ab0a93407f41cd66.html#a8fe8368f7a3213b5ab0a93407f41cd66":[1,1,10,2,0], +"structeosio_1_1onerror_ae6686bc621795ad87f257d0be72f345c.html#ae6686bc621795ad87f257d0be72f345c":[1,1,10,2,1], +"structeosio_1_1overloaded.html":[2,0,0,31], +"structeosio_1_1permission__level.html":[1,1,0,0], +"structeosio_1_1permission__level_a0e60ff070bbee22ee47e719e8b7757a1.html#a0e60ff070bbee22ee47e719e8b7757a1":[1,1,0,0,2], +"structeosio_1_1permission__level_a40e360b0bfdb5aa413812d5cb171ff51.html#a40e360b0bfdb5aa413812d5cb171ff51":[1,1,0,0,3], +"structeosio_1_1permission__level_a5b23258308433be05a03ab4e2fce9b36.html#a5b23258308433be05a03ab4e2fce9b36":[1,1,0,0,0], +"structeosio_1_1permission__level_a80e38737c6e727a27e9ff7a195f74d5d.html#a80e38737c6e727a27e9ff7a195f74d5d":[1,1,0,0,1], +"structeosio_1_1permission__level_ab5d07611f5ba5e7b5dff9e749c5696e0.html#ab5d07611f5ba5e7b5dff9e749c5696e0":[1,1,0,0,4], +"structeosio_1_1permission__level_af30baa92f0b3d6b611967c0dfb7555a7.html#af30baa92f0b3d6b611967c0dfb7555a7":[1,1,0,0,5], +"structeosio_1_1producer__authority.html":[1,2,6,2], +"structeosio_1_1producer__authority.html":[1,1,7,2], +"structeosio_1_1producer__authority_a4b283812e4b5646e5c00b9009ccaa642.html#a4b283812e4b5646e5c00b9009ccaa642":[1,2,6,2,3], +"structeosio_1_1producer__authority_a4b283812e4b5646e5c00b9009ccaa642.html#a4b283812e4b5646e5c00b9009ccaa642":[1,1,7,2,3], +"structeosio_1_1producer__authority_aa26af3fe95014015f5501d41d997f6be.html#aa26af3fe95014015f5501d41d997f6be":[1,1,7,2,1], +"structeosio_1_1producer__authority_aa26af3fe95014015f5501d41d997f6be.html#aa26af3fe95014015f5501d41d997f6be":[1,2,6,2,1], +"structeosio_1_1producer__authority_aaefed59167672831f79af2e1d3a2160e.html#aaefed59167672831f79af2e1d3a2160e":[1,1,7,2,2], +"structeosio_1_1producer__authority_aaefed59167672831f79af2e1d3a2160e.html#aaefed59167672831f79af2e1d3a2160e":[1,2,6,2,2], +"structeosio_1_1producer__authority_ab4890311700654d7b4b23c4352a932e0.html#ab4890311700654d7b4b23c4352a932e0":[1,1,7,2,0], +"structeosio_1_1producer__authority_ab4890311700654d7b4b23c4352a932e0.html#ab4890311700654d7b4b23c4352a932e0":[1,2,6,2,0], +"structeosio_1_1producer__key.html":[1,1,5,0], +"structeosio_1_1producer__key.html":[1,2,4,0], +"structeosio_1_1producer__key_a7c39bd53db1afc7e683a4e0089cd156b.html#a7c39bd53db1afc7e683a4e0089cd156b":[1,2,4,0,0], +"structeosio_1_1producer__key_a7c39bd53db1afc7e683a4e0089cd156b.html#a7c39bd53db1afc7e683a4e0089cd156b":[1,1,5,0,0], +"structeosio_1_1producer__schedule.html":[1,1,6,0], +"structeosio_1_1producer__schedule.html":[1,2,5,0], +"structeosio_1_1producer__schedule_a10628b8023f6db90687a54776d15a117.html#a10628b8023f6db90687a54776d15a117":[1,2,5,0,1], +"structeosio_1_1producer__schedule_a10628b8023f6db90687a54776d15a117.html#a10628b8023f6db90687a54776d15a117":[1,1,6,0,1], +"structeosio_1_1producer__schedule_a3958be89c877e9249710a8aafa155829.html#a3958be89c877e9249710a8aafa155829":[1,1,6,0,2], +"structeosio_1_1producer__schedule_a3958be89c877e9249710a8aafa155829.html#a3958be89c877e9249710a8aafa155829":[1,2,5,0,2], +"structeosio_1_1producer__schedule_aad91c3466de8f18794c629a5b5a1700d.html#aad91c3466de8f18794c629a5b5a1700d":[1,1,6,0,0], +"structeosio_1_1producer__schedule_aad91c3466de8f18794c629a5b5a1700d.html#aad91c3466de8f18794c629a5b5a1700d":[1,2,5,0,0], +"structeosio_1_1security__group.html":[2,0,0,37], +"structeosio_1_1security__group_a973d5d82d74821e31a8cd813a3b9cb6f.html#a973d5d82d74821e31a8cd813a3b9cb6f":[2,0,0,37,1], +"structeosio_1_1security__group_af820dad499d430e6576e7d92ebde7f88.html#af820dad499d430e6576e7d92ebde7f88":[2,0,0,37,2], +"structeosio_1_1security__group_afb9b03dbcd61b6fad93b37b10ca2504a.html#afb9b03dbcd61b6fad93b37b10ca2504a":[2,0,0,37,0], +"structeosio_1_1signed__int.html":[1,2,2,1], +"structeosio_1_1signed__int.html":[1,0,11,1], +"structeosio_1_1signed__int_a0dd8bbac6533ed3729077bce4ada8997.html#a0dd8bbac6533ed3729077bce4ada8997":[1,2,2,1,0], +"structeosio_1_1signed__int_a0dd8bbac6533ed3729077bce4ada8997.html#a0dd8bbac6533ed3729077bce4ada8997":[1,0,11,1,0], +"structeosio_1_1signed__int_a67cdbe3b1c5458c048006777b7cabccf.html#a67cdbe3b1c5458c048006777b7cabccf":[1,0,11,1,1], +"structeosio_1_1signed__int_a67cdbe3b1c5458c048006777b7cabccf.html#a67cdbe3b1c5458c048006777b7cabccf":[1,2,2,1,1], +"structeosio_1_1unsigned__int.html":[1,0,11,0], +"structeosio_1_1unsigned__int.html":[1,2,2,0], +"structeosio_1_1unsigned__int_a2c1883d47646efcb3bc610c30be5097b.html#a2c1883d47646efcb3bc610c30be5097b":[1,2,2,0,1], +"structeosio_1_1unsigned__int_a2c1883d47646efcb3bc610c30be5097b.html#a2c1883d47646efcb3bc610c30be5097b":[1,0,11,0,1], +"structeosio_1_1unsigned__int_a8d6b543812504c0edec1d4befea8006a.html#a8d6b543812504c0edec1d4befea8006a":[1,2,2,0,0], +"structeosio_1_1unsigned__int_a8d6b543812504c0edec1d4befea8006a.html#a8d6b543812504c0edec1d4befea8006a":[1,0,11,0,0], +"structeosio_1_1unsigned__int_ab362b441320e0681f3283b03efa8568d.html#ab362b441320e0681f3283b03efa8568d":[1,0,11,0,2], +"structeosio_1_1unsigned__int_ab362b441320e0681f3283b03efa8568d.html#ab362b441320e0681f3283b03efa8568d":[1,2,2,0,2], +"structeosio_1_1unsigned__int_ae77bf5565f5fd33b99d944a78195185b.html#ae77bf5565f5fd33b99d944a78195185b":[1,0,11,0,3], +"structeosio_1_1unsigned__int_ae77bf5565f5fd33b99d944a78195185b.html#ae77bf5565f5fd33b99d944a78195185b":[1,2,2,0,3], +"structeosio_1_1variant__action__wrapper.html":[2,0,0,48], +"structeosio_1_1variant__action__wrapper_a0d83dd58a99adffbba6bd026e47a211e.html#a0d83dd58a99adffbba6bd026e47a211e":[2,0,0,48,2], +"structeosio_1_1variant__action__wrapper_a171691c13edf4f6269bb1eec44e290f3.html#a171691c13edf4f6269bb1eec44e290f3":[2,0,0,48,7], +"structeosio_1_1variant__action__wrapper_a1f95cbb7f23a1790f0ddf67d2336dd03.html#a1f95cbb7f23a1790f0ddf67d2336dd03":[2,0,0,48,4], +"structeosio_1_1variant__action__wrapper_a4cf54eec122768c5dda66731eb1c0cd3.html#a4cf54eec122768c5dda66731eb1c0cd3":[2,0,0,48,5], +"structeosio_1_1variant__action__wrapper_a54b47e0e84c464142c902d7194426d3a.html#a54b47e0e84c464142c902d7194426d3a":[2,0,0,48,0], +"structeosio_1_1variant__action__wrapper_ac6c4a0bc39c0e593277378526083c7cc.html#ac6c4a0bc39c0e593277378526083c7cc":[2,0,0,48,3], +"structeosio_1_1variant__action__wrapper_adec76a914d269cc458affb4c9a5123bd.html#adec76a914d269cc458affb4c9a5123bd":[2,0,0,48,8], +"structeosio_1_1variant__action__wrapper_ae3836c99f199acd09f326c0788ad50ef.html#ae3836c99f199acd09f326c0788ad50ef":[2,0,0,48,1], +"structeosio_1_1variant__action__wrapper_afe014cc8e17701b610af9e2adcc76da7.html#afe014cc8e17701b610af9e2adcc76da7":[2,0,0,48,6], +"symbol_8hpp.html":[4,0,0,0,1,0,17], +"symbol_8hpp.html#a11b12cc37c10cfd1c3bf36c217aa29f6":[4,0,0,0,1,0,17,1], +"symbol_8hpp.html#a9a3b6961efd68d456b206a0c8bbb498f":[4,0,0,0,1,0,17,3], +"symbol_8hpp.html#ab432976d17c725306cbb3491917d71c2":[4,0,0,0,1,0,17,2], +"symbol_8hpp.html#adc89fdc06750abc79c6893c84255bcce":[4,0,0,0,1,0,17,0], +"symbol_8hpp_source.html":[4,0,0,0,1,0,17], +"system_8hpp.html":[4,0,0,0,0,0,10], +"system_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387":[4,0,0,0,0,0,10,2], +"system_8hpp.html#a81a3d531420e3eb3b02b3fdf9a4302ec":[4,0,0,0,0,0,10,1], +"system_8hpp.html#ab0a361bb08c4c76e3ff6515e7d600af0":[4,0,0,0,0,0,10,3], +"system_8hpp.html#abdbab72cb6a9b99ab917c317a385d28d":[4,0,0,0,0,0,10,0], +"system_8hpp_source.html":[4,0,0,0,0,0,10], +"time_8hpp.html":[4,0,0,0,1,0,18], +"time_8hpp.html#a29a31fdb3cb6abce3f6abcf6840ea00c":[4,0,0,0,1,0,18,5], +"time_8hpp.html#a2b8d5b8f5a1829bd6967c3fe89eea506":[4,0,0,0,1,0,18,4], +"time_8hpp.html#a33b982404d2fd14a2618564ae69db447":[4,0,0,0,1,0,18,3], +"time_8hpp.html#ae1538fa412576d5b367a62c2f0e38730":[4,0,0,0,1,0,18,2], +"time_8hpp.html#af7174ec0c48074b993ec6bac37a84682":[4,0,0,0,1,0,18,6], +"time_8hpp_source.html":[4,0,0,0,1,0,18], +"transaction_8hpp.html":[4,0,0,0,0,0,11] +}; diff --git a/docs/cdt/navtreeindex4.js b/docs/cdt/navtreeindex4.js new file mode 100644 index 000000000..f136173c4 --- /dev/null +++ b/docs/cdt/navtreeindex4.js @@ -0,0 +1,9 @@ +var NAVTREEINDEX4 = +{ +"transaction_8hpp.html#a3a794c5c2a2c47a98ae7b9e5732baeec":[4,0,0,0,0,0,11,13], +"transaction_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387":[4,0,0,0,0,0,11,2], +"transaction_8hpp.html#a7bb660921197070acd6782ab13fec494":[4,0,0,0,0,0,11,3], +"transaction_8hpp_source.html":[4,0,0,0,0,0,11], +"varint_8hpp.html":[4,0,0,0,1,0,19], +"varint_8hpp_source.html":[4,0,0,0,1,0,19] +}; diff --git a/docs/cdt/open.png b/docs/cdt/open.png new file mode 100644 index 000000000..30f75c7ef Binary files /dev/null and b/docs/cdt/open.png differ diff --git a/docs/cdt/permission_8hpp.html b/docs/cdt/permission_8hpp.html new file mode 100644 index 000000000..e829708fc --- /dev/null +++ b/docs/cdt/permission_8hpp.html @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/permission.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Файл permission.hpp
    +
    +
    + +

    См. исходные тексты.

    +

    Подробное описание

    +
    + +

    См. определение в файле permission.hpp

    +
    +
    + + + + + + diff --git a/docs/cdt/permission_8hpp_source.html b/docs/cdt/permission_8hpp_source.html new file mode 100644 index 000000000..d4705c459 --- /dev/null +++ b/docs/cdt/permission_8hpp_source.html @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/permission.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    permission.hpp
    +
    +
    +См. документацию.
    1
    +
    5#pragma once
    +
    6
    +
    7#include "transaction.hpp"
    +
    8#include "../../core/eosio/crypto.hpp"
    +
    9#include "../../core/eosio/name.hpp"
    +
    10#include "../../core/eosio/time.hpp"
    +
    11
    +
    12#include <set>
    +
    13#include <limits>
    +
    14
    +
    15namespace eosio {
    +
    16 namespace internal_use_do_not_use {
    +
    17 extern "C" {
    +
    18 __attribute__((eosio_wasm_import))
    +
    19 int32_t check_transaction_authorization(const char*, uint32_t,
    +
    20 const char*, uint32_t,
    +
    21 const char*, uint32_t);
    +
    22 __attribute__((eosio_wasm_import))
    +
    23 int32_t check_permission_authorization( uint64_t, uint64_t,
    +
    24 const char*, uint32_t,
    +
    25 const char*, uint32_t,
    +
    26 uint64_t);
    +
    27 __attribute__((eosio_wasm_import))
    +
    28 int64_t get_permission_last_used(uint64_t, uint64_t);
    +
    29
    +
    30 __attribute__((eosio_wasm_import))
    +
    31 int64_t get_account_creation_time(uint64_t);
    +
    32 }
    +
    33 }
    +
    34
    +
    48 bool
    +
    49 check_transaction_authorization( const char* trx_data, uint32_t trx_size,
    +
    50 const char* pubkeys_data, uint32_t pubkeys_size,
    +
    51 const char* perms_data, uint32_t perms_size ) {
    +
    52 return internal_use_do_not_use::check_transaction_authorization( trx_data, trx_size, pubkeys_data, pubkeys_size, perms_data, perms_size );
    +
    53 }
    +
    54
    +
    69 bool
    +
    70 check_permission_authorization( name account,
    +
    71 name permission,
    +
    72 const char* pubkeys_data, uint32_t pubkeys_size,
    +
    73 const char* perms_data, uint32_t perms_size,
    +
    74 microseconds delay ) {
    +
    75 int64_t delay_us = delay.count();
    +
    76 check(delay_us >= 0, "negative delay is not allowed");
    +
    77 return internal_use_do_not_use::check_permission_authorization( account.value, permission.value, pubkeys_data, pubkeys_size, perms_data, perms_size, static_cast<uint64_t>(delay_us) );
    +
    78 }
    +
    79
    +
    80
    +
    98 bool
    +
    99 check_transaction_authorization( const transaction& trx,
    +
    100 const std::set<permission_level>& provided_permissions ,
    +
    101 const std::set<public_key>& provided_keys = std::set<public_key>()
    +
    102 )
    +
    103 {
    +
    104 auto packed_trx = pack(trx);
    +
    105
    +
    106 std::vector<char> packed_keys;
    +
    107 auto nkeys = provided_keys.size();
    +
    108 if( nkeys > 0 ) {
    +
    109 packed_keys = pack(provided_keys);
    +
    110 }
    +
    111
    +
    112 std::vector<char> packed_perms;
    +
    113 auto nperms = provided_permissions.size();
    +
    114 if( nperms > 0 ) {
    +
    115 packed_perms = pack(provided_permissions);
    +
    116 }
    +
    117
    +
    118 auto res = internal_use_do_not_use::check_transaction_authorization( packed_trx.data(),
    +
    119 packed_trx.size(),
    +
    120 (nkeys > 0) ? packed_keys.data() : (const char*)0,
    +
    121 (nkeys > 0) ? packed_keys.size() : 0,
    +
    122 (nperms > 0) ? packed_perms.data() : (const char*)0,
    +
    123 (nperms > 0) ? packed_perms.size() : 0
    +
    124 );
    +
    125
    +
    126 return (res > 0);
    +
    127 }
    +
    128
    +
    142 bool
    +
    143 check_permission_authorization( name account,
    +
    144 name permission,
    +
    145 const std::set<public_key>& provided_keys,
    +
    146 const std::set<permission_level>& provided_permissions = std::set<permission_level>(),
    +
    147 microseconds provided_delay = microseconds{std::numeric_limits<int64_t>::max()}
    +
    148 )
    +
    149 {
    +
    150 int64_t provided_delay_us = provided_delay.count();
    +
    151 check(provided_delay_us >= 0, "negative delay is not allowed");
    +
    152 std::vector<char> packed_keys;
    +
    153 auto nkeys = provided_keys.size();
    +
    154 if( nkeys > 0 ) {
    +
    155 packed_keys = pack(provided_keys);
    +
    156 }
    +
    157
    +
    158 std::vector<char> packed_perms;
    +
    159 auto nperms = provided_permissions.size();
    +
    160 if( nperms > 0 ) {
    +
    161 packed_perms = pack(provided_permissions);
    +
    162 }
    +
    163
    +
    164 auto res = internal_use_do_not_use::check_permission_authorization( account.value,
    +
    165 permission.value,
    +
    166 (nkeys > 0) ? packed_keys.data() : (const char*)0,
    +
    167 (nkeys > 0) ? packed_keys.size() : 0,
    +
    168 (nperms > 0) ? packed_perms.data() : (const char*)0,
    +
    169 (nperms > 0) ? packed_perms.size() : 0,
    +
    170 static_cast<uint64_t>(provided_delay_us)
    +
    171 );
    +
    172
    +
    173 return (res > 0);
    +
    174 }
    +
    175
    +
    186 time_point get_permission_last_used( name account, name permission ) {
    +
    187 return time_point(
    +
    188 microseconds(
    +
    189 internal_use_do_not_use::get_permission_last_used(account.value, permission.value)));
    +
    190
    +
    191 }
    +
    192
    +
    202 time_point get_account_creation_time( name account ) {
    +
    203 return time_point(
    +
    204 microseconds(
    +
    205 internal_use_do_not_use::get_account_creation_time(account.value)));
    +
    206
    +
    207 }
    +
    208}
    +
    +
    + + + + + + diff --git a/docs/cdt/powers_8hpp.html b/docs/cdt/powers_8hpp.html new file mode 100644 index 000000000..cb478f35c --- /dev/null +++ b/docs/cdt/powers_8hpp.html @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/powers.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    +
    #include "check.hpp"
    +#include <type_traits>
    +#include <utility>
    +#include <array>
    +
    +

    См. исходные тексты.

    + + + + + + + + +

    +Классы

    struct  eosio::detail::largest_power_helper< T, Base, Exponent, Value, Overflow >
     
    struct  eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >
     
    struct  eosio::detail::largest_power< T, Base >
     
    + + + + + +

    +Пространства имен

    namespace  eosio
     
    namespace  eosio::detail
     
    + + + + + + + + + + + + + + + + +

    +Функции

    template<typename Generator , std::size_t... Is>
    constexpr auto eosio::detail::generate_array_helper (Generator &&g, std::index_sequence< Is... >) -> std::array< decltype(g(std::size_t{}, sizeof...(Is))), sizeof...(Is)>
     
    template<std::size_t N, typename Generator >
    constexpr auto eosio::detail::generate_array (Generator &&g)
     
    template<typename T >
    constexpr T eosio::detail::pow (T base, uint8_t exponent)
     
    template<typename T , T Base>
    constexpr T eosio::detail::pow_generator (std::size_t i, std::size_t)
     
    template<uint8_t Base, typename T = uint64_t>
    constexpr T eosio::pow (uint8_t exponent)
     
    + + + + +

    +Переменные

    template<uint8_t Base, typename T = uint64_t>
    constexpr auto eosio::powers_of_base = detail::generate_array<detail::largest_power<T, Base>::exponent + 1>( detail::pow_generator<T, Base> )
     
    +
    +
    + + + + + + diff --git a/docs/cdt/powers_8hpp.js b/docs/cdt/powers_8hpp.js new file mode 100644 index 000000000..0dd31ffea --- /dev/null +++ b/docs/cdt/powers_8hpp.js @@ -0,0 +1,12 @@ +var powers_8hpp = +[ + [ "eosio::detail::largest_power_helper< T, Base, Exponent, Value, Overflow >", "structeosio_1_1detail_1_1largest__power__helper.html", null ], + [ "eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >", "structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4.html", null ], + [ "eosio::detail::largest_power< T, Base >", "structeosio_1_1detail_1_1largest__power.html", null ], + [ "generate_array", "powers_8hpp.html#a5e3d839eb6a9a68857d5f1c44d053057", null ], + [ "generate_array_helper", "powers_8hpp.html#a8af0145503d43bda71e5644c5e9ae7ef", null ], + [ "pow", "powers_8hpp.html#a9f0e47cb61333aee2eaade34168b6422", null ], + [ "pow", "powers_8hpp.html#adea93ee4d60913259a084567ee672217", null ], + [ "pow_generator", "powers_8hpp.html#a184c27c80cca8d2a18974859c0123f8a", null ], + [ "powers_of_base", "powers_8hpp.html#a4f16ca40c7fd4cdde61b9e1f03d850de", null ] +]; \ No newline at end of file diff --git a/docs/cdt/powers_8hpp_source.html b/docs/cdt/powers_8hpp_source.html new file mode 100644 index 000000000..ae29b982c --- /dev/null +++ b/docs/cdt/powers_8hpp_source.html @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/powers.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    powers.hpp
    +
    +
    +См. документацию.
    1#pragma once
    +
    2
    +
    3#include "check.hpp"
    +
    4
    +
    5#include <type_traits>
    +
    6#include <utility>
    +
    7#include <array>
    +
    8
    +
    9namespace eosio {
    +
    10
    +
    11 namespace detail {
    +
    12
    +
    13 template<typename Generator, std::size_t... Is>
    +
    14 constexpr auto generate_array_helper( Generator&& g, std::index_sequence<Is...> )
    +
    15 -> std::array<decltype(g(std::size_t{}, sizeof...(Is))), sizeof...(Is)>
    +
    16 {
    +
    17 return {{g(Is, sizeof...(Is))...}};
    +
    18 }
    +
    19
    +
    20 template<std::size_t N, typename Generator>
    +
    21 constexpr auto generate_array( Generator&& g ) {
    +
    22 return generate_array_helper( std::forward<Generator>(g), std::make_index_sequence<N>{} );
    +
    23 }
    +
    24
    +
    25 template<typename T, T Base, uint8_t Exponent, uint64_t Value, bool Overflow = (Value * Base < Value)>
    +
    26 struct largest_power_helper {
    +
    27 private:
    +
    28 static_assert( std::is_integral_v<T> && std::is_unsigned_v<T> &&!std::is_same_v<T, bool> );
    +
    29 static_assert( Base > 1 );
    +
    30 constexpr static T next_value = Value * Base;
    + +
    32 public:
    +
    33 constexpr static T value = next::value;
    +
    34 constexpr static uint8_t exponent = next::exponent;
    +
    35 };
    +
    36
    +
    37 template<typename T, T Base, uint8_t Exponent, uint64_t Value>
    +
    38 struct largest_power_helper<T, Base, Exponent, Value, true> {
    +
    39 private:
    +
    40 static_assert( std::is_integral_v<T> && std::is_unsigned_v<T> &&!std::is_same_v<T, bool> );
    +
    41 static_assert( Base > 1 );
    +
    42 static_assert( Exponent < 255 );
    +
    43 public:
    +
    44 constexpr static T value = Value;
    +
    45 constexpr static uint8_t exponent = Exponent;
    +
    46 };
    +
    47
    +
    48 template<typename T, T Base>
    + +
    50 private:
    + +
    52 public:
    +
    53 constexpr static T value = helper::value;
    +
    54 constexpr static uint8_t exponent = helper::exponent;
    +
    55 };
    +
    56
    +
    57 template<typename T>
    +
    58 constexpr T pow( T base, uint8_t exponent ) {
    +
    59 if( base <= 1 ) check( false, "base must be at least 2" );
    +
    60 T prior = 1;
    +
    61 T result = prior;
    +
    62 for( uint8_t i = 0; i < exponent; ++i, prior = result ) {
    +
    63 result = prior * base;
    +
    64 if( result <= prior ) check( false, "overflow" );
    +
    65 }
    +
    66 return result;
    +
    67 }
    +
    68
    +
    69 template<typename T, T Base>
    + +
    71 return pow( Base, static_cast<uint8_t>(i) );
    +
    72 }
    +
    73
    +
    74 }
    +
    75
    +
    76 template<uint8_t Base, typename T = uint64_t>
    +
    77 inline constexpr auto powers_of_base = detail::generate_array<detail::largest_power<T, Base>::exponent + 1>( detail::pow_generator<T, Base> );
    +
    78
    +
    80 template<uint8_t Base, typename T = uint64_t>
    +
    81 constexpr T pow( uint8_t exponent ) {
    +
    82 const auto& lookup_table = powers_of_base<Base, T>;
    +
    83 if( exponent >= lookup_table.size() ) check( false, "overflow" );
    +
    84
    +
    85 return lookup_table[exponent];
    +
    86 }
    +
    87
    +
    88}
    +
    +
    + + + + + + diff --git a/docs/cdt/print_8hpp.html b/docs/cdt/print_8hpp.html new file mode 100644 index 000000000..ade7fdf84 --- /dev/null +++ b/docs/cdt/print_8hpp.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/print.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    +
    #include <utility>
    +#include <string>
    +
    +

    См. исходные тексты.

    + + + + +

    +Классы

    class  eosio::iostream
     
    + + + + + +

    +Пространства имен

    namespace  eosio
     
    namespace  eosio::internal_use_do_not_use
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Функции

     eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
     
    void eosio::printhex (const void *ptr, uint32_t size)
     
    void eosio::printl (const char *ptr, size_t len)
     
    void eosio::print (const char *ptr)
     
    template<typename T , std::enable_if_t< std::is_integral< std::decay_t< T > >::value &&std::is_signed< std::decay_t< T > >::value, int > = 0>
    void eosio::print (T num)
     
    void eosio::print (float num)
     
    void eosio::print (double num)
     
    void eosio::print (long double num)
     
    template<typename T , std::enable_if_t<!std::is_integral< std::decay_t< T > >::value, int > = 0>
    void eosio::print (T &&t)
     
    void eosio::print_f (const char *s)
     
    template<typename Arg , typename... Args>
    void eosio::print_f (const char *s, Arg val, Args... rest)
     
    template<typename Arg , typename... Args>
    void eosio::print (Arg &&a, Args &&... args)
     
    + + + +

    +Переменные

     eosio::internal_use_do_not_use::uint32_t
     
    +

    Подробное описание

    +
    + +

    См. определение в файле print.hpp

    +
    +
    + + + + + + diff --git a/docs/cdt/print_8hpp.js b/docs/cdt/print_8hpp.js new file mode 100644 index 000000000..ebaad2b36 --- /dev/null +++ b/docs/cdt/print_8hpp.js @@ -0,0 +1,16 @@ +var print_8hpp = +[ + [ "__attribute__", "print_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387", null ], + [ "print", "print_8hpp.html#ab5232cf7452d463948eac1179f31d9f0", null ], + [ "print", "print_8hpp.html#gaa0a56fe314d032d027a1565d93a68b21", null ], + [ "print", "print_8hpp.html#ga8753f6a7c7d5c518f6369cfebf5be1bb", null ], + [ "print", "print_8hpp.html#ga02d168bc05492d64cefea469dd114c12", null ], + [ "print", "print_8hpp.html#ga2a3eea270ff4dbe4a15c2269a5c2cfec", null ], + [ "print", "print_8hpp.html#gaccb44465b58c681e320b9cb9a6a78e62", null ], + [ "print", "print_8hpp.html#a6059b3dec50360c86d4098f81e70a286", null ], + [ "print_f", "print_8hpp.html#gab9715bf002b919701d38e3ff931feabf", null ], + [ "print_f", "print_8hpp.html#afcfae01c6d714474da8407a1c195c836", null ], + [ "printhex", "print_8hpp.html#gab8eb3bd97387854f71fd4a68d167b418", null ], + [ "printl", "print_8hpp.html#ga7abae4d32d4fec590c9988a6aec88cec", null ], + [ "uint32_t", "print_8hpp.html#abc883019693b16f4ff37d33c0d1b61c4", null ] +]; \ No newline at end of file diff --git a/docs/cdt/print_8hpp_source.html b/docs/cdt/print_8hpp_source.html new file mode 100644 index 000000000..2a5559a05 --- /dev/null +++ b/docs/cdt/print_8hpp_source.html @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/print.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    print.hpp
    +
    +
    +См. документацию.
    1
    +
    5#pragma once
    +
    6#include <utility>
    +
    7#include <string>
    +
    8
    +
    9
    +
    10
    +
    11namespace eosio {
    +
    12 namespace internal_use_do_not_use {
    +
    13 extern "C" {
    +
    14 __attribute__((eosio_wasm_import))
    +
    15 void prints(const char*);
    +
    16
    +
    17 __attribute__((eosio_wasm_import))
    +
    18 void prints_l(const char*, uint32_t);
    +
    19
    +
    20 __attribute__((eosio_wasm_import))
    +
    21 void printi(int64_t);
    +
    22
    +
    23 __attribute__((eosio_wasm_import))
    +
    24 void printui(uint64_t);
    +
    25
    +
    26 __attribute__((eosio_wasm_import))
    +
    27 void printi128(const int128_t*);
    +
    28
    +
    29 __attribute__((eosio_wasm_import))
    +
    30 void printui128(const uint128_t*);
    +
    31
    +
    32 __attribute__((eosio_wasm_import))
    +
    33 void printsf(float);
    +
    34
    +
    35 __attribute__((eosio_wasm_import))
    +
    36 void printdf(double);
    +
    37
    +
    38 __attribute__((eosio_wasm_import))
    +
    39 void printqf(const long double*);
    +
    40
    +
    41 __attribute__((eosio_wasm_import))
    +
    42 void printn(uint64_t);
    +
    43
    +
    44 __attribute__((eosio_wasm_import))
    +
    45 void printhex(const void*, uint32_t);
    +
    46 }
    +
    47 };
    +
    48
    +
    77 inline void printhex( const void* ptr, uint32_t size) {
    + +
    79 }
    +
    80
    +
    88 inline void printl( const char* ptr, size_t len ) {
    +
    89 internal_use_do_not_use::prints_l(ptr, len);
    +
    90 }
    +
    91
    +
    98 inline void print( const char* ptr ) {
    +
    99 internal_use_do_not_use::prints(ptr);
    +
    100 }
    +
    101
    +
    107 template <typename T, std::enable_if_t<std::is_integral<std::decay_t<T>>::value &&
    +
    108 std::is_signed<std::decay_t<T>>::value, int> = 0>
    +
    109 inline void print( T num ) {
    +
    110 if constexpr(std::is_same<T, int128_t>::value)
    +
    111 internal_use_do_not_use::printi128(&num);
    +
    112 else if constexpr(std::is_same<T, char>::value)
    +
    113 internal_use_do_not_use::prints_l( &num, 1 );
    +
    114 else
    +
    115 internal_use_do_not_use::printi(num);
    +
    116 }
    +
    117
    +
    123 template <typename T, std::enable_if_t<std::is_integral<std::decay_t<T>>::value &&
    +
    124 !std::is_signed<std::decay_t<T>>::value, int> = 0>
    +
    125 inline void print( T num ) {
    +
    126 if constexpr(std::is_same<T, uint128_t>::value)
    +
    127 internal_use_do_not_use::printui128(&num);
    +
    128 else if constexpr(std::is_same<T, bool>::value)
    +
    129 internal_use_do_not_use::prints(num?"true":"false");
    +
    130 else
    +
    131 internal_use_do_not_use::printui(num);
    +
    132 }
    +
    133
    +
    140 inline void print( float num ) { internal_use_do_not_use::printsf( num ); }
    +
    141
    +
    148 inline void print( double num ) { internal_use_do_not_use::printdf( num ); }
    +
    149
    +
    156 inline void print( long double num ) { internal_use_do_not_use::printqf( &num ); }
    +
    157
    +
    165 template<typename T, std::enable_if_t<!std::is_integral<std::decay_t<T>>::value, int> = 0>
    +
    166 inline void print( T&& t ) {
    +
    167 if constexpr (std::is_same<std::decay_t<T>, std::string>::value)
    +
    168 internal_use_do_not_use::prints_l( t.c_str(), t.size() );
    +
    169 else if constexpr (std::is_same<std::decay_t<T>, char*>::value)
    +
    170 internal_use_do_not_use::prints(t);
    +
    171 else
    +
    172 t.print();
    +
    173 }
    +
    174
    +
    181 inline void print_f( const char* s ) {
    +
    182 internal_use_do_not_use::prints(s);
    +
    183 }
    +
    184
    +
    199 template <typename Arg, typename... Args>
    +
    200 inline void print_f( const char* s, Arg val, Args... rest ) {
    +
    201 while ( *s != '\0' ) {
    +
    202 if ( *s == '%' ) {
    +
    203 print( val );
    +
    204 print_f( s+1, rest... );
    +
    205 return;
    +
    206 }
    +
    207 internal_use_do_not_use::prints_l( s, 1 );
    +
    208 s++;
    +
    209 }
    +
    210 }
    +
    211
    +
    231 template<typename Arg, typename... Args>
    +
    232 void print( Arg&& a, Args&&... args ) {
    +
    233 print(std::forward<Arg>(a));
    +
    234 print(std::forward<Args>(args)...);
    +
    235 }
    +
    236
    +
    242 class iostream {};
    +
    243
    +
    245
    +
    265 template<typename T>
    +
    266 inline iostream& operator<<( iostream& out, const T& v ) {
    +
    267 print( v );
    +
    268 return out;
    +
    269 }
    +
    270
    +
    272
    +
    273 static iostream cout;
    +
    274}
    +
    +
    + + + + + + diff --git a/docs/cdt/privileged_8hpp.html b/docs/cdt/privileged_8hpp.html new file mode 100644 index 000000000..64bcf5eee --- /dev/null +++ b/docs/cdt/privileged_8hpp.html @@ -0,0 +1,224 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/privileged.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    См. исходные тексты.

    + + + + +

    +Классы

    struct  eosio::blockchain_parameters
     
    + + + + + +

    +Пространства имен

    namespace  eosio
     
    namespace  eosio::internal_use_do_not_use
     
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Функции

     eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
     
     eosio::internal_use_do_not_use::__attribute ((eosio_wasm_import)) int64_t set_proposed_producers(char *
     
    void eosio::set_blockchain_parameters (const eosio::blockchain_parameters &params)
     
    void eosio::get_blockchain_parameters (eosio::blockchain_parameters &params)
     
    void eosio::get_account_ram_usage (name account, int64_t &used_ram_bytes)
     
    void eosio::get_resource_limits (name account, int64_t &ram_bytes, int64_t &net_weight, int64_t &cpu_weight)
     
    void eosio::set_resource_limits (name account, int64_t ram_bytes, int64_t net_weight, int64_t cpu_weight)
     
    std::optional< uint64_t > eosio::set_proposed_producers (const std::vector< producer_key > &prods)
     
    std::optional< uint64_t > eosio::set_proposed_producers (const std::vector< producer_authority > &prods)
     
    bool eosio::is_privileged (name account)
     
    void eosio::set_privileged (name account, bool is_priv)
     
    void eosio::preactivate_feature (const checksum256 &feature_digest)
     
    + + + + + + + + + + + + + + + + + +

    +Переменные

    int64_t * eosio::internal_use_do_not_use::used_ram_bytes
     
    int64_t * eosio::internal_use_do_not_use::ram_bytes
     
    int64_t int64_t * eosio::internal_use_do_not_use::net_weight
     
    int64_t int64_t int64_t * eosio::internal_use_do_not_use::cpu_weight
     
    bool eosio::internal_use_do_not_use::is_priv
     
    uint32_t eosio::internal_use_do_not_use::datalen
     
    char * eosio::internal_use_do_not_use::producer_data
     
    char uint32_t eosio::internal_use_do_not_use::producer_data_size
     
    +
    +
    + + + + + + diff --git a/docs/cdt/privileged_8hpp.js b/docs/cdt/privileged_8hpp.js new file mode 100644 index 000000000..79a1f2504 --- /dev/null +++ b/docs/cdt/privileged_8hpp.js @@ -0,0 +1,23 @@ +var privileged_8hpp = +[ + [ "__attribute", "privileged_8hpp.html#aa011a292ab4ac0b4e8e9371a33c4126d", null ], + [ "__attribute__", "privileged_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387", null ], + [ "get_account_ram_usage", "privileged_8hpp.html#gabd00f6a2896d4156346eee44d6ac0193", null ], + [ "get_blockchain_parameters", "privileged_8hpp.html#ga673da670d201ba73461eedd8bd1aec8f", null ], + [ "get_resource_limits", "privileged_8hpp.html#gab80245def6eafc07e7eff5207f604261", null ], + [ "is_privileged", "privileged_8hpp.html#gad2eb8389a1197594476ea9e41448481a", null ], + [ "preactivate_feature", "privileged_8hpp.html#gaef817a1cfd765f9b0962f62897895243", null ], + [ "set_blockchain_parameters", "privileged_8hpp.html#ga4b6f34ade1f06f6583b4a17738bebe0c", null ], + [ "set_privileged", "privileged_8hpp.html#gab341227b30ff1294ecb03c540e25a57f", null ], + [ "set_proposed_producers", "privileged_8hpp.html#gac69be7829e437b6a986af0b686b8fd68", null ], + [ "set_proposed_producers", "privileged_8hpp.html#ga8ae4f7b818d57817a629c7c45372552e", null ], + [ "set_resource_limits", "privileged_8hpp.html#gaad97a90662dc91cc1f9c6b2368b625c3", null ], + [ "cpu_weight", "privileged_8hpp.html#a28632f86cebf874025ec85cf5b9d0d84", null ], + [ "datalen", "privileged_8hpp.html#afe6f9d73dd3f9437b6244774206ac8fb", null ], + [ "is_priv", "privileged_8hpp.html#a41b6f2811e48e074d00c5b6366641ea9", null ], + [ "net_weight", "privileged_8hpp.html#a1e57a95287092eed7943f2d14e0dc5b1", null ], + [ "producer_data", "privileged_8hpp.html#ada902a227b77350f7f51b72a0a3db867", null ], + [ "producer_data_size", "privileged_8hpp.html#a208a5e31ff7bb998c7a04b27569e4a62", null ], + [ "ram_bytes", "privileged_8hpp.html#a23f8d804101d000066f736d21bafd1c2", null ], + [ "used_ram_bytes", "privileged_8hpp.html#a465fae2c786f7a3bfd4c9f0149d3dd0a", null ] +]; \ No newline at end of file diff --git a/docs/cdt/privileged_8hpp_source.html b/docs/cdt/privileged_8hpp_source.html new file mode 100644 index 000000000..1cd057edb --- /dev/null +++ b/docs/cdt/privileged_8hpp_source.html @@ -0,0 +1,291 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/privileged.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    privileged.hpp
    +
    +
    +См. документацию.
    1#pragma once
    + +
    3#include "system.hpp"
    +
    4#include "../../core/eosio/crypto.hpp"
    +
    5#include "../../core/eosio/name.hpp"
    +
    6#include "../../core/eosio/serialize.hpp"
    +
    7
    +
    8namespace eosio {
    +
    9
    +
    10 namespace internal_use_do_not_use {
    +
    11 extern "C" {
    +
    12 __attribute__((eosio_wasm_import))
    +
    13 bool is_privileged( uint64_t account );
    +
    14
    +
    15 __attribute__((eosio_wasm_import))
    + +
    17
    +
    18 __attribute__((eosio_wasm_import))
    +
    19 void get_resource_limits( uint64_t account, int64_t* ram_bytes, int64_t* net_weight, int64_t* cpu_weight );
    +
    20
    +
    21 __attribute__((eosio_wasm_import))
    +
    22 void set_resource_limits( uint64_t account, int64_t ram_bytes, int64_t net_weight, int64_t cpu_weight );
    +
    23
    +
    24 __attribute__((eosio_wasm_import))
    +
    25 void set_privileged( uint64_t account, bool is_priv );
    +
    26
    +
    27 __attribute__((eosio_wasm_import))
    +
    28 void set_blockchain_parameters_packed( char* data, uint32_t datalen );
    +
    29
    +
    30 __attribute__((eosio_wasm_import))
    +
    31 uint32_t get_blockchain_parameters_packed( char* data, uint32_t datalen );
    +
    32
    +
    33 __attribute((eosio_wasm_import))
    +
    34 int64_t set_proposed_producers( char*, uint32_t );
    +
    35
    +
    36 __attribute__((eosio_wasm_import))
    +
    37 void preactivate_feature( const capi_checksum256* feature_digest );
    +
    38
    +
    39 __attribute__((eosio_wasm_import))
    +
    40 int64_t set_proposed_producers_ex( uint64_t producer_data_format, char *producer_data, uint32_t producer_data_size );
    +
    41 }
    +
    42 }
    +
    43
    + +
    55
    + +
    61
    + +
    67
    + +
    73
    + +
    78
    + +
    84
    + +
    90
    + +
    96
    + +
    102
    + +
    108
    + +
    114
    + +
    120
    + +
    126
    + +
    132
    +
    133
    + +
    139
    + +
    145
    + +
    151
    + +
    157
    +
    158
    + +
    160 (max_block_net_usage)(target_block_net_usage_pct)
    +
    161 (max_transaction_net_usage)(base_per_transaction_net_usage)(net_usage_leeway)
    +
    162 (context_free_discount_net_usage_num)(context_free_discount_net_usage_den)
    +
    163
    +
    164 (max_block_cpu_usage)(target_block_cpu_usage_pct)
    +
    165 (max_transaction_cpu_usage)(min_transaction_cpu_usage)
    +
    166
    +
    167 (max_transaction_lifetime)(deferred_trx_expiration_window)(max_transaction_delay)
    +
    168 (max_inline_action_size)(max_inline_action_depth)(max_authority_depth)
    +
    169 )
    +
    170 };
    +
    171
    + +
    179
    + +
    187
    +
    188
    +
    196 inline void get_account_ram_usage( name account, int64_t& used_ram_bytes ) {
    + +
    198 }
    +
    199
    +
    200
    +
    210 inline void get_resource_limits( name account, int64_t& ram_bytes, int64_t& net_weight, int64_t& cpu_weight ) {
    + +
    212 }
    +
    213
    +
    223 inline void set_resource_limits( name account, int64_t ram_bytes, int64_t net_weight, int64_t cpu_weight ) {
    + +
    225 }
    +
    226
    +
    236 std::optional<uint64_t> set_proposed_producers( const std::vector<producer_key>& prods );
    +
    237
    +
    247 inline std::optional<uint64_t> set_proposed_producers( const std::vector<producer_authority>& prods ) {
    +
    248 auto packed_prods = eosio::pack( prods );
    +
    249 int64_t ret = internal_use_do_not_use::set_proposed_producers_ex(1, (char*)packed_prods.data(), packed_prods.size());
    +
    250 if (ret >= 0)
    +
    251 return static_cast<uint64_t>(ret);
    +
    252 return {};
    +
    253 }
    +
    254
    +
    263 inline bool is_privileged( name account ) {
    + +
    265 }
    +
    266
    +
    274 inline void set_privileged( name account, bool is_priv ) {
    + +
    276 }
    +
    277
    +
    284 inline void preactivate_feature( const checksum256& feature_digest ) {
    +
    285 auto feature_digest_data = feature_digest.extract_as_byte_array();
    + +
    287 reinterpret_cast<const internal_use_do_not_use::capi_checksum256*>( feature_digest_data.data() )
    +
    288 );
    +
    289 }
    +
    290
    +
    291}
    +
    +
    + + + + + + diff --git a/docs/cdt/producer__schedule_8hpp.html b/docs/cdt/producer__schedule_8hpp.html new file mode 100644 index 000000000..1a0833224 --- /dev/null +++ b/docs/cdt/producer__schedule_8hpp.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/producer_schedule.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    +
    #include <vector>
    +#include "../../core/eosio/name.hpp"
    +#include "../../core/eosio/crypto.hpp"
    +
    +

    См. исходные тексты.

    + + + + + + + + + + + + + + +

    +Классы

    struct  eosio::producer_key
     
    struct  eosio::producer_schedule
     
    struct  eosio::key_weight
     
    struct  eosio::block_signing_authority_v0
     взвешенное пороговое полномочие с несколькими подписями (multi-sig) Подробнее...
     
    struct  eosio::producer_authority
     Сопоставляет производителя с его ключом подписи Подробнее...
     
    + + + +

    +Пространства имен

    namespace  eosio
     
    + + + +

    +Определения типов

    using eosio::block_signing_authority = std::variant< block_signing_authority_v0 >
     
    + + + +

    +Функции

    std::vector< name > eosio::get_active_producers ()
     
    +
    +
    + + + + + + diff --git a/docs/cdt/producer__schedule_8hpp.js b/docs/cdt/producer__schedule_8hpp.js new file mode 100644 index 000000000..1fa12f9d7 --- /dev/null +++ b/docs/cdt/producer__schedule_8hpp.js @@ -0,0 +1,5 @@ +var producer__schedule_8hpp = +[ + [ "block_signing_authority", "producer__schedule_8hpp.html#gac9f7f8b14b8fcc608e0af99ac46a2c98", null ], + [ "get_active_producers", "producer__schedule_8hpp.html#gabd7742a9a5cffa3eccae1accbd1ee771", null ] +]; \ No newline at end of file diff --git a/docs/cdt/producer__schedule_8hpp_source.html b/docs/cdt/producer__schedule_8hpp_source.html new file mode 100644 index 000000000..833cbc09c --- /dev/null +++ b/docs/cdt/producer__schedule_8hpp_source.html @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/producer_schedule.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    producer_schedule.hpp
    +
    +
    +См. документацию.
    1#pragma once
    +
    2#include <vector>
    +
    3#include "../../core/eosio/name.hpp"
    +
    4#include "../../core/eosio/crypto.hpp"
    +
    5
    +
    6namespace eosio {
    +
    7
    +
    20 struct producer_key {
    +
    21
    + +
    28
    + +
    35
    +
    37
    +
    38 friend constexpr bool operator < ( const producer_key& a, const producer_key& b ) {
    +
    39 return a.producer_name < b.producer_name;
    +
    40 }
    +
    41
    +
    43
    + +
    45 };
    +
    46
    + + +
    64
    +
    68 std::vector<producer_key> producers;
    +
    69
    + +
    71 };
    +
    72
    +
    85 struct key_weight {
    +
    91 public_key key;
    +
    92
    +
    98 uint16_t weight;
    +
    99
    + +
    101 };
    +
    102
    + + +
    117
    +
    123 std::vector<key_weight> keys;
    +
    124
    +
    125 bool is_valid()const;
    +
    126
    + +
    128 };
    +
    129
    +
    135 using block_signing_authority = std::variant<block_signing_authority_v0>;
    +
    136
    + +
    145
    + +
    152
    + +
    157
    +
    158 friend constexpr bool operator < ( const producer_authority& a, const producer_authority& b ) {
    +
    159 return a.producer_name < b.producer_name;
    +
    160 }
    +
    161
    + +
    163 };
    +
    164
    +
    170 std::vector<name> get_active_producers();
    +
    171
    +
    172}
    +
    +
    + + + + + + diff --git a/docs/cdt/reflect_8hpp.html b/docs/cdt/reflect_8hpp.html new file mode 100644 index 000000000..f7e4aa8c7 --- /dev/null +++ b/docs/cdt/reflect_8hpp.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/reflect.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Файл reflect.hpp
    +
    +
    +
    #include <bluegrass/meta/refl.hpp>
    +
    +

    См. исходные тексты.

    +
    +
    + + + + + + diff --git a/docs/cdt/reflect_8hpp_source.html b/docs/cdt/reflect_8hpp_source.html new file mode 100644 index 000000000..d3a147868 --- /dev/null +++ b/docs/cdt/reflect_8hpp_source.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/reflect.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    reflect.hpp
    +
    +
    +См. документацию.
    1#pragma once
    +
    2
    +
    3#include <bluegrass/meta/refl.hpp>
    +
    4
    +
    5#define CDT_REFLECT(...) \
    +
    6 BLUEGRASS_META_REFL(__VA_ARGS__); \
    +
    +
    + + + + + + diff --git a/docs/cdt/resize.js b/docs/cdt/resize.js new file mode 100644 index 000000000..7fe30d10b --- /dev/null +++ b/docs/cdt/resize.js @@ -0,0 +1,150 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initResizable() +{ + var cookie_namespace = 'doxygen'; + var sidenav,navtree,content,header,collapsed,collapsedWidth=0,barWidth=6,desktop_vp=768,titleHeight; + + function readCookie(cookie) + { + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) { + var index = document.cookie.indexOf(myCookie); + if (index != -1) { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; + } + + function writeCookie(cookie, val, expiration) + { + if (val==undefined) return; + if (expiration == null) { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; SameSite=Lax; expires=" + expiration+"; path=/"; + } + + function resizeWidth() + { + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth-barWidth, null); + } + + function restoreWidth(navWidth) + { + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+barWidth+"px"}); + sidenav.css({width:navWidth + "px"}); + } + + function resizeHeight() + { + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height(); + var contentHeight,navtreeHeight,sideNavHeight; + if (typeof page_layout==='undefined' || page_layout==0) { /* DISABLE_INDEX=NO */ + contentHeight = windowHeight - headerHeight - footerHeight; + navtreeHeight = contentHeight; + sideNavHeight = contentHeight; + } else if (page_layout==1) { /* DISABLE_INDEX=YES */ + contentHeight = windowHeight - footerHeight; + navtreeHeight = windowHeight - headerHeight; + sideNavHeight = windowHeight; + } + content.css({height:contentHeight + "px"}); + navtree.css({height:navtreeHeight + "px"}); + sidenav.css({height:sideNavHeight + "px"}); + var width=$(window).width(); + if (width!=collapsedWidth) { + if (width=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).on('load',resizeHeight); +} +/* @license-end */ diff --git a/docs/cdt/rope_8hpp.html b/docs/cdt/rope_8hpp.html new file mode 100644 index 000000000..7c2c793c9 --- /dev/null +++ b/docs/cdt/rope_8hpp.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/rope.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    +
    #include <variant>
    +#include <set>
    +#include <stack>
    +#include <string_view>
    +#include "check.hpp"
    +#include "print.hpp"
    +
    +

    См. исходные тексты.

    + + + + + + + + + + +

    +Классы

    struct  eosio::overloaded< Ts >
     
    struct  eosio::impl::str_t
     
    struct  eosio::impl::concat_t
     
    class  eosio::rope
     
    + + + + + +

    +Пространства имен

    namespace  eosio
     
    namespace  eosio::impl
     
    + + + +

    +Определения типов

    typedef std::variant< concat_t, str_t > eosio::impl::rope_node
     
    + + + + +

    +Функции

    template<class... Ts>
     eosio::overloaded (Ts...) -> overloaded< Ts... >
     
    +
    +
    + + + + + + diff --git a/docs/cdt/rope_8hpp.js b/docs/cdt/rope_8hpp.js new file mode 100644 index 000000000..d5a336a70 --- /dev/null +++ b/docs/cdt/rope_8hpp.js @@ -0,0 +1,9 @@ +var rope_8hpp = +[ + [ "eosio::overloaded< Ts >", "structeosio_1_1overloaded.html", null ], + [ "eosio::impl::str_t", "structeosio_1_1impl_1_1str__t.html", "structeosio_1_1impl_1_1str__t" ], + [ "eosio::impl::concat_t", "structeosio_1_1impl_1_1concat__t.html", "structeosio_1_1impl_1_1concat__t" ], + [ "eosio::rope", "classeosio_1_1rope.html", "classeosio_1_1rope" ], + [ "rope_node", "rope_8hpp.html#ae6203fa7e000c25cb3f5eb731cd2139c", null ], + [ "overloaded", "rope_8hpp.html#a3019314f98ba35c586a0d3c50747e7ee", null ] +]; \ No newline at end of file diff --git a/docs/cdt/rope_8hpp_source.html b/docs/cdt/rope_8hpp_source.html new file mode 100644 index 000000000..f79fffbb8 --- /dev/null +++ b/docs/cdt/rope_8hpp_source.html @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/rope.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    rope.hpp
    +
    +
    +См. документацию.
    1#pragma once
    +
    2
    +
    3#include <variant>
    +
    4#include <set>
    +
    5#include <stack>
    +
    6#include <string_view>
    +
    7#include "check.hpp"
    +
    8#include "print.hpp"
    +
    9
    +
    10namespace eosio {
    +
    11 template<class... Ts> struct overloaded : Ts... { using Ts::operator()...; };
    +
    12 template<class... Ts> overloaded(Ts...) -> overloaded<Ts...>;
    +
    13
    +
    14 namespace impl {
    +
    15 struct str_t;
    +
    16 struct concat_t;
    +
    17 typedef std::variant<concat_t, str_t> rope_node;
    +
    18
    +
    19 struct str_t {
    +
    20 const char* c_str;
    +
    21 size_t size;
    +
    22 mutable const rope_node* temp = nullptr;
    +
    23 };
    +
    24
    +
    25 struct concat_t {
    +
    26 rope_node* left = nullptr;
    +
    27 rope_node* right = nullptr;
    +
    28 mutable const rope_node* temp = nullptr;
    +
    29 mutable bool temp_left = false;
    +
    30 };
    +
    31 }
    +
    32
    +
    33 using namespace impl;
    +
    34 class rope {
    +
    35 private:
    +
    36 rope_node* root = nullptr;
    +
    37 rope_node* last = nullptr;
    +
    38 size_t size = 0;
    +
    39
    +
    40 static constexpr size_t strlen(const char* str) {
    +
    41 int i=0;
    +
    42 while (str[i++]);
    +
    43 return i;
    +
    44 }
    +
    45
    +
    46 static void c_str(char* buffer, const rope_node* r, size_t& off) {
    +
    47 bool going_down = true;
    +
    48 if (r) {
    +
    49 std::visit([](const auto& n) {
    +
    50 n.temp = nullptr;
    +
    51 }, *r);
    +
    52 }
    +
    53 while (r) {
    +
    54 if (going_down) {
    +
    55 std::visit(overloaded {
    +
    56 [&](const concat_t& c) {
    +
    57 if (c.left) {
    +
    58 c.temp_left = true;
    +
    59 std::visit([&](const auto& n){
    +
    60 n.temp = r;
    +
    61 }, *c.left);
    +
    62 going_down = true;
    +
    63 r = c.left;
    +
    64 } else if (c.right) {
    +
    65 c.temp_left = false;
    +
    66 std::visit([&](const auto& n){
    +
    67 n.temp = r;
    +
    68 }, *c.right);
    +
    69 going_down = true;
    +
    70 r = c.right;
    +
    71 } else {
    +
    72 going_down = false;
    +
    73 r = c.temp;
    +
    74 }
    +
    75 },
    +
    76 [&](const str_t& s) {
    +
    77 off -= s.size;
    +
    78 memcpy(buffer+off, s.c_str, s.size);
    +
    79 going_down = false;
    +
    80 r = s.temp;
    +
    81 }
    +
    82 }, *r);
    +
    83 } else {
    +
    84 const auto& c = std::get<concat_t>(*r);
    +
    85 if (c.temp_left && c.right) {
    +
    86 c.temp_left = false;
    +
    87 std::visit([&](const auto& n){
    +
    88 n.temp = r;
    +
    89 }, *c.right);
    +
    90 going_down = true;
    +
    91 r = c.right;
    +
    92 } else {
    +
    93 going_down = false;
    +
    94 r = c.temp;
    +
    95 }
    +
    96 }
    +
    97 }
    +
    98 }
    +
    99
    +
    100 void append(rope_node* rn, bool use_left=false) {
    +
    101 auto cc = std::get_if<concat_t>(rn);
    +
    102 eosio::check(cc, "append should only allow concat nodes");
    +
    103 if (use_left)
    +
    104 root = new rope_node(concat_t{rn, root});
    +
    105 else {
    +
    106 cc->right = root;
    +
    107 root = rn;
    +
    108 }
    +
    109 }
    +
    110
    +
    111 void at(char& ret, size_t index, rope_node* rn, size_t& index_so_far, bool& stop) {
    +
    112 if (rn) {
    +
    113 std::visit(overloaded {
    +
    114 [&](const concat_t& c) {
    +
    115 if (!stop) {
    +
    116 if (c.left)
    +
    117 at(ret, index, c.left, index_so_far, stop);
    +
    118 if (c.right)
    +
    119 at(ret, index, c.right, index_so_far, stop);
    +
    120 }
    +
    121 },
    +
    122 [&](const str_t& s) {
    +
    123 index_so_far -= s.size;
    +
    124 if (index >= index_so_far) {
    +
    125 ret = s.c_str[index-index_so_far];
    +
    126 stop = true;
    +
    127 }
    +
    128 }
    +
    129 }, *rn);
    +
    130 }
    +
    131 }
    +
    132
    +
    133 public:
    +
    134 rope(const char* s) {
    +
    135 root = new rope_node(concat_t{new rope_node(str_t{s,strlen(s)-1}), nullptr});
    +
    136 last = root;
    +
    137 size += strlen(s)-1;
    +
    138 }
    +
    139
    +
    140 rope(std::string_view s = "") {
    +
    141 root = new rope_node(concat_t{new rope_node(str_t{s.begin(),s.size()}), nullptr});
    +
    142 size += s.size();
    +
    143 }
    +
    144
    +
    145 template <size_t N>
    +
    146 inline constexpr void append(const char (&s)[N]) {
    +
    147 append(s, N);
    +
    148 }
    +
    149
    +
    150 void append(const char* s, size_t len) {
    +
    151 str_t _s{s, len};
    +
    152 rope_node* rn = new rope_node(concat_t{new rope_node(_s), nullptr});
    +
    153 append(rn);
    +
    154 size += len;
    +
    155 }
    +
    156
    +
    157 constexpr char at(size_t index) {
    +
    158 char ret = '\0';
    +
    159 size_t sz = size;
    +
    160 bool stop = false;
    +
    161 at(ret, index, root, sz, stop);
    +
    162 return ret;
    +
    163 }
    +
    164
    +
    165 constexpr void append(const rope& r) {
    +
    166 append(r.root, true);
    +
    167 size += r.size;
    +
    168 }
    +
    169
    +
    170 constexpr void append(rope&& r) {
    +
    171 append(r.root, true);
    +
    172 size += r.size;
    +
    173 }
    +
    174
    +
    175 constexpr char operator[](size_t index) {
    +
    176 return at(index);
    +
    177 }
    +
    178
    +
    179 constexpr rope& operator+= (const char* s) {
    +
    180 append(s, strlen(s)-1);
    +
    181 return *this;
    +
    182 }
    +
    183
    +
    184 constexpr rope& operator+= (const rope& r) {
    +
    185 append(r);
    +
    186 return *this;
    +
    187 }
    +
    188 constexpr rope& operator+= (rope&& r) {
    +
    189 append(std::move(r));
    +
    190 return *this;
    +
    191 }
    +
    192
    +
    193 friend rope operator+ (rope lhs, const char* s) {
    +
    194 lhs += s;
    +
    195 return lhs;
    +
    196 }
    +
    197
    +
    198 friend rope operator+ (rope lhs, const rope& rhs) {
    +
    199 lhs += rhs;
    +
    200 return lhs;
    +
    201 }
    +
    202
    +
    203 friend rope operator+ (rope lhs, rope&& rhs) {
    +
    204 lhs += std::move(rhs);
    +
    205 return lhs;
    +
    206 }
    +
    207
    +
    208
    +
    209 constexpr size_t length() {
    +
    210 return size;
    +
    211 }
    +
    212
    +
    213 void print()const {
    + +
    215 }
    +
    216
    +
    217 char* c_str()const {
    +
    218 char* ret = new char[size+1];
    +
    219 if (root) {
    +
    220 size_t off = size;
    +
    221 c_str(ret, root, off);
    +
    222 }
    +
    223 ret[size] = '\0';
    +
    224 return ret;
    +
    225 }
    +
    226
    +
    227 std::string_view sv()const {
    +
    228 return {c_str(), size};
    +
    229 }
    +
    230 };
    +
    231} // ns eosio
    +
    +
    + + + + + + diff --git a/docs/cdt/search/all_0.html b/docs/cdt/search/all_0.html new file mode 100644 index 000000000..9c1a428e6 --- /dev/null +++ b/docs/cdt/search/all_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_0.js b/docs/cdt/search/all_0.js new file mode 100644 index 000000000..62c2407e9 --- /dev/null +++ b/docs/cdt/search/all_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['_5f_5fattribute_0',['__attribute',['../namespaceeosio_1_1internal__use__do__not__use_aa011a292ab4ac0b4e8e9371a33c4126d.html#aa011a292ab4ac0b4e8e9371a33c4126d',1,'eosio::internal_use_do_not_use']]], + ['_5f_5fattribute_5f_5f_1',['__attribute__',['../namespaceeosio_1_1internal__use__do__not__use_a4cf60fb32150ba3e0e63f357f9747387.html#a4cf60fb32150ba3e0e63f357f9747387',1,'eosio::internal_use_do_not_use::__attribute__((eosio_wasm_import)) void eosio_assert(uint32_t test'],['../namespaceeosio_1_1internal__use__do__not__use_a81a3d531420e3eb3b02b3fdf9a4302ec.html#a81a3d531420e3eb3b02b3fdf9a4302ec',1,'eosio::internal_use_do_not_use::__attribute__((aligned(16))) capi_checksum256_ext'],['../namespaceeosio_1_1internal__use__do__not__use_ab0a361bb08c4c76e3ff6515e7d600af0.html#ab0a361bb08c4c76e3ff6515e7d600af0',1,'eosio::internal_use_do_not_use::__attribute__((eosio_wasm_import, noreturn)) void eosio_exit(int32_t code)'],['../namespaceeosio_1_1internal__use__do__not__use_a7bb660921197070acd6782ab13fec494.html#a7bb660921197070acd6782ab13fec494',1,'eosio::internal_use_do_not_use::__attribute__((eosio_wasm_import)) void send_deferred(const uint128_t &']]], + ['_5fds_2',['_ds',['../classeosio_1_1contract_a66b526b89bc6d35b63b874615f1d27b8.html#a66b526b89bc6d35b63b874615f1d27b8',1,'eosio::contract']]], + ['_5ffirst_5freceiver_3',['_first_receiver',['../classeosio_1_1contract_a98397119d8b0cf44f22a62967f8d030a.html#a98397119d8b0cf44f22a62967f8d030a',1,'eosio::contract']]], + ['_5fself_4',['_self',['../classeosio_1_1contract_a29c0c98c72ab578a5965d13b00dca0c0.html#a29c0c98c72ab578a5965d13b00dca0c0',1,'eosio::contract']]] +]; diff --git a/docs/cdt/search/all_1.html b/docs/cdt/search/all_1.html new file mode 100644 index 000000000..cf458f63b --- /dev/null +++ b/docs/cdt/search/all_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_1.js b/docs/cdt/search/all_1.js new file mode 100644 index 000000000..1333f711c --- /dev/null +++ b/docs/cdt/search/all_1.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['account_0',['account',['../structeosio_1_1action_a4fc65ee0b7c184e7fcb8cdf6242220af.html#a4fc65ee0b7c184e7fcb8cdf6242220af',1,'eosio::action']]], + ['action_1',['action',['../structeosio_1_1action_aebc29a38547efa71db8ec20cc56d69a4.html#aebc29a38547efa71db8ec20cc56d69a4',1,'eosio::action::action()=default'],['../structeosio_1_1action_a9ef6c7fc0a06f53c754a1cc8af513d00.html#a9ef6c7fc0a06f53c754a1cc8af513d00',1,'eosio::action::action(const permission_level &auth, struct name a, struct name n, T &&value)'],['../structeosio_1_1action_aa6b336f4f7a8c61d68e14d99a0a9cd9d.html#aa6b336f4f7a8c61d68e14d99a0a9cd9d',1,'eosio::action::action(std::vector< permission_level > auths, struct name a, struct name n, T &&value)']]], + ['action_2',['ACTION',['../contract_8hpp_abeb73dfe8d6e8c280ebce28d84190c7e.html#abeb73dfe8d6e8c280ebce28d84190c7e',1,'contract.hpp']]], + ['action_3',['action',['../structeosio_1_1action.html',1,'eosio']]], + ['action_2ehpp_4',['action.hpp',['../action_8hpp.html',1,'']]], + ['action_5fdata_5fsize_5',['action_data_size',['../namespaceeosio_a602640a08f02a893cab6b28016866ec0.html#a602640a08f02a893cab6b28016866ec0',1,'eosio']]], + ['action_5fname_6',['action_name',['../structeosio_1_1action__wrapper_a5e378f05ff213113e35b9be105ff40a6.html#a5e378f05ff213113e35b9be105ff40a6',1,'eosio::action_wrapper::action_name()'],['../structeosio_1_1variant__action__wrapper_a4b90e84304c51bd96e69c165ef68b4f9.html#a4b90e84304c51bd96e69c165ef68b4f9',1,'eosio::variant_action_wrapper::action_name()']]], + ['action_5fwrapper_7',['action_wrapper',['../structeosio_1_1action__wrapper_a12ef4e4f5e9459ee02ea7113706f3147.html#a12ef4e4f5e9459ee02ea7113706f3147',1,'eosio::action_wrapper::action_wrapper(Code &&code, std::vector< eosio::permission_level > &&perms)'],['../structeosio_1_1action__wrapper_a333abd92bf1c6c965759a93ee9dc280b.html#a333abd92bf1c6c965759a93ee9dc280b',1,'eosio::action_wrapper::action_wrapper(Code &&code, const std::vector< eosio::permission_level > &perms)'],['../structeosio_1_1action__wrapper_af1be67f4109fb82bfcc18ad47a3f30ea.html#af1be67f4109fb82bfcc18ad47a3f30ea',1,'eosio::action_wrapper::action_wrapper(Code &&code, eosio::permission_level &&perm)'],['../structeosio_1_1action__wrapper_a8b3fbccd819478987dbcba4362b1357f.html#a8b3fbccd819478987dbcba4362b1357f',1,'eosio::action_wrapper::action_wrapper(Code &&code, const eosio::permission_level &perm)'],['../structeosio_1_1action__wrapper_a5a8a0453c4d0e1233c05cb0749ae7807.html#a5a8a0453c4d0e1233c05cb0749ae7807',1,'eosio::action_wrapper::action_wrapper(Code &&code)'],['../structeosio_1_1action__wrapper.html',1,'eosio::action_wrapper< Name, Action >']]], + ['actions_8',['actions',['../classeosio_1_1transaction_ad53cc19e62742bf205934509c1363e42.html#ad53cc19e62742bf205934509c1363e42',1,'eosio::transaction']]], + ['actor_9',['actor',['../structeosio_1_1permission__level_ab5d07611f5ba5e7b5dff9e749c5696e0.html#ab5d07611f5ba5e7b5dff9e749c5696e0',1,'eosio::permission_level']]], + ['add_5fsecurity_5fgroup_5fparticipants_10',['add_security_group_participants',['../group__security__group_ga8a7cc14a1900bfbb2adc8af0193efe02.html#ga8a7cc14a1900bfbb2adc8af0193efe02',1,'eosio']]], + ['alt_5fbn128_5fadd_11',['alt_bn128_add',['../group__crypto_gad6c7cb31acc6ad2034928b0f4f838f1f.html#gad6c7cb31acc6ad2034928b0f4f838f1f',1,'eosio::alt_bn128_add(const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, char *result, uint32_t result_len)'],['../group__crypto_ga15d62eb0cc4e802cebf37acdeb244347.html#ga15d62eb0cc4e802cebf37acdeb244347',1,'eosio::alt_bn128_add(const T &op1, const T &op2)']]], + ['alt_5fbn128_5fmul_12',['alt_bn128_mul',['../group__crypto_ga0a1860ebd5b856a263d61fb3486c6bac.html#ga0a1860ebd5b856a263d61fb3486c6bac',1,'eosio::alt_bn128_mul(const char *g1, uint32_t g1_len, const char *scalar, uint32_t scalar_len, char *result, uint32_t result_len)'],['../group__crypto_ga4c359bdfef5213a9d7469d4ce1d953be.html#ga4c359bdfef5213a9d7469d4ce1d953be',1,'eosio::alt_bn128_mul(const T &g1, const bigint &scalar)']]], + ['alt_5fbn128_5fpair_13',['alt_bn128_pair',['../group__crypto_gad09d0d106fbffeea5ae3fa11a4542060.html#gad09d0d106fbffeea5ae3fa11a4542060',1,'eosio::alt_bn128_pair(const char *pairs, uint32_t pairs_len)'],['../group__crypto_ga6c07b3b9afd8013c8852a45906b7b021.html#ga6c07b3b9afd8013c8852a45906b7b021',1,'eosio::alt_bn128_pair(const std::vector< std::pair< G1_T, G2_T > > &pairs)']]], + ['amount_14',['amount',['../structeosio_1_1asset_ac76c16a58851550706c6709698ed7255.html#ac76c16a58851550706c6709698ed7255',1,'eosio::asset']]], + ['api_20контрактов_15',['API контрактов',['../group__contracts.html',1,'']]], + ['api_20ядра_16',['API ядра',['../group__core.html',1,'']]], + ['append_17',['append',['../classeosio_1_1string_a8873fa94d7a035c56314c041a5ac749d.html#a8873fa94d7a035c56314c041a5ac749d',1,'eosio::string::append()'],['../classeosio_1_1rope_a480943c8c8407a36d77e14ff9d810dfe.html#a480943c8c8407a36d77e14ff9d810dfe',1,'eosio::rope::append(rope &&r)'],['../classeosio_1_1rope_a87cd18373790ef056244f4a0e09b8f75.html#a87cd18373790ef056244f4a0e09b8f75',1,'eosio::rope::append(const rope &r)'],['../classeosio_1_1rope_ab0a0ba2be3a91de71ec2fc919ad73974.html#ab0a0ba2be3a91de71ec2fc919ad73974',1,'eosio::rope::append(const char *s, size_t len)'],['../classeosio_1_1rope_a41bb00d1ad6f0022a0de52984c524246.html#a41bb00d1ad6f0022a0de52984c524246',1,'eosio::rope::append(const char(&s)[N])'],['../classeosio_1_1string_a8781cfc0e0a9aa9187da9cbb5c7f2cf0.html#a8781cfc0e0a9aa9187da9cbb5c7f2cf0',1,'eosio::string::append()']]], + ['assert_5fkeccak_18',['assert_keccak',['../group__crypto_ga525a44f742b17926399841c745a4a7ec.html#ga525a44f742b17926399841c745a4a7ec',1,'eosio']]], + ['assert_5fsha3_19',['assert_sha3',['../group__crypto_ga5911e4dd154cdc173eb05c44bbfe02d0.html#ga5911e4dd154cdc173eb05c44bbfe02d0',1,'eosio']]], + ['asset_20',['asset',['../structeosio_1_1asset_abdde8d4b53c1b8f1027ab6cb2b13b845.html#abdde8d4b53c1b8f1027ab6cb2b13b845',1,'eosio::asset::asset()'],['../structeosio_1_1asset_abb4cf1f370bb101c7d61910ff45d6b55.html#abb4cf1f370bb101c7d61910ff45d6b55',1,'eosio::asset::asset(int64_t a, class symbol s)'],['../structeosio_1_1asset.html',1,'eosio::asset']]], + ['asset_2ehpp_21',['asset.hpp',['../asset_8hpp.html',1,'']]], + ['at_22',['at',['../classeosio_1_1rope_a1a05bd4dc4277bc66f4dc3f37858c02d.html#a1a05bd4dc4277bc66f4dc3f37858c02d',1,'eosio::rope::at()'],['../classeosio_1_1string_a564871216e7138e5d896bb9031b7c43f.html#a564871216e7138e5d896bb9031b7c43f',1,'eosio::string::at(const size_t n)'],['../classeosio_1_1string_a4899eeb275df620049b5fd69f49d3e69.html#a4899eeb275df620049b5fd69f49d3e69',1,'eosio::string::at(const size_t n) const']]], + ['authority_23',['authority',['../structeosio_1_1producer__authority_aaefed59167672831f79af2e1d3a2160e.html#aaefed59167672831f79af2e1d3a2160e',1,'eosio::producer_authority']]], + ['authorization_24',['authorization',['../structeosio_1_1action_a65851242b65f483e6b84d602d599f4e5.html#a65851242b65f483e6b84d602d599f4e5',1,'eosio::action']]], + ['available_5fprimary_5fkey_25',['available_primary_key',['../group__multiindex_ga1b2d26324eb34354f5db2abcf2d87853.html#ga1b2d26324eb34354f5db2abcf2d87853',1,'eosio::multi_index']]] +]; diff --git a/docs/cdt/search/all_10.html b/docs/cdt/search/all_10.html new file mode 100644 index 000000000..d8646f39b --- /dev/null +++ b/docs/cdt/search/all_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_10.js b/docs/cdt/search/all_10.js new file mode 100644 index 000000000..079968c3a --- /dev/null +++ b/docs/cdt/search/all_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['quantity_0',['quantity',['../structeosio_1_1extended__asset_aacd83a028c55e22db2e8f14027827ad7.html#aacd83a028c55e22db2e8f14027827ad7',1,'eosio::extended_asset']]] +]; diff --git a/docs/cdt/search/all_11.html b/docs/cdt/search/all_11.html new file mode 100644 index 000000000..a8167a293 --- /dev/null +++ b/docs/cdt/search/all_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_11.js b/docs/cdt/search/all_11.js new file mode 100644 index 000000000..309d63387 --- /dev/null +++ b/docs/cdt/search/all_11.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['ram_5fbytes_0',['ram_bytes',['../namespaceeosio_1_1internal__use__do__not__use_a23f8d804101d000066f736d21bafd1c2.html#a23f8d804101d000066f736d21bafd1c2',1,'eosio::internal_use_do_not_use']]], + ['raw_1',['raw',['../structeosio_1_1name_a1d269720fd7434429216833187173656.html#a1d269720fd7434429216833187173656',1,'eosio::name::raw()'],['../classeosio_1_1symbol__code_a9c4430961f11cf7a207ac7d4c4827210.html#a9c4430961f11cf7a207ac7d4c4827210',1,'eosio::symbol_code::raw()'],['../classeosio_1_1symbol_a9cb96662a0965ac03e1bf5acfbbda011.html#a9cb96662a0965ac03e1bf5acfbbda011',1,'eosio::symbol::raw()']]], + ['rbegin_2',['rbegin',['../group__multiindex_gacdc14cc71a43489507341d2709696e7d.html#gacdc14cc71a43489507341d2709696e7d',1,'eosio::multi_index']]], + ['read_3',['read',['../classeosio_1_1datastream_ab28fff0ac0d25f39c1a1b5d6f9d0e5ad.html#ab28fff0ac0d25f39c1a1b5d6f9d0e5ad',1,'eosio::datastream']]], + ['read_5faction_5fdata_4',['read_action_data',['../group__action_ga02dcd9ca25bcdd8279efe0d45e50c9eb.html#ga02dcd9ca25bcdd8279efe0d45e50c9eb',1,'eosio']]], + ['read_5ftransaction_5',['read_transaction',['../group__transaction_ga47f5ea185e11cab47e2bddd08598375f.html#ga47f5ea185e11cab47e2bddd08598375f',1,'eosio']]], + ['readme_2emd_6',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]], + ['ref_5fblock_5fnum_7',['ref_block_num',['../classeosio_1_1transaction__header_a7bd1f446f3a9a212183787d223d89766.html#a7bd1f446f3a9a212183787d223d89766',1,'eosio::transaction_header']]], + ['ref_5fblock_5fprefix_8',['ref_block_prefix',['../classeosio_1_1transaction__header_aed4b528cd8a73ac9fa9cb5b7c429f90c.html#aed4b528cd8a73ac9fa9cb5b7c429f90c',1,'eosio::transaction_header']]], + ['reflect_2ehpp_9',['reflect.hpp',['../reflect_8hpp.html',1,'']]], + ['remaining_10',['remaining',['../classeosio_1_1datastream_af57bc94263dc08eb60b910a53645a052.html#af57bc94263dc08eb60b910a53645a052',1,'eosio::datastream::remaining()'],['../classeosio_1_1datastream_3_01size__t_01_4_a345f36fa8492917662d6185db631042d.html#a345f36fa8492917662d6185db631042d',1,'eosio::datastream< size_t >::remaining()']]], + ['remove_11',['remove',['../classeosio_1_1singleton_afc70106337f2cec280dfd797a1c7920a.html#afc70106337f2cec280dfd797a1c7920a',1,'eosio::singleton']]], + ['remove_5fsecurity_5fgroup_5fparticipants_12',['remove_security_group_participants',['../group__security__group_gadefafd73d733d635d8d844203120a58d.html#gadefafd73d733d635d8d844203120a58d',1,'eosio']]], + ['rend_13',['rend',['../group__multiindex_ga659b2744975d0a54162c44fbcbc28115.html#ga659b2744975d0a54162c44fbcbc28115',1,'eosio::multi_index']]], + ['require_5fauth_14',['require_auth',['../group__action_ga47b4afe79f1de07376e2ecdd541f92c7.html#ga47b4afe79f1de07376e2ecdd541f92c7',1,'eosio::require_auth(name n)'],['../group__action_gaa9c6bd255a286073e7dc8a337f2b11a2.html#gaa9c6bd255a286073e7dc8a337f2b11a2',1,'eosio::require_auth(const permission_level &level)']]], + ['require_5ffind_15',['require_find',['../group__multiindex_ga50321aa0c8fbdc67768d421950c2ee14.html#ga50321aa0c8fbdc67768d421950c2ee14',1,'eosio::multi_index']]], + ['require_5frecipient_16',['require_recipient',['../group__action_gaa61e47227ac315887caf1e028191ff7d.html#gaa61e47227ac315887caf1e028191ff7d',1,'eosio::require_recipient(name notify_account, accounts... remaining_accounts)'],['../group__action_ga4e1838d05857e38ddf8916e616698460.html#ga4e1838d05857e38ddf8916e616698460',1,'eosio::require_recipient(name notify_account)']]], + ['reserve_17',['reserve',['../classeosio_1_1string_aceced69d12b071a4669277d8a7ec767a.html#aceced69d12b071a4669277d8a7ec767a',1,'eosio::string']]], + ['resize_18',['resize',['../classeosio_1_1string_a1f95dcbc241a91a8aa9306b599a826c3.html#a1f95dcbc241a91a8aa9306b599a826c3',1,'eosio::string']]], + ['result_19',['result',['../namespaceeosio_1_1internal__use__do__not__use_ab8c965fa59dd909d6c40c9663d0e88a9.html#ab8c965fa59dd909d6c40c9663d0e88a9',1,'eosio::internal_use_do_not_use']]], + ['result_5fbuffer_20',['result_buffer',['../namespaceeosio_1_1internal__use__do__not__use_a2ca0cdda4f780baef07a180db174398d.html#a2ca0cdda4f780baef07a180db174398d',1,'eosio::internal_use_do_not_use']]], + ['result_5flen_21',['result_len',['../namespaceeosio_1_1internal__use__do__not__use_ac6c4dae93eb41be759cf0b9b6b9cc8bc.html#ac6c4dae93eb41be759cf0b9b6b9cc8bc',1,'eosio::internal_use_do_not_use']]], + ['result_5ftype_22',['result_type',['../structeosio_1_1const__mem__fun_a12f7a54a640c4224bccfbbe401ffb16f.html#a12f7a54a640c4224bccfbbe401ffb16f',1,'eosio::const_mem_fun']]], + ['right_23',['right',['../structeosio_1_1impl_1_1concat__t_a344e265129ddb389e4340c9781a5eafb.html#a344e265129ddb389e4340c9781a5eafb',1,'eosio::impl::concat_t']]], + ['rope_24',['rope',['../classeosio_1_1rope.html',1,'eosio::rope'],['../classeosio_1_1rope_aea2f5203db95839a376250f3c29e80f7.html#aea2f5203db95839a376250f3c29e80f7',1,'eosio::rope::rope(const char *s)'],['../classeosio_1_1rope_a99225aa178aa038001e8f68d51a8aa57.html#a99225aa178aa038001e8f68d51a8aa57',1,'eosio::rope::rope(std::string_view s="")']]], + ['rope_2ehpp_25',['rope.hpp',['../rope_8hpp.html',1,'']]], + ['rope_5fnode_26',['rope_node',['../namespaceeosio_1_1impl_ae6203fa7e000c25cb3f5eb731cd2139c.html#ae6203fa7e000c25cb3f5eb731cd2139c',1,'eosio::impl']]] +]; diff --git a/docs/cdt/search/all_12.html b/docs/cdt/search/all_12.html new file mode 100644 index 000000000..c007c3a32 --- /dev/null +++ b/docs/cdt/search/all_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_12.js b/docs/cdt/search/all_12.js new file mode 100644 index 000000000..0afb20599 --- /dev/null +++ b/docs/cdt/search/all_12.js @@ -0,0 +1,54 @@ +var searchData= +[ + ['scalar_0',['scalar',['../namespaceeosio_1_1internal__use__do__not__use_a38efe6447fc3d3b0f3d27fc883cc6c5e.html#a38efe6447fc3d3b0f3d27fc883cc6c5e',1,'eosio::internal_use_do_not_use']]], + ['scalar_5flen_1',['scalar_len',['../namespaceeosio_1_1internal__use__do__not__use_a3177f19fc85c9e72ede34e3573a101e9.html#a3177f19fc85c9e72ede34e3573a101e9',1,'eosio::internal_use_do_not_use']]], + ['sec_5fsince_5fepoch_2',['sec_since_epoch',['../classeosio_1_1time__point__sec_a9f061ae99cc49726e27ac9c29a460b5f.html#a9f061ae99cc49726e27ac9c29a460b5f',1,'eosio::time_point_sec::sec_since_epoch()'],['../classeosio_1_1time__point_aedda68d4c06c12b9dcf27a8964f2c6a9.html#aedda68d4c06c12b9dcf27a8964f2c6a9',1,'eosio::time_point::sec_since_epoch()']]], + ['secondary_5fextractor_5ftype_3',['secondary_extractor_type',['../structeosio_1_1indexed__by_affd7e285b6b9435c7c2b0104a14b5791.html#affd7e285b6b9435c7c2b0104a14b5791',1,'eosio::indexed_by']]], + ['secondary_5findex_5fdb_5ffunctions_4',['secondary_index_db_functions',['../structeosio_1_1__multi__index__detail_1_1secondary__index__db__functions.html',1,'eosio::_multi_index_detail']]], + ['secondary_5fkey_5ftraits_5',['secondary_key_traits',['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits.html',1,'eosio::_multi_index_detail']]], + ['secondary_5fkey_5ftraits_3c_20double_20_3e_6',['secondary_key_traits< double >',['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4.html',1,'eosio::_multi_index_detail']]], + ['secondary_5fkey_5ftraits_3c_20eosio_3a_3afixed_5fbytes_3c_2032_20_3e_20_3e_7',['secondary_key_traits< eosio::fixed_bytes< 32 > >',['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4.html',1,'eosio::_multi_index_detail']]], + ['secondary_5fkey_5ftraits_3c_20long_20double_20_3e_8',['secondary_key_traits< long double >',['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4.html',1,'eosio::_multi_index_detail']]], + ['seconds_9',['seconds',['../namespaceeosio_af7174ec0c48074b993ec6bac37a84682.html#af7174ec0c48074b993ec6bac37a84682',1,'eosio']]], + ['security_5fgroup_10',['security_group',['../structeosio_1_1security__group.html',1,'eosio']]], + ['security_5fgroup_2ehpp_11',['security_group.hpp',['../security__group_8hpp.html',1,'']]], + ['seekp_12',['seekp',['../classeosio_1_1datastream_ac82f1102bb9593764a654dfbedb88328.html#ac82f1102bb9593764a654dfbedb88328',1,'eosio::datastream::seekp()'],['../classeosio_1_1datastream_3_01size__t_01_4_ac4720cb82d256a41f27bbf389b37790b.html#ac4720cb82d256a41f27bbf389b37790b',1,'eosio::datastream< size_t >::seekp()']]], + ['send_13',['send',['../structeosio_1_1action__wrapper_aa7f4781b065eda40ba6803410f1b2eb1.html#aa7f4781b065eda40ba6803410f1b2eb1',1,'eosio::action_wrapper::send()'],['../structeosio_1_1action_a447f36a63208c2d138b7109b3e13e55f.html#a447f36a63208c2d138b7109b3e13e55f',1,'eosio::action::send()'],['../structeosio_1_1variant__action__wrapper_a1f95cbb7f23a1790f0ddf67d2336dd03.html#a1f95cbb7f23a1790f0ddf67d2336dd03',1,'eosio::variant_action_wrapper::send()'],['../classeosio_1_1transaction_aff16436e52fff284fabc0b748be342b4.html#aff16436e52fff284fabc0b748be342b4',1,'eosio::transaction::send()']]], + ['send_5fcontext_5ffree_14',['send_context_free',['../structeosio_1_1action_a984a41daf2d1c4d6506cac0c98ac7a2a.html#a984a41daf2d1c4d6506cac0c98ac7a2a',1,'eosio::action::send_context_free()'],['../structeosio_1_1action__wrapper_ae9fc18e5e6a4ca8a70120594aaab73e5.html#ae9fc18e5e6a4ca8a70120594aaab73e5',1,'eosio::action_wrapper::send_context_free()'],['../structeosio_1_1variant__action__wrapper_a4cf54eec122768c5dda66731eb1c0cd3.html#a4cf54eec122768c5dda66731eb1c0cd3',1,'eosio::variant_action_wrapper::send_context_free()']]], + ['send_5fdeferred_15',['send_deferred',['../group__transaction_ga92cd86171a4bcc86bb3bc974618005e5.html#ga92cd86171a4bcc86bb3bc974618005e5',1,'eosio']]], + ['send_5finline_5faction_16',['SEND_INLINE_ACTION',['../action_8hpp_a7c267f408db88d60ce0a5c74845596ee.html#a7c267f408db88d60ce0a5c74845596ee',1,'action.hpp']]], + ['sender_5fid_17',['sender_id',['../structeosio_1_1onerror_ae6686bc621795ad87f257d0be72f345c.html#ae6686bc621795ad87f257d0be72f345c',1,'eosio::onerror']]], + ['sent_5ftrx_18',['sent_trx',['../structeosio_1_1onerror_a1cae304360f79394762ec5040046887e.html#a1cae304360f79394762ec5040046887e',1,'eosio::onerror']]], + ['serialize_2ehpp_19',['serialize.hpp',['../serialize_8hpp.html',1,'']]], + ['serialized_20',['serialized',['../structeosio_1_1ec__point_a9d58791cea69d15014c97e8f4ca984a1.html#a9d58791cea69d15014c97e8f4ca984a1',1,'eosio::ec_point::serialized()'],['../structeosio_1_1ec__point__view_a58db6d160530b793ff9313110ab7ee43.html#a58db6d160530b793ff9313110ab7ee43',1,'eosio::ec_point_view::serialized()']]], + ['set_21',['set',['../classeosio_1_1singleton_aada28dbeaf0961614beff67a38553a3c.html#aada28dbeaf0961614beff67a38553a3c',1,'eosio::singleton']]], + ['set_5famount_22',['set_amount',['../structeosio_1_1asset_a0b6c8ba10eedc0129364fc910e840d7f.html#a0b6c8ba10eedc0129364fc910e840d7f',1,'eosio::asset']]], + ['set_5fblockchain_5fparameters_23',['set_blockchain_parameters',['../group__privileged_ga4b6f34ade1f06f6583b4a17738bebe0c.html#ga4b6f34ade1f06f6583b4a17738bebe0c',1,'eosio']]], + ['set_5fprivileged_24',['set_privileged',['../group__privileged_gab341227b30ff1294ecb03c540e25a57f.html#gab341227b30ff1294ecb03c540e25a57f',1,'eosio']]], + ['set_5fproposed_5fproducers_25',['set_proposed_producers',['../group__privileged_ga8ae4f7b818d57817a629c7c45372552e.html#ga8ae4f7b818d57817a629c7c45372552e',1,'eosio::set_proposed_producers(const std::vector< producer_key > &prods)'],['../group__privileged_gac69be7829e437b6a986af0b686b8fd68.html#gac69be7829e437b6a986af0b686b8fd68',1,'eosio::set_proposed_producers(const std::vector< producer_authority > &prods)']]], + ['set_5fresource_5flimits_26',['set_resource_limits',['../group__privileged_gaad97a90662dc91cc1f9c6b2368b625c3.html#gaad97a90662dc91cc1f9c6b2368b625c3',1,'eosio']]], + ['sha3_27',['sha3',['../group__crypto_ga72b1a23b79771d3be88f1330bbe0e3cb.html#ga72b1a23b79771d3be88f1330bbe0e3cb',1,'eosio']]], + ['shrink_5fto_5ffit_28',['shrink_to_fit',['../classeosio_1_1string_a9dfae8e14598a5b45c2333253f9ad13f.html#a9dfae8e14598a5b45c2333253f9ad13f',1,'eosio::string']]], + ['sig_5flen_29',['sig_len',['../namespaceeosio_1_1internal__use__do__not__use_a5fd9f46e4c5ed043c0fbb72feb401b1a.html#a5fd9f46e4c5ed043c0fbb72feb401b1a',1,'eosio::internal_use_do_not_use']]], + ['signed_5fint_30',['signed_int',['../structeosio_1_1signed__int.html',1,'eosio::signed_int'],['../structeosio_1_1signed__int_a0dd8bbac6533ed3729077bce4ada8997.html#a0dd8bbac6533ed3729077bce4ada8997',1,'eosio::signed_int::signed_int()']]], + ['singleton_31',['singleton',['../classeosio_1_1singleton.html',1,'eosio::singleton< SingletonName, T >'],['../classeosio_1_1singleton_aacf881ed97b04496be325d74f6b9d25e.html#aacf881ed97b04496be325d74f6b9d25e',1,'eosio::singleton::singleton()']]], + ['singleton_2dтаблица_32',['Singleton-таблица',['../group__singleton.html',1,'']]], + ['singleton_2ehpp_33',['singleton.hpp',['../singleton_8hpp.html',1,'']]], + ['size_34',['size',['../classeosio_1_1fixed__bytes_ac2d8051c8675cda490ae406ca35cdea4.html#ac2d8051c8675cda490ae406ca35cdea4',1,'eosio::fixed_bytes::size()'],['../namespaceeosio_1_1internal__use__do__not__use_a40f68c0fdc4874d206da23b1feccba91.html#a40f68c0fdc4874d206da23b1feccba91',1,'eosio::internal_use_do_not_use::size()'],['../structeosio_1_1ec__point__view_ac94bfdc2f24d787628ab6b684b7b01a0.html#ac94bfdc2f24d787628ab6b684b7b01a0',1,'eosio::ec_point_view::size()'],['../structeosio_1_1impl_1_1str__t_a6a41a31c4b462547b26ff114e22cb8a2.html#a6a41a31c4b462547b26ff114e22cb8a2',1,'eosio::impl::str_t::size()'],['../classeosio_1_1string_a651faa2c73ac0376e3efe94a5a192e55.html#a651faa2c73ac0376e3efe94a5a192e55',1,'eosio::string::size()']]], + ['size_5ft_35',['size_t',['../namespaceeosio_1_1internal__use__do__not__use_a3a794c5c2a2c47a98ae7b9e5732baeec.html#a3a794c5c2a2c47a98ae7b9e5732baeec',1,'eosio::internal_use_do_not_use']]], + ['skip_36',['skip',['../classeosio_1_1datastream_3_01size__t_01_4_ad9d7da49e77a5db9c80c256845b26894.html#ad9d7da49e77a5db9c80c256845b26894',1,'eosio::datastream< size_t >::skip()'],['../classeosio_1_1datastream_a928fbd3301caee3c64ea620442fb0e64.html#a928fbd3301caee3c64ea620442fb0e64',1,'eosio::datastream::skip()']]], + ['state_37',['state',['../namespaceeosio_1_1internal__use__do__not__use_a68510fd663c8c85a2d88b27ac117d4a4.html#a68510fd663c8c85a2d88b27ac117d4a4',1,'eosio::internal_use_do_not_use']]], + ['state_5flen_38',['state_len',['../namespaceeosio_1_1internal__use__do__not__use_acca21e2be5ba5b6123e646f739e16ca0.html#acca21e2be5ba5b6123e646f739e16ca0',1,'eosio::internal_use_do_not_use']]], + ['str_5ft_39',['str_t',['../structeosio_1_1impl_1_1str__t.html',1,'eosio::impl']]], + ['string_40',['string',['../classeosio_1_1string.html',1,'eosio::string'],['../classeosio_1_1string_ac7a16a5fc722b604a74d553beba58a44.html#ac7a16a5fc722b604a74d553beba58a44',1,'eosio::string::string(const string &str, const size_t pos, const size_t n)'],['../classeosio_1_1string_a9b25b59100bf5c70971fa6f55fe65191.html#a9b25b59100bf5c70971fa6f55fe65191',1,'eosio::string::string(const char(&str)[N])'],['../classeosio_1_1string_abbdba4b5d2a09bbc117792a412f19a6f.html#abbdba4b5d2a09bbc117792a412f19a6f',1,'eosio::string::string()'],['../classeosio_1_1string_aaea5e2703fbc37b3a1e2b3947d926bf0.html#aaea5e2703fbc37b3a1e2b3947d926bf0',1,'eosio::string::string(const char *str, const size_t n)'],['../classeosio_1_1string_adf203bd5325ece9f37ff3fcd0b220e49.html#adf203bd5325ece9f37ff3fcd0b220e49',1,'eosio::string::string(const size_t n, const char c)'],['../classeosio_1_1string_abed2244638c61753c2b33c3a5f8def30.html#abed2244638c61753c2b33c3a5f8def30',1,'eosio::string::string(string &&str)'],['../classeosio_1_1string_a38a9b5399dc2a4eadafe11abeff1b77c.html#a38a9b5399dc2a4eadafe11abeff1b77c',1,'eosio::string::string(const string &str)']]], + ['string_2ehpp_41',['string.hpp',['../string_8hpp.html',1,'']]], + ['struct_5fversion_42',['struct_version',['../structeosio_1_1code__hash__result_a7dc9ef8535a1a92d5a12945c023c1563.html#a7dc9ef8535a1a92d5a12945c023c1563',1,'eosio::code_hash_result::struct_version()'],['../namespaceeosio_1_1internal__use__do__not__use_aa87ebca610090d4846fdf11d9dc46e2d.html#aa87ebca610090d4846fdf11d9dc46e2d',1,'eosio::internal_use_do_not_use::struct_version()']]], + ['substr_43',['substr',['../classeosio_1_1string_aaabc6d219686805ea57157fb47d1d293.html#aaabc6d219686805ea57157fb47d1d293',1,'eosio::string']]], + ['suffix_44',['suffix',['../structeosio_1_1name_a806f77788fe466215adeb2b78553b6f8.html#a806f77788fe466215adeb2b78553b6f8',1,'eosio::name']]], + ['sv_45',['sv',['../classeosio_1_1rope_aa977c345d7cd7d9b0ecd35c306a36983.html#aa977c345d7cd7d9b0ecd35c306a36983',1,'eosio::rope']]], + ['swap_46',['swap',['../classeosio_1_1string_a365349b85f2fffc2d6a57de046fa5782.html#a365349b85f2fffc2d6a57de046fa5782',1,'eosio::string']]], + ['symbol_47',['symbol',['../classeosio_1_1symbol.html',1,'eosio::symbol'],['../classeosio_1_1symbol_afc5e4be9944b51deac6484128deb2ce2.html#afc5e4be9944b51deac6484128deb2ce2',1,'eosio::symbol::symbol(std::string_view ss, uint8_t precision)'],['../classeosio_1_1symbol_a990e99879ecbebb194e5de43932ec59b.html#a990e99879ecbebb194e5de43932ec59b',1,'eosio::symbol::symbol(symbol_code sc, uint8_t precision)'],['../classeosio_1_1symbol_abcbc25794d1a3e0477be40441be6b210.html#abcbc25794d1a3e0477be40441be6b210',1,'eosio::symbol::symbol(uint64_t raw)'],['../classeosio_1_1symbol_a6604372bb0cc9d3c70a3b77973517e41.html#a6604372bb0cc9d3c70a3b77973517e41',1,'eosio::symbol::symbol()'],['../structeosio_1_1asset_a374520d98a22f5a89a26025154944756.html#a374520d98a22f5a89a26025154944756',1,'eosio::asset::symbol()']]], + ['symbol_2ehpp_48',['symbol.hpp',['../symbol_8hpp.html',1,'']]], + ['symbol_5fcode_49',['symbol_code',['../classeosio_1_1symbol__code.html',1,'eosio::symbol_code'],['../classeosio_1_1symbol__code_a9d8538c2ff41df391b45cfb6190a1ed4.html#a9d8538c2ff41df391b45cfb6190a1ed4',1,'eosio::symbol_code::symbol_code()'],['../classeosio_1_1symbol__code_afba617179edadad41667b707176943fc.html#afba617179edadad41667b707176943fc',1,'eosio::symbol_code::symbol_code(std::string_view str)'],['../classeosio_1_1symbol__code_a5a95bedec99aff1d70a782b365bc28d0.html#a5a95bedec99aff1d70a782b365bc28d0',1,'eosio::symbol_code::symbol_code(uint64_t raw)']]], + ['system_2ehpp_50',['system.hpp',['../system_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/all_13.html b/docs/cdt/search/all_13.html new file mode 100644 index 000000000..4eb42128b --- /dev/null +++ b/docs/cdt/search/all_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_13.js b/docs/cdt/search/all_13.js new file mode 100644 index 000000000..0bd4064cc --- /dev/null +++ b/docs/cdt/search/all_13.js @@ -0,0 +1,38 @@ +var searchData= +[ + ['t0_5flen_0',['t0_len',['../namespaceeosio_1_1internal__use__do__not__use_ac7be28ac54655c208de8137170324d33.html#ac7be28ac54655c208de8137170324d33',1,'eosio::internal_use_do_not_use']]], + ['t0_5foffset_1',['t0_offset',['../namespaceeosio_1_1internal__use__do__not__use_aacd0bea153b8b67c940c638ea8a088b0.html#aacd0bea153b8b67c940c638ea8a088b0',1,'eosio::internal_use_do_not_use']]], + ['t1_5flen_2',['t1_len',['../namespaceeosio_1_1internal__use__do__not__use_a2388251ff5bfa4a7132e5684d9f4ea7c.html#a2388251ff5bfa4a7132e5684d9f4ea7c',1,'eosio::internal_use_do_not_use']]], + ['t1_5foffset_3',['t1_offset',['../namespaceeosio_1_1internal__use__do__not__use_a469d875a2db46706f7df9f2896c4a53c.html#a469d875a2db46706f7df9f2896c4a53c',1,'eosio::internal_use_do_not_use']]], + ['table_4',['TABLE',['../contract_8hpp_acadaccd8321f8569f31a11bdad1829da.html#acadaccd8321f8569f31a11bdad1829da',1,'contract.hpp']]], + ['tapos_5fblock_5fnum_5',['tapos_block_num',['../group__transaction_gad2a14b4c7ce6445f669a42ef73a4b685.html#gad2a14b4c7ce6445f669a42ef73a4b685',1,'eosio']]], + ['tapos_5fblock_5fprefix_6',['tapos_block_prefix',['../group__transaction_ga8ebcde8a1e1665142ca0b51e4118ed17.html#ga8ebcde8a1e1665142ca0b51e4118ed17',1,'eosio']]], + ['target_5fblock_5fcpu_5fusage_5fpct_7',['target_block_cpu_usage_pct',['../structeosio_1_1blockchain__parameters_aa8e6bff1b7d255588fb31ccdf6035aba.html#aa8e6bff1b7d255588fb31ccdf6035aba',1,'eosio::blockchain_parameters']]], + ['target_5fblock_5fnet_5fusage_5fpct_8',['target_block_net_usage_pct',['../structeosio_1_1blockchain__parameters_a346f353931e0403d07e27da151a8af4d.html#a346f353931e0403d07e27da151a8af4d',1,'eosio::blockchain_parameters']]], + ['tellp_9',['tellp',['../classeosio_1_1datastream_a32df7a816da793f3183d235c67b042a7.html#a32df7a816da793f3183d235c67b042a7',1,'eosio::datastream::tellp()'],['../classeosio_1_1datastream_3_01size__t_01_4_aadcdabf95d8b142bd9b43bbcdc4e0d9f.html#aadcdabf95d8b142bd9b43bbcdc4e0d9f',1,'eosio::datastream< size_t >::tellp()']]], + ['temp_10',['temp',['../structeosio_1_1impl_1_1str__t_a7a7645f3deaeb5e01124300c850d5f7e.html#a7a7645f3deaeb5e01124300c850d5f7e',1,'eosio::impl::str_t::temp()'],['../structeosio_1_1impl_1_1concat__t_a729e92e9c1ad1f1fcb4333a5dbd4e673.html#a729e92e9c1ad1f1fcb4333a5dbd4e673',1,'eosio::impl::concat_t::temp()']]], + ['temp_5fleft_11',['temp_left',['../structeosio_1_1impl_1_1concat__t_a66bf009cb8e646692287b254df119652.html#a66bf009cb8e646692287b254df119652',1,'eosio::impl::concat_t']]], + ['threshold_12',['threshold',['../structeosio_1_1block__signing__authority__v0_a9bd0140a33077b4179de56132205ebdd.html#a9bd0140a33077b4179de56132205ebdd',1,'eosio::block_signing_authority_v0']]], + ['time_2ehpp_13',['time.hpp',['../time_8hpp.html',1,'']]], + ['time_5fpoint_14',['time_point',['../classeosio_1_1time__point.html',1,'eosio::time_point'],['../classeosio_1_1time__point_a307b17c8475291a97892a1f9cd76fa36.html#a307b17c8475291a97892a1f9cd76fa36',1,'eosio::time_point::time_point()'],['../classeosio_1_1microseconds_aaba1d7b327cc33fcbaf19e870d0c1733.html#aaba1d7b327cc33fcbaf19e870d0c1733',1,'eosio::microseconds::time_point()']]], + ['time_5fpoint_5fsec_15',['time_point_sec',['../classeosio_1_1time__point__sec.html',1,'eosio::time_point_sec'],['../classeosio_1_1time__point__sec_ab0f6a00b7d53d82a9c68ee385d35c0cb.html#ab0f6a00b7d53d82a9c68ee385d35c0cb',1,'eosio::time_point_sec::time_point_sec()'],['../classeosio_1_1time__point__sec_a119a4edea2590a1152db08c4fc51e811.html#a119a4edea2590a1152db08c4fc51e811',1,'eosio::time_point_sec::time_point_sec(uint32_t seconds)'],['../classeosio_1_1time__point__sec_afc6c67209c28cd9e5d70a4298deb39ad.html#afc6c67209c28cd9e5d70a4298deb39ad',1,'eosio::time_point_sec::time_point_sec(const time_point &t)']]], + ['time_5fsince_5fepoch_16',['time_since_epoch',['../classeosio_1_1time__point_ad011eb25db435de048b2a5a00dcee066.html#ad011eb25db435de048b2a5a00dcee066',1,'eosio::time_point']]], + ['to_5faction_17',['to_action',['../structeosio_1_1variant__action__wrapper_afe014cc8e17701b610af9e2adcc76da7.html#afe014cc8e17701b610af9e2adcc76da7',1,'eosio::variant_action_wrapper::to_action()'],['../structeosio_1_1action__wrapper_ae422e0f1f06d13925a29dcac8f4457f1.html#ae422e0f1f06d13925a29dcac8f4457f1',1,'eosio::action_wrapper::to_action()']]], + ['to_5fconst_5fchar_5farr_18',['to_const_char_arr',['../structeosio_1_1detail_1_1to__const__char__arr.html',1,'eosio::detail']]], + ['to_5fkey_19',['to_key',['../namespaceeosio_af80dcf1bec9db392710cfac9ac0bd49d.html#af80dcf1bec9db392710cfac9ac0bd49d',1,'eosio::to_key(bool obj, datastream< S > &stream)'],['../namespaceeosio_a886436abb8b2d3bc0ff91fa0faf052b6.html#a886436abb8b2d3bc0ff91fa0faf052b6',1,'eosio::to_key(const std::string &obj, datastream< S > &stream)'],['../namespaceeosio_ad64c4446ffb3e530c2c5eee66efcbd9d.html#ad64c4446ffb3e530c2c5eee66efcbd9d',1,'eosio::to_key(std::string_view obj, datastream< S > &stream)'],['../namespaceeosio_ab18517b08024e1cdc4364a76c74cad59.html#ab18517b08024e1cdc4364a76c74cad59',1,'eosio::to_key(const char(&str)[N], datastream< S > &stream)'],['../namespaceeosio_aa9cbce17fa0d81b4fb658756a2aa9313.html#aa9cbce17fa0d81b4fb658756a2aa9313',1,'eosio::to_key(const std::variant< Ts... > &obj, datastream< S > &stream)'],['../namespaceeosio_a26818b9f0aa2826193c12ebbcd516d5c.html#a26818b9f0aa2826193c12ebbcd516d5c',1,'eosio::to_key(const std::optional< T > &obj, datastream< S > &stream)'],['../namespaceeosio_a765369843265789042da1b4856a07202.html#a765369843265789042da1b4856a07202',1,'eosio::to_key(const std::map< T, U > &obj, datastream< S > &stream)'],['../namespaceeosio_a6985ebc6a27e11e105bb9433765c04d7.html#a6985ebc6a27e11e105bb9433765c04d7',1,'eosio::to_key(const T &obj, datastream< S > &stream) -> std::enable_if_t< is_ranged_type(std::declval< T >()), void >'],['../namespaceeosio_a414bc3518c0e6f968338533ccbb381b8.html#a414bc3518c0e6f968338533ccbb381b8',1,'eosio::to_key(const std::pair< T, U > &obj, datastream< S > &stream)'],['../namespaceeosio_a798574a285557f53efab8521532da82d.html#a798574a285557f53efab8521532da82d',1,'eosio::to_key(const std::array< T, N > &obj, datastream< S > &stream)'],['../namespaceeosio_a17d4c25130755b9075b48cb9f22411a5.html#a17d4c25130755b9075b48cb9f22411a5',1,'eosio::to_key(const std::tuple< Ts... > &obj, datastream< S > &stream)'],['../namespaceeosio_a8010c134258beccbf5224e9f5c040825.html#a8010c134258beccbf5224e9f5c040825',1,'eosio::to_key(const T &obj, datastream< S > &stream)']]], + ['to_5fkey_5foptional_20',['to_key_optional',['../namespaceeosio_a377492aec0291bc289eba84d31b52f60.html#a377492aec0291bc289eba84d31b52f60',1,'eosio::to_key_optional(const bool *obj, datastream< S > &stream)'],['../namespaceeosio_aef74f69e6a22bf95b0f7cbff816627b5.html#aef74f69e6a22bf95b0f7cbff816627b5',1,'eosio::to_key_optional(const T *obj, datastream< S > &stream)']]], + ['to_5fkey_5frange_21',['to_key_range',['../namespaceeosio_a83093b2d24efd8161abc60290a11945d.html#a83093b2d24efd8161abc60290a11945d',1,'eosio']]], + ['to_5fkey_5ftuple_22',['to_key_tuple',['../namespaceeosio_aa1d56938ffd3af0d7efffb788425112a.html#aa1d56938ffd3af0d7efffb788425112a',1,'eosio']]], + ['to_5fkey_5fvarint32_23',['to_key_varint32',['../namespaceeosio_a9ff397ff9cb2e98f4ee095f16a155ff0.html#a9ff397ff9cb2e98f4ee095f16a155ff0',1,'eosio']]], + ['to_5fkey_5fvaruint32_24',['to_key_varuint32',['../namespaceeosio_af7fd095425063722ae432862864d0598.html#af7fd095425063722ae432862864d0598',1,'eosio']]], + ['to_5fraw_5fkey_25',['to_raw_key',['../namespaceeosio_1_1__multi__index__detail_ab86eee8c3f788dfbc306661042361f7a.html#ab86eee8c3f788dfbc306661042361f7a',1,'eosio::_multi_index_detail::to_raw_key(PK pk)'],['../namespaceeosio_1_1__multi__index__detail_a135eacc8542cc1a376045da059e67369.html#a135eacc8542cc1a376045da059e67369',1,'eosio::_multi_index_detail::to_raw_key(eosio::name pk)']]], + ['to_5fstring_26',['to_string',['../classeosio_1_1block__timestamp_a0bb7b80144520847d11ee3d3a4b81bae.html#a0bb7b80144520847d11ee3d3a4b81bae',1,'eosio::block_timestamp::to_string()'],['../classeosio_1_1time__point__sec_a697e77fb6964d691d97aa6cd0c59e217.html#a697e77fb6964d691d97aa6cd0c59e217',1,'eosio::time_point_sec::to_string()'],['../classeosio_1_1time__point_ac96d4680cf94a4a75bccd52ff2d5930e.html#ac96d4680cf94a4a75bccd52ff2d5930e',1,'eosio::time_point::to_string()'],['../classeosio_1_1symbol__code_a075d0d69307bd9180b147a809f07bad5.html#a075d0d69307bd9180b147a809f07bad5',1,'eosio::symbol_code::to_string()'],['../structeosio_1_1name_ae9b8c13d32a86f9ff355b6dce3955ab6.html#ae9b8c13d32a86f9ff355b6dce3955ab6',1,'eosio::name::to_string()'],['../structeosio_1_1asset_a1c0dbeb4348006fa622e2b5d06431554.html#a1c0dbeb4348006fa622e2b5d06431554',1,'eosio::asset::to_string()']]], + ['to_5ftime_5fpoint_27',['to_time_point',['../classeosio_1_1block__timestamp_ac645cbc95a573b9ddc33439bf7953e83.html#ac645cbc95a573b9ddc33439bf7953e83',1,'eosio::block_timestamp']]], + ['total_5fbytes_5fsize_28',['total_bytes_size',['../namespaceeosio_1_1detail_ac7230a60ca339b86b59f88f7ca069b1a.html#ac7230a60ca339b86b59f88f7ca069b1a',1,'eosio::detail']]], + ['transaction_29',['transaction',['../classeosio_1_1transaction.html',1,'eosio::transaction'],['../classeosio_1_1transaction_aa1c104e5e613662ae3d5c6f66313b352.html#aa1c104e5e613662ae3d5c6f66313b352',1,'eosio::transaction::transaction()']]], + ['transaction_2ehpp_30',['transaction.hpp',['../transaction_8hpp.html',1,'']]], + ['transaction_5fextensions_31',['transaction_extensions',['../classeosio_1_1transaction_a445fd87e3465a1ca647c711c1ac0c711.html#a445fd87e3465a1ca647c711c1ac0c711',1,'eosio::transaction']]], + ['transaction_5fheader_32',['transaction_header',['../classeosio_1_1transaction__header.html',1,'eosio::transaction_header'],['../classeosio_1_1transaction__header_a6abf412b441f881616bad00837503075.html#a6abf412b441f881616bad00837503075',1,'eosio::transaction_header::transaction_header()']]], + ['transaction_5fsize_33',['transaction_size',['../group__transaction_ga44eb86f3c4e862cbb5c862f29b77aa1f.html#ga44eb86f3c4e862cbb5c862f29b77aa1f',1,'eosio']]], + ['true_5flowest_34',['true_lowest',['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4_ada23ab5a6d6411da93274d3d48729285.html#ada23ab5a6d6411da93274d3d48729285',1,'eosio::_multi_index_detail::secondary_key_traits< long double >::true_lowest()'],['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4_ac261d4e78ccebd3d107c0c4d2659c78b.html#ac261d4e78ccebd3d107c0c4d2659c78b',1,'eosio::_multi_index_detail::secondary_key_traits< double >::true_lowest()'],['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4_a3931d15383b69ef8b74a680168afa995.html#a3931d15383b69ef8b74a680168afa995',1,'eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >::true_lowest()']]] +]; diff --git a/docs/cdt/search/all_14.html b/docs/cdt/search/all_14.html new file mode 100644 index 000000000..5bf3503be --- /dev/null +++ b/docs/cdt/search/all_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_14.js b/docs/cdt/search/all_14.js new file mode 100644 index 000000000..0bd62ea8f --- /dev/null +++ b/docs/cdt/search/all_14.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['uint32_5ft_0',['uint32_t',['../namespaceeosio_1_1internal__use__do__not__use_abc883019693b16f4ff37d33c0d1b61c4.html#abc883019693b16f4ff37d33c0d1b61c4',1,'eosio::internal_use_do_not_use']]], + ['uint64_5ft_1',['uint64_t',['../namespaceeosio_1_1internal__use__do__not__use_a02d21b61eb2a51a93d9af3e0a2a0989a.html#a02d21b61eb2a51a93d9af3e0a2a0989a',1,'eosio::internal_use_do_not_use']]], + ['unpack_2',['unpack',['../group__datastream_ga2ffaa5bd18836b7d40db601fb20965bb.html#ga2ffaa5bd18836b7d40db601fb20965bb',1,'eosio::unpack(const char *buffer, size_t len)'],['../group__datastream_gaeda637d2d16ecc6235bd072161bc07df.html#gaeda637d2d16ecc6235bd072161bc07df',1,'eosio::unpack(T &res, const char *buffer, size_t len)'],['../group__datastream_ga666b4d583161e4db595e31565fbb6a3d.html#ga666b4d583161e4db595e31565fbb6a3d',1,'eosio::unpack(const std::vector< char > &bytes)']]], + ['unpack_5faction_5fdata_3',['unpack_action_data',['../group__action_ga3ce0a297276d44f03c9b5dc17fcd2b31.html#ga3ce0a297276d44f03c9b5dc17fcd2b31',1,'eosio']]], + ['unpack_5fsent_5ftrx_4',['unpack_sent_trx',['../structeosio_1_1onerror_a8fe8368f7a3213b5ab0a93407f41cd66.html#a8fe8368f7a3213b5ab0a93407f41cd66',1,'eosio::onerror']]], + ['unsigned_5fint_5',['unsigned_int',['../structeosio_1_1unsigned__int.html',1,'eosio::unsigned_int'],['../structeosio_1_1unsigned__int_a8d6b543812504c0edec1d4befea8006a.html#a8d6b543812504c0edec1d4befea8006a',1,'eosio::unsigned_int::unsigned_int(uint32_t v=0)'],['../structeosio_1_1unsigned__int_a2c1883d47646efcb3bc610c30be5097b.html#a2c1883d47646efcb3bc610c30be5097b',1,'eosio::unsigned_int::unsigned_int(T v)']]], + ['upper_5fbound_6',['upper_bound',['../group__multiindex_ga0170e32a35c3760661784c229d3a9b1a.html#ga0170e32a35c3760661784c229d3a9b1a',1,'eosio::multi_index']]], + ['used_5fram_5fbytes_7',['used_ram_bytes',['../namespaceeosio_1_1internal__use__do__not__use_a465fae2c786f7a3bfd4c9f0149d3dd0a.html#a465fae2c786f7a3bfd4c9f0149d3dd0a',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/all_15.html b/docs/cdt/search/all_15.html new file mode 100644 index 000000000..31c2ab2d1 --- /dev/null +++ b/docs/cdt/search/all_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_15.js b/docs/cdt/search/all_15.js new file mode 100644 index 000000000..5cac65edd --- /dev/null +++ b/docs/cdt/search/all_15.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['valid_0',['valid',['../classeosio_1_1datastream_a69cbb57958a1ec6d66e6aa4bcc39ec23.html#a69cbb57958a1ec6d66e6aa4bcc39ec23',1,'eosio::datastream::valid()'],['../classeosio_1_1datastream_3_01size__t_01_4_a46f1fc6f14d7e79c2181f4e3a2ae5b12.html#a46f1fc6f14d7e79c2181f4e3a2ae5b12',1,'eosio::datastream< size_t >::valid()']]], + ['value_1',['value',['../structeosio_1_1__datastream__detail_1_1is__datastream_a46f5a1b821c0b8786607159ca6ccfccd.html#a46f5a1b821c0b8786607159ca6ccfccd',1,'eosio::_datastream_detail::is_datastream::value()'],['../structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4_aa4cc84f8f2a27b86c4d8d6106abf577e.html#aa4cc84f8f2a27b86c4d8d6106abf577e',1,'eosio::_datastream_detail::is_datastream< datastream< T > >::value()'],['../structeosio_1_1ignore__wrapper_a4f84e678095bec6a25ce72256b4cbfce.html#a4f84e678095bec6a25ce72256b4cbfce',1,'eosio::ignore_wrapper::value()'],['../structeosio_1_1name_adb309a6e132467ef2c53e953b56ebb52.html#adb309a6e132467ef2c53e953b56ebb52',1,'eosio::name::value()'],['../structeosio_1_1detail_1_1to__const__char__arr_a71dc7a7be969ca08eb741a16c738c707.html#a71dc7a7be969ca08eb741a16c738c707',1,'eosio::detail::to_const_char_arr::value()'],['../structeosio_1_1detail_1_1largest__power__helper_a51494080c1773c94ae8188fc9d1d72c9.html#a51494080c1773c94ae8188fc9d1d72c9',1,'eosio::detail::largest_power_helper::value()'],['../structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4_a646d056a1d3269d72683156bbb05b8b7.html#a646d056a1d3269d72683156bbb05b8b7',1,'eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >::value()'],['../structeosio_1_1detail_1_1largest__power_a1d89104c10a837261d6147c21de86b53.html#a1d89104c10a837261d6147c21de86b53',1,'eosio::detail::largest_power::value()'],['../structeosio_1_1unsigned__int_ae77bf5565f5fd33b99d944a78195185b.html#ae77bf5565f5fd33b99d944a78195185b',1,'eosio::unsigned_int::value()'],['../structeosio_1_1signed__int_a67cdbe3b1c5458c048006777b7cabccf.html#a67cdbe3b1c5458c048006777b7cabccf',1,'eosio::signed_int::value()']]], + ['variant_5faction_5fwrapper_2',['variant_action_wrapper',['../structeosio_1_1variant__action__wrapper.html',1,'eosio::variant_action_wrapper< Name, Actions >'],['../structeosio_1_1variant__action__wrapper_a54b47e0e84c464142c902d7194426d3a.html#a54b47e0e84c464142c902d7194426d3a',1,'eosio::variant_action_wrapper::variant_action_wrapper(Code &&code, std::vector< eosio::permission_level > &&perms)'],['../structeosio_1_1variant__action__wrapper_ae3836c99f199acd09f326c0788ad50ef.html#ae3836c99f199acd09f326c0788ad50ef',1,'eosio::variant_action_wrapper::variant_action_wrapper(Code &&code, const std::vector< eosio::permission_level > &perms)'],['../structeosio_1_1variant__action__wrapper_a0d83dd58a99adffbba6bd026e47a211e.html#a0d83dd58a99adffbba6bd026e47a211e',1,'eosio::variant_action_wrapper::variant_action_wrapper(Code &&code, eosio::permission_level &&perm)'],['../structeosio_1_1variant__action__wrapper_ac6c4a0bc39c0e593277378526083c7cc.html#ac6c4a0bc39c0e593277378526083c7cc',1,'eosio::variant_action_wrapper::variant_action_wrapper(Code &&code, const eosio::permission_level &perm)']]], + ['varint_2ehpp_3',['varint.hpp',['../varint_8hpp.html',1,'']]], + ['version_4',['version',['../structeosio_1_1producer__schedule_a3958be89c877e9249710a8aafa155829.html#a3958be89c877e9249710a8aafa155829',1,'eosio::producer_schedule::version()'],['../structeosio_1_1security__group_af820dad499d430e6576e7d92ebde7f88.html#af820dad499d430e6576e7d92ebde7f88',1,'eosio::security_group::version()']]], + ['vm_5ftype_5',['vm_type',['../structeosio_1_1code__hash__result_a94c531f9b7fa14078b54df9bb892d5fa.html#a94c531f9b7fa14078b54df9bb892d5fa',1,'eosio::code_hash_result']]], + ['vm_5fversion_6',['vm_version',['../structeosio_1_1code__hash__result_a3c9159cb77ce8d15b1a0e5bfe73ffcbb.html#a3c9159cb77ce8d15b1a0e5bfe73ffcbb',1,'eosio::code_hash_result']]] +]; diff --git a/docs/cdt/search/all_16.html b/docs/cdt/search/all_16.html new file mode 100644 index 000000000..0ffbb989e --- /dev/null +++ b/docs/cdt/search/all_16.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_16.js b/docs/cdt/search/all_16.js new file mode 100644 index 000000000..683a3ec76 --- /dev/null +++ b/docs/cdt/search/all_16.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['weight_0',['weight',['../structeosio_1_1key__weight_a78bc9eff39c12ee18ba27206967c00a0.html#a78bc9eff39c12ee18ba27206967c00a0',1,'eosio::key_weight']]], + ['word_5ft_1',['word_t',['../classeosio_1_1fixed__bytes_a33cae440afac79b5a925ac1eab43d41b.html#a33cae440afac79b5a925ac1eab43d41b',1,'eosio::fixed_bytes']]], + ['wrap_5fsecondary_5farray_5ftype_2',['WRAP_SECONDARY_ARRAY_TYPE',['../multi__index_8hpp_a522b8927626c841da1e6cc3a292d5913.html#a522b8927626c841da1e6cc3a292d5913',1,'multi_index.hpp']]], + ['wrap_5fsecondary_5fsimple_5ftype_3',['WRAP_SECONDARY_SIMPLE_TYPE',['../multi__index_8hpp_a44e11d95000af02139eda2f0dd62f965.html#a44e11d95000af02139eda2f0dd62f965',1,'multi_index.hpp']]], + ['write_4',['write',['../classeosio_1_1datastream_a1e42133f6f57a8c89e1db04abe44b342.html#a1e42133f6f57a8c89e1db04abe44b342',1,'eosio::datastream::write(const char *d, size_t s)'],['../classeosio_1_1datastream_ae468391ad509e1b5bd2a9c7332f4802c.html#ae468391ad509e1b5bd2a9c7332f4802c',1,'eosio::datastream::write(char d)'],['../classeosio_1_1datastream_a4842d71330f2f682087ae17cc03d00f4.html#a4842d71330f2f682087ae17cc03d00f4',1,'eosio::datastream::write(const void *d, size_t s)'],['../classeosio_1_1datastream_3_01size__t_01_4_a3c2ca245c9f33549505ea7886a1d3ecf.html#a3c2ca245c9f33549505ea7886a1d3ecf',1,'eosio::datastream< size_t >::write(const char *, size_t s)'],['../classeosio_1_1datastream_3_01size__t_01_4_a7b004570bf9e621b2ee8aaa12f3a2dc7.html#a7b004570bf9e621b2ee8aaa12f3a2dc7',1,'eosio::datastream< size_t >::write(char)'],['../classeosio_1_1datastream_3_01size__t_01_4_af17849ce270d8c7ed0234b9ad5d9afc6.html#af17849ce270d8c7ed0234b9ad5d9afc6',1,'eosio::datastream< size_t >::write(const void *, size_t s)']]], + ['write_5fas_5fstring_5',['write_as_string',['../structeosio_1_1asset_a5e90d7716bca208014477a1e9c9af7dc.html#a5e90d7716bca208014477a1e9c9af7dc',1,'eosio::asset::write_as_string()'],['../structeosio_1_1name_a3babe141d965ae3c1ae0ec31f417f4b1.html#a3babe141d965ae3c1ae0ec31f417f4b1',1,'eosio::name::write_as_string()'],['../classeosio_1_1symbol__code_a65ea077da3315b0a94ad0e9478911efc.html#a65ea077da3315b0a94ad0e9478911efc',1,'eosio::symbol_code::write_as_string()']]], + ['write_5fdecimal_6',['write_decimal',['../namespaceeosio_a0620d4ec6f522f17350db97ac3c14840.html#a0620d4ec6f522f17350db97ac3c14840',1,'eosio']]] +]; diff --git a/docs/cdt/search/all_17.html b/docs/cdt/search/all_17.html new file mode 100644 index 000000000..0522a1820 --- /dev/null +++ b/docs/cdt/search/all_17.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_17.js b/docs/cdt/search/all_17.js new file mode 100644 index 000000000..ee076c823 --- /dev/null +++ b/docs/cdt/search/all_17.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['x_0',['x',['../structeosio_1_1ec__point_ac0ce980f3a4f3a910ba016449928d12e.html#ac0ce980f3a4f3a910ba016449928d12e',1,'eosio::ec_point::x()'],['../structeosio_1_1ec__point__view_a246d1354267f9229da09910aebed17a3.html#a246d1354267f9229da09910aebed17a3',1,'eosio::ec_point_view::x()']]] +]; diff --git a/docs/cdt/search/all_18.html b/docs/cdt/search/all_18.html new file mode 100644 index 000000000..c28c36924 --- /dev/null +++ b/docs/cdt/search/all_18.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_18.js b/docs/cdt/search/all_18.js new file mode 100644 index 000000000..168b9b629 --- /dev/null +++ b/docs/cdt/search/all_18.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y_0',['y',['../structeosio_1_1ec__point_ae2a5451275a6e0f0bc24cce013c1df1d.html#ae2a5451275a6e0f0bc24cce013c1df1d',1,'eosio::ec_point::y()'],['../structeosio_1_1ec__point__view_ab8917551a1275db02a2faf141ef2c8b7.html#ab8917551a1275db02a2faf141ef2c8b7',1,'eosio::ec_point_view::y()']]] +]; diff --git a/docs/cdt/search/all_19.html b/docs/cdt/search/all_19.html new file mode 100644 index 000000000..474993bb4 --- /dev/null +++ b/docs/cdt/search/all_19.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_19.js b/docs/cdt/search/all_19.js new file mode 100644 index 000000000..1aaaa236e --- /dev/null +++ b/docs/cdt/search/all_19.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['актив_0',['Актив',['../group__asset.html',1,'']]] +]; diff --git a/docs/cdt/search/all_1a.html b/docs/cdt/search/all_1a.html new file mode 100644 index 000000000..917dc11ce --- /dev/null +++ b/docs/cdt/search/all_1a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_1a.js b/docs/cdt/search/all_1a.js new file mode 100644 index 000000000..59cf9cdbf --- /dev/null +++ b/docs/cdt/search/all_1a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['время_0',['Время',['../group__time.html',1,'']]] +]; diff --git a/docs/cdt/search/all_1b.html b/docs/cdt/search/all_1b.html new file mode 100644 index 000000000..70ebfb157 --- /dev/null +++ b/docs/cdt/search/all_1b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_1b.js b/docs/cdt/search/all_1b.js new file mode 100644 index 000000000..af5725108 --- /dev/null +++ b/docs/cdt/search/all_1b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['группа_20безопасности_0',['Группа безопасности',['../group__security__group.html',1,'']]] +]; diff --git a/docs/cdt/search/all_1c.html b/docs/cdt/search/all_1c.html new file mode 100644 index 000000000..d1406783b --- /dev/null +++ b/docs/cdt/search/all_1c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_1c.js b/docs/cdt/search/all_1c.js new file mode 100644 index 000000000..4371d29e5 --- /dev/null +++ b/docs/cdt/search/all_1c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['действие_0',['Действие',['../group__action.html',1,'']]], + ['диспетчер_20_28dispatcher_29_1',['Диспетчер (Dispatcher)',['../group__dispatcher.html',1,'']]] +]; diff --git a/docs/cdt/search/all_1d.html b/docs/cdt/search/all_1d.html new file mode 100644 index 000000000..6b0177df7 --- /dev/null +++ b/docs/cdt/search/all_1d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_1d.js b/docs/cdt/search/all_1d.js new file mode 100644 index 000000000..5393baf1a --- /dev/null +++ b/docs/cdt/search/all_1d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['игнорирование_20типа_0',['Игнорирование типа',['../group__ignore.html',1,'']]], + ['имя_1',['Имя',['../group__name.html',1,'']]] +]; diff --git a/docs/cdt/search/all_1e.html b/docs/cdt/search/all_1e.html new file mode 100644 index 000000000..df80854c6 --- /dev/null +++ b/docs/cdt/search/all_1e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_1e.js b/docs/cdt/search/all_1e.js new file mode 100644 index 000000000..b9bfbc55e --- /dev/null +++ b/docs/cdt/search/all_1e.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['ключ_20производителя_0',['Ключ производителя',['../group__producer__key.html',1,'']]], + ['консоль_1',['Консоль',['../group__console.html',1,'']]], + ['контракт_20_28contract_29_2',['Контракт (Contract)',['../group__contract.html',1,'']]], + ['криптография_3',['Криптография',['../group__crypto.html',1,'']]] +]; diff --git a/docs/cdt/search/all_1f.html b/docs/cdt/search/all_1f.html new file mode 100644 index 000000000..1018c4335 --- /dev/null +++ b/docs/cdt/search/all_1f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_1f.js b/docs/cdt/search/all_1f.js new file mode 100644 index 000000000..bd817beca --- /dev/null +++ b/docs/cdt/search/all_1f.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['массив_20байт_20фиксированного_20размера_0',['Массив байт фиксированного размера',['../group__fixed__bytes.html',1,'']]], + ['многоиндексная_20таблица_20_28multi_20index_29_1',['Многоиндексная таблица (Multi Index)',['../group__multiindex.html',1,'']]] +]; diff --git a/docs/cdt/search/all_2.html b/docs/cdt/search/all_2.html new file mode 100644 index 000000000..ae63c3f30 --- /dev/null +++ b/docs/cdt/search/all_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_2.js b/docs/cdt/search/all_2.js new file mode 100644 index 000000000..af8102546 --- /dev/null +++ b/docs/cdt/search/all_2.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['back_0',['back',['../classeosio_1_1string_acf5eac6989461a16465ba449c449e3fc.html#acf5eac6989461a16465ba449c449e3fc',1,'eosio::string::back()'],['../classeosio_1_1string_a7e00ad0b11736822e954ca0aaace79f4.html#a7e00ad0b11736822e954ca0aaace79f4',1,'eosio::string::back() const']]], + ['base_5flen_1',['base_len',['../namespaceeosio_1_1internal__use__do__not__use_a8b7a014794e4538ddc62ad7773b10078.html#a8b7a014794e4538ddc62ad7773b10078',1,'eosio::internal_use_do_not_use']]], + ['base_5fper_5ftransaction_5fnet_5fusage_2',['base_per_transaction_net_usage',['../structeosio_1_1blockchain__parameters_a944e5020392feb3aa43452db31dd6c53.html#a944e5020392feb3aa43452db31dd6c53',1,'eosio::blockchain_parameters']]], + ['begin_3',['begin',['../classeosio_1_1string_a480fa3a83a379532c4caf2ccbf5d7487.html#a480fa3a83a379532c4caf2ccbf5d7487',1,'eosio::string::begin()'],['../group__multiindex_ga060b08a9da300e3a4ab669b35f07c9bc.html#ga060b08a9da300e3a4ab669b35f07c9bc',1,'eosio::multi_index::begin()']]], + ['bigint_4',['bigint',['../group__crypto_ga3abd9c96d56e0547488cae1cd186cc6f.html#ga3abd9c96d56e0547488cae1cd186cc6f',1,'eosio']]], + ['binary_5fextension_2ehpp_5',['binary_extension.hpp',['../binary__extension_8hpp.html',1,'']]], + ['blake2_5ff_6',['blake2_f',['../group__crypto_gabd02565be968568862b0af73120e9831.html#gabd02565be968568862b0af73120e9831',1,'eosio::blake2_f(uint32_t rounds, const std::vector< char > &state, const std::vector< char > &msg, const std::vector< char > &t0_offset, const std::vector< char > &t1_offset, bool final, std::vector< char > &result)'],['../group__crypto_ga64df5cb191f12821722e306229ed19aa.html#ga64df5cb191f12821722e306229ed19aa',1,'eosio::blake2_f(uint32_t rounds, const char *state, uint32_t state_len, const char *msg, uint32_t msg_len, const char *t0_offset, uint32_t t0_len, const char *t1_offset, uint32_t t1_len, int32_t final, char *result, uint32_t result_len)']]], + ['block_5fnum_5ft_7',['block_num_t',['../namespaceeosio_abdbab72cb6a9b99ab917c317a385d28d.html#abdbab72cb6a9b99ab917c317a385d28d',1,'eosio']]], + ['block_5fsigning_5fauthority_8',['block_signing_authority',['../group__producer__authority_gac9f7f8b14b8fcc608e0af99ac46a2c98.html#gac9f7f8b14b8fcc608e0af99ac46a2c98',1,'eosio']]], + ['block_5fsigning_5fauthority_5fv0_9',['block_signing_authority_v0',['../structeosio_1_1block__signing__authority__v0.html',1,'eosio']]], + ['block_5fsigning_5fkey_10',['block_signing_key',['../group__producer__key_gaf5899a46ea38009f20643792af38d26b.html#gaf5899a46ea38009f20643792af38d26b',1,'eosio::producer_key']]], + ['block_5ftimestamp_11',['block_timestamp',['../classeosio_1_1block__timestamp_aa719feec777894d3612305fcdf579d1e.html#aa719feec777894d3612305fcdf579d1e',1,'eosio::block_timestamp::block_timestamp(uint32_t s=0)'],['../classeosio_1_1block__timestamp_a72934b4290a476785f852983608263b0.html#a72934b4290a476785f852983608263b0',1,'eosio::block_timestamp::block_timestamp(const time_point &t)'],['../classeosio_1_1block__timestamp_aae1af00ad48d215fbd72d3e2339655bf.html#aae1af00ad48d215fbd72d3e2339655bf',1,'eosio::block_timestamp::block_timestamp(const time_point_sec &t)'],['../classeosio_1_1block__timestamp.html',1,'eosio::block_timestamp']]], + ['block_5ftimestamp_5ftype_12',['block_timestamp_type',['../group__time_ga4f8fa835ef0dc341addb6e51d0d840b3.html#ga4f8fa835ef0dc341addb6e51d0d840b3',1,'eosio']]], + ['blockchain_5fparameters_13',['blockchain_parameters',['../structeosio_1_1blockchain__parameters.html',1,'eosio']]], + ['buffer_5fsize_14',['buffer_size',['../namespaceeosio_1_1internal__use__do__not__use_ae6703efb9c09cd5c00bf70eee2bbd9e0.html#ae6703efb9c09cd5c00bf70eee2bbd9e0',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/all_20.html b/docs/cdt/search/all_20.html new file mode 100644 index 000000000..83c39389f --- /dev/null +++ b/docs/cdt/search/all_20.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_20.js b/docs/cdt/search/all_20.js new file mode 100644 index 000000000..ec94faec6 --- /dev/null +++ b/docs/cdt/search/all_20.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['полномочие_20производителя_0',['Полномочие производителя',['../group__producer__authority.html',1,'']]], + ['поток_20данных_1',['Поток данных',['../group__datastream.html',1,'']]], + ['привилегированный_20api_2',['Привилегированный API',['../group__privileged.html',1,'']]] +]; diff --git a/docs/cdt/search/all_21.html b/docs/cdt/search/all_21.html new file mode 100644 index 000000000..43efcfa95 --- /dev/null +++ b/docs/cdt/search/all_21.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_21.js b/docs/cdt/search/all_21.js new file mode 100644 index 000000000..9e4053697 --- /dev/null +++ b/docs/cdt/search/all_21.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['расписание_20производителей_0',['Расписание производителей',['../group__producer__schedule.html',1,'']]] +]; diff --git a/docs/cdt/search/all_22.html b/docs/cdt/search/all_22.html new file mode 100644 index 000000000..60dccbc41 --- /dev/null +++ b/docs/cdt/search/all_22.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_22.js b/docs/cdt/search/all_22.js new file mode 100644 index 000000000..ebe692ed2 --- /dev/null +++ b/docs/cdt/search/all_22.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['сериализация_0',['Сериализация',['../group__serialize.html',1,'']]], + ['символ_1',['Символ',['../group__symbol.html',1,'']]], + ['система_2',['Система',['../group__system.html',1,'']]] +]; diff --git a/docs/cdt/search/all_23.html b/docs/cdt/search/all_23.html new file mode 100644 index 000000000..8ccc4227f --- /dev/null +++ b/docs/cdt/search/all_23.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_23.js b/docs/cdt/search/all_23.js new file mode 100644 index 000000000..723afd0fb --- /dev/null +++ b/docs/cdt/search/all_23.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['типы_0',['Типы',['../group__types.html',1,'']]], + ['транзакция_1',['Транзакция',['../group__transaction.html',1,'']]] +]; diff --git a/docs/cdt/search/all_24.html b/docs/cdt/search/all_24.html new file mode 100644 index 000000000..237eddad4 --- /dev/null +++ b/docs/cdt/search/all_24.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_24.js b/docs/cdt/search/all_24.js new file mode 100644 index 000000000..0b879214a --- /dev/null +++ b/docs/cdt/search/all_24.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['целое_20переменной_20длины_0',['Целое переменной длины',['../group__varint.html',1,'']]] +]; diff --git a/docs/cdt/search/all_3.html b/docs/cdt/search/all_3.html new file mode 100644 index 000000000..b082068cb --- /dev/null +++ b/docs/cdt/search/all_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_3.js b/docs/cdt/search/all_3.js new file mode 100644 index 000000000..aec0ee216 --- /dev/null +++ b/docs/cdt/search/all_3.js @@ -0,0 +1,47 @@ +var searchData= +[ + ['c_5fstr_0',['c_str',['../classeosio_1_1string_a91c0860a7e6b0c176f64ea9ee5cdff59.html#a91c0860a7e6b0c176f64ea9ee5cdff59',1,'eosio::string::c_str()'],['../classeosio_1_1rope_ab22f02eea1291499396242f9653db777.html#ab22f02eea1291499396242f9653db777',1,'eosio::rope::c_str()'],['../structeosio_1_1impl_1_1str__t_a1dd376f2e0c96d51fe51c5de1b2ce31b.html#a1dd376f2e0c96d51fe51c5de1b2ce31b',1,'eosio::impl::str_t::c_str()']]], + ['call_1',['call',['../structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4_a43a9a1084e226ca5e3b8f306174a18ef.html#a43a9a1084e226ca5e3b8f306174a18ef',1,'eosio::inline_dispatcher< void(T::*)(Args...), Name >::call(name code, std::vector< permission_level > perms, std::tuple< Args... > args)'],['../structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4_a8ccabfd180270a8128685eeaea33c75a.html#a8ccabfd180270a8128685eeaea33c75a',1,'eosio::inline_dispatcher< void(T::*)(Args...), Name >::call(name code, const permission_level &perm, std::tuple< Args... > args)']]], + ['cancel_5fdeferred_2',['cancel_deferred',['../group__transaction_ga78a95bee813140ef77b2b8641c472cfa.html#ga78a95bee813140ef77b2b8641c472cfa',1,'eosio']]], + ['capacity_3',['capacity',['../classeosio_1_1string_a67e73c263a77517ecce1d1cceb0089ee.html#a67e73c263a77517ecce1d1cceb0089ee',1,'eosio::string']]], + ['cbegin_4',['cbegin',['../group__multiindex_ga36ad6b1c1013b6f753660b334de96aef.html#ga36ad6b1c1013b6f753660b334de96aef',1,'eosio::multi_index::cbegin()'],['../classeosio_1_1string_ab9f769b1a15bd18493e3200238fa656f.html#ab9f769b1a15bd18493e3200238fa656f',1,'eosio::string::cbegin()']]], + ['cdt_20_28contract_20development_20toolkit_29_5',['CDT (Contract Development Toolkit)',['../index.html',1,'']]], + ['cdt_5freflect_6',['CDT_REFLECT',['../structeosio_1_1name_a12f96935b2753bbd4fd3117039dae003.html#a12f96935b2753bbd4fd3117039dae003',1,'eosio::name::CDT_REFLECT()'],['../structeosio_1_1code__hash__result_ac41b77f5fb3e7ca7004af3701c411976.html#ac41b77f5fb3e7ca7004af3701c411976',1,'eosio::code_hash_result::CDT_REFLECT()'],['../structeosio_1_1producer__key_a7c39bd53db1afc7e683a4e0089cd156b.html#a7c39bd53db1afc7e683a4e0089cd156b',1,'eosio::producer_key::CDT_REFLECT()'],['../structeosio_1_1producer__schedule_aad91c3466de8f18794c629a5b5a1700d.html#aad91c3466de8f18794c629a5b5a1700d',1,'eosio::producer_schedule::CDT_REFLECT()'],['../structeosio_1_1key__weight_a85634275ee0cdb26b0e1c7be597b95c0.html#a85634275ee0cdb26b0e1c7be597b95c0',1,'eosio::key_weight::CDT_REFLECT()'],['../structeosio_1_1block__signing__authority__v0_ac69f3c98104be7264396dd0e9af3706f.html#ac69f3c98104be7264396dd0e9af3706f',1,'eosio::block_signing_authority_v0::CDT_REFLECT()'],['../structeosio_1_1producer__authority_ab4890311700654d7b4b23c4352a932e0.html#ab4890311700654d7b4b23c4352a932e0',1,'eosio::producer_authority::CDT_REFLECT()'],['../structeosio_1_1security__group_afb9b03dbcd61b6fad93b37b10ca2504a.html#afb9b03dbcd61b6fad93b37b10ca2504a',1,'eosio::security_group::CDT_REFLECT()']]], + ['cend_7',['cend',['../classeosio_1_1string_a6a25a174666da578f25cae60943be262.html#a6a25a174666da578f25cae60943be262',1,'eosio::string::cend()'],['../group__multiindex_gaece639944fa9031debbd984bbd42485a.html#gaece639944fa9031debbd984bbd42485a',1,'eosio::multi_index::cend()']]], + ['char_5fto_5fvalue_8',['char_to_value',['../structeosio_1_1name_a051cf40d16909e5c352cf85edb15fc9c.html#a051cf40d16909e5c352cf85edb15fc9c',1,'eosio::name']]], + ['check_9',['check',['../group__system_ga919983993e7c2b18dcb253e3a8ef33e4.html#ga919983993e7c2b18dcb253e3a8ef33e4',1,'eosio::check(bool pred, const char *msg)'],['../group__system_gaaa7adb3f6c40df0e974eab5f84e1377b.html#gaaa7adb3f6c40df0e974eab5f84e1377b',1,'eosio::check(bool pred, const std::string &msg)'],['../group__system_ga61e4624ef8320a0d9918cf247df4df90.html#ga61e4624ef8320a0d9918cf247df4df90',1,'eosio::check(bool pred, std::string &&msg)'],['../group__system_gad245a249b8721374fe09819a00a86906.html#gad245a249b8721374fe09819a00a86906',1,'eosio::check(bool pred, const char *msg, size_t n)'],['../group__system_ga076f987fe64de4738b5d2f4381150253.html#ga076f987fe64de4738b5d2f4381150253',1,'eosio::check(bool pred, const std::string &msg, size_t n)'],['../group__system_ga54ad844cfe9f99f2c7cfcc935559e633.html#ga54ad844cfe9f99f2c7cfcc935559e633',1,'eosio::check(bool pred, std::string_view msg)'],['../group__system_ga2f6537af230517a619f07727f6ff33a5.html#ga2f6537af230517a619f07727f6ff33a5',1,'eosio::check(bool pred, uint64_t code)']]], + ['check_2ehpp_10',['check.hpp',['../check_8hpp.html',1,'']]], + ['clear_11',['clear',['../classeosio_1_1string_aac90a49eab4c1c047f40bf7e34fb46c9.html#aac90a49eab4c1c047f40bf7e34fb46c9',1,'eosio::string']]], + ['code_12',['code',['../namespaceeosio_1_1internal__use__do__not__use_a810409b760301c0d32156f81dc2da130.html#a810409b760301c0d32156f81dc2da130',1,'eosio::internal_use_do_not_use::code()'],['../classeosio_1_1symbol_a559c818f42e9d0df1a4c4823d7c6ecd8.html#a559c818f42e9d0df1a4c4823d7c6ecd8',1,'eosio::symbol::code()']]], + ['code_5fhash_13',['code_hash',['../structeosio_1_1code__hash__result_aac6982ead02d5a1cd8a1213155b87857.html#aac6982ead02d5a1cd8a1213155b87857',1,'eosio::code_hash_result']]], + ['code_5fhash_5fresult_14',['code_hash_result',['../structeosio_1_1code__hash__result.html',1,'eosio']]], + ['code_5fname_15',['code_name',['../structeosio_1_1action__wrapper_a8bbb70cfa7ca6965bed97142c3e1c10d.html#a8bbb70cfa7ca6965bed97142c3e1c10d',1,'eosio::action_wrapper::code_name()'],['../structeosio_1_1variant__action__wrapper_a171691c13edf4f6269bb1eec44e290f3.html#a171691c13edf4f6269bb1eec44e290f3',1,'eosio::variant_action_wrapper::code_name()']]], + ['code_5fsequence_16',['code_sequence',['../structeosio_1_1code__hash__result_aaf166f0f802cc87adc9f5986e191d051.html#aaf166f0f802cc87adc9f5986e191d051',1,'eosio::code_hash_result']]], + ['concat_5ft_17',['concat_t',['../structeosio_1_1impl_1_1concat__t.html',1,'eosio::impl']]], + ['const_5fiterator_18',['const_iterator',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a6d0b7e7cb0410b12d4333e5b53eb9ea8.html#a6d0b7e7cb0410b12d4333e5b53eb9ea8',1,'eosio::multi_index::index::const_iterator::const_iterator()'],['../structeosio_1_1multi__index_1_1const__iterator.html',1,'eosio::multi_index< TableName, T, Indices >::const_iterator'],['../structeosio_1_1multi__index_1_1index_1_1const__iterator.html',1,'eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator']]], + ['const_5fmem_5ffun_19',['const_mem_fun',['../structeosio_1_1const__mem__fun.html',1,'eosio']]], + ['const_5fpack_20',['const_pack',['../namespaceeosio_1_1detail_a76123ee6d91ba89e19c83e1ef453fc1d.html#a76123ee6d91ba89e19c83e1ef453fc1d',1,'eosio::detail']]], + ['const_5fpack_5fhelper_21',['const_pack_helper',['../namespaceeosio_1_1detail_a421d953ed45f8e85368d906824cc1b76.html#a421d953ed45f8e85368d906824cc1b76',1,'eosio::detail']]], + ['const_5freverse_5fiterator_22',['const_reverse_iterator',['../classeosio_1_1multi__index_ab46b850d4d0d3da39cd96e77ec10c51e.html#ab46b850d4d0d3da39cd96e77ec10c51e',1,'eosio::multi_index']]], + ['constants_23',['constants',['../structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html#ad04dd8d771430edeb499c9d03bc9bb60',1,'eosio::indexed_by']]], + ['context_2ehpp_24',['context.hpp',['../context_8hpp.html',1,'']]], + ['context_5ffree_5factions_25',['context_free_actions',['../classeosio_1_1transaction_a38263b68fda9925f2c6472777a04179c.html#a38263b68fda9925f2c6472777a04179c',1,'eosio::transaction']]], + ['context_5ffree_5fdiscount_5fnet_5fusage_5fden_26',['context_free_discount_net_usage_den',['../structeosio_1_1blockchain__parameters_a34aa31b25c026f190097d3b66b5d8b28.html#a34aa31b25c026f190097d3b66b5d8b28',1,'eosio::blockchain_parameters']]], + ['context_5ffree_5fdiscount_5fnet_5fusage_5fnum_27',['context_free_discount_net_usage_num',['../structeosio_1_1blockchain__parameters_a8ee23aba0c372b7d62b18e749e0e8798.html#a8ee23aba0c372b7d62b18e749e0e8798',1,'eosio::blockchain_parameters']]], + ['contract_28',['contract',['../structeosio_1_1extended__asset_acac503620c8c59864b065360fb50868b.html#acac503620c8c59864b065360fb50868b',1,'eosio::extended_asset::contract()'],['../classeosio_1_1contract_acb803b9d14bdc26811cdaaf98804e105.html#acb803b9d14bdc26811cdaaf98804e105',1,'eosio::contract::contract()']]], + ['contract_29',['CONTRACT',['../group__contract_ga3dd8a1be2fbf980ee66578476244d85f.html#ga3dd8a1be2fbf980ee66578476244d85f',1,'contract.hpp']]], + ['contract_30',['contract',['../classeosio_1_1contract.html',1,'eosio']]], + ['contract_2ehpp_31',['contract.hpp',['../contract_8hpp.html',1,'']]], + ['convert_5fto_5fkey_32',['convert_to_key',['../namespaceeosio_a0e3c662ea73d93bdf6f2a4a6c7ab3ee9.html#a0e3c662ea73d93bdf6f2a4a6c7ab3ee9',1,'eosio::convert_to_key(const T &t, key_type &bin)'],['../namespaceeosio_a0a8f491c6e9e9e3c629e6439b7b594a8.html#a0a8f491c6e9e9e3c629e6439b7b594a8',1,'eosio::convert_to_key(const T &t)']]], + ['copy_33',['copy',['../classeosio_1_1string_ab276b4902cb95bfeb853eee8684c0916.html#ab276b4902cb95bfeb853eee8684c0916',1,'eosio::string']]], + ['cpu_5fweight_34',['cpu_weight',['../namespaceeosio_1_1internal__use__do__not__use_a28632f86cebf874025ec85cf5b9d0d84.html#a28632f86cebf874025ec85cf5b9d0d84',1,'eosio::internal_use_do_not_use']]], + ['crbegin_35',['crbegin',['../group__multiindex_gabe296816f75cdb69e6698724e7b0c29d.html#gabe296816f75cdb69e6698724e7b0c29d',1,'eosio::multi_index']]], + ['crend_36',['crend',['../group__multiindex_ga6ce680bcec3a391e0ad89a1cd1143231.html#ga6ce680bcec3a391e0ad89a1cd1143231',1,'eosio::multi_index']]], + ['crypto_2ehpp_37',['crypto.hpp',['../crypto_8hpp.html',1,'']]], + ['crypto_5fext_2ehpp_38',['crypto_ext.hpp',['../crypto__ext_8hpp.html',1,'']]], + ['current_5fblock_5fnumber_39',['current_block_number',['../group__system_gad7e3e2102562d6671dd70bdac6feda0c.html#gad7e3e2102562d6671dd70bdac6feda0c',1,'eosio']]], + ['current_5fblock_5ftime_40',['current_block_time',['../group__system_gada0c9f4292996498bc781f2f52255086.html#gada0c9f4292996498bc781f2f52255086',1,'eosio']]], + ['current_5fcontext_5fcontract_41',['current_context_contract',['../namespaceeosio_af30ec535f8c8483b8779abcfbf73275e.html#af30ec535f8c8483b8779abcfbf73275e',1,'eosio']]], + ['current_5freceiver_42',['current_receiver',['../namespaceeosio_a1fe03e054c95360f2dd4e563aa49695b.html#a1fe03e054c95360f2dd4e563aa49695b',1,'eosio']]], + ['current_5ftime_5fpoint_43',['current_time_point',['../group__system_gad5f4701ab1b418fe1f1558e199047e35.html#gad5f4701ab1b418fe1f1558e199047e35',1,'eosio']]] +]; diff --git a/docs/cdt/search/all_4.html b/docs/cdt/search/all_4.html new file mode 100644 index 000000000..e5253353f --- /dev/null +++ b/docs/cdt/search/all_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_4.js b/docs/cdt/search/all_4.js new file mode 100644 index 000000000..1263574d1 --- /dev/null +++ b/docs/cdt/search/all_4.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['data_0',['data',['../structeosio_1_1action_a51845c4ffbe1c97fc8d05115d05a3ab1.html#a51845c4ffbe1c97fc8d05115d05a3ab1',1,'eosio::action::data()'],['../classeosio_1_1fixed__bytes_a08cee20b3d10e105992a915b35721eb7.html#a08cee20b3d10e105992a915b35721eb7',1,'eosio::fixed_bytes::data()'],['../classeosio_1_1string_a6cd7a8bb3495205f9cd7a3c56527ea67.html#a6cd7a8bb3495205f9cd7a3c56527ea67',1,'eosio::string::data()'],['../classeosio_1_1string_a803e3faedd3eb97e0db9847824a14d80.html#a803e3faedd3eb97e0db9847824a14d80',1,'eosio::string::data() const']]], + ['data_5fas_1',['data_as',['../structeosio_1_1action_ab10f4621dd9e24a33642d8fb240b1a01.html#ab10f4621dd9e24a33642d8fb240b1a01',1,'eosio::action']]], + ['data_5flen_2',['data_len',['../namespaceeosio_1_1internal__use__do__not__use_a2ff751e455a60d35e382a8736289a519.html#a2ff751e455a60d35e382a8736289a519',1,'eosio::internal_use_do_not_use']]], + ['datalen_3',['datalen',['../namespaceeosio_1_1internal__use__do__not__use_afe6f9d73dd3f9437b6244774206ac8fb.html#afe6f9d73dd3f9437b6244774206ac8fb',1,'eosio::internal_use_do_not_use']]], + ['datastream_4',['datastream',['../classeosio_1_1datastream_a72befc5c1f51a601ad07e7c8e61856f4.html#a72befc5c1f51a601ad07e7c8e61856f4',1,'eosio::datastream::datastream()'],['../classeosio_1_1datastream_3_01size__t_01_4_abf5e113ace4a6bfa309fcecf3fc49f63.html#abf5e113ace4a6bfa309fcecf3fc49f63',1,'eosio::datastream< size_t >::datastream()'],['../classeosio_1_1datastream.html',1,'eosio::datastream< T >']]], + ['datastream_2ehpp_5',['datastream.hpp',['../datastream_8hpp.html',1,'']]], + ['datastream_3c_20const_20char_20_2a_20_3e_6',['datastream< const char * >',['../classeosio_1_1datastream.html',1,'eosio']]], + ['datastream_3c_20size_5ft_20_3e_7',['datastream< size_t >',['../classeosio_1_1datastream_3_01size__t_01_4.html',1,'eosio']]], + ['days_8',['days',['../namespaceeosio_ae1538fa412576d5b367a62c2f0e38730.html#ae1538fa412576d5b367a62c2f0e38730',1,'eosio']]], + ['deferred_5ftrx_5fexpiration_5fwindow_9',['deferred_trx_expiration_window',['../structeosio_1_1blockchain__parameters_a8cf445a327ffb230b9751f3b6764efaa.html#a8cf445a327ffb230b9751f3b6764efaa',1,'eosio::blockchain_parameters']]], + ['delay_5fsec_10',['delay_sec',['../classeosio_1_1transaction__header_adbe5ee5f38a82db68162188c49d62f39.html#adbe5ee5f38a82db68162188c49d62f39',1,'eosio::transaction_header']]], + ['deserialize_11',['deserialize',['../namespaceeosio_a11247ca58ee8acf29f3486c0e2772788.html#a11247ca58ee8acf29f3486c0e2772788',1,'eosio']]], + ['dig_12',['dig',['../namespaceeosio_1_1internal__use__do__not__use_aabb8743640fb7b223160bb05c913b3e2.html#aabb8743640fb7b223160bb05c913b3e2',1,'eosio::internal_use_do_not_use']]], + ['dig_5flen_13',['dig_len',['../namespaceeosio_1_1internal__use__do__not__use_a8cf455f7e4857671db549f53ec502c95.html#a8cf455f7e4857671db549f53ec502c95',1,'eosio::internal_use_do_not_use']]], + ['dispatch_14',['dispatch',['../group__dispatcher_ga289285490058d17de4a6a052b52dd680.html#ga289285490058d17de4a6a052b52dd680',1,'eosio']]], + ['dispatch_5finline_15',['dispatch_inline',['../namespaceeosio_a0917f40ecb384d7934f7983351b397ce.html#a0917f40ecb384d7934f7983351b397ce',1,'eosio']]], + ['dispatcher_2ehpp_16',['dispatcher.hpp',['../dispatcher_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/all_5.html b/docs/cdt/search/all_5.html new file mode 100644 index 000000000..d151403cd --- /dev/null +++ b/docs/cdt/search/all_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_5.js b/docs/cdt/search/all_5.js new file mode 100644 index 000000000..347ce07d7 --- /dev/null +++ b/docs/cdt/search/all_5.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['_5fdatastream_5fdetail_0',['_datastream_detail',['../namespaceeosio_1_1__datastream__detail.html',1,'eosio']]], + ['_5fmulti_5findex_5fdetail_1',['_multi_index_detail',['../namespaceeosio_1_1__multi__index__detail.html',1,'eosio']]], + ['detail_2',['detail',['../namespaceeosio_1_1detail.html',1,'eosio']]], + ['ec_5fpoint_3',['ec_point',['../structeosio_1_1ec__point_ab8a58360bffb655455dbe52ca73f5047.html#ab8a58360bffb655455dbe52ca73f5047',1,'eosio::ec_point::ec_point(std::vector< char > &x_, std::vector< char > &y_)'],['../structeosio_1_1ec__point_ad7a71307ec985cd0208b5039050a024b.html#ad7a71307ec985cd0208b5039050a024b',1,'eosio::ec_point::ec_point(std::vector< char > &p)'],['../structeosio_1_1ec__point.html',1,'eosio::ec_point< Size >']]], + ['ec_5fpoint_5fview_4',['ec_point_view',['../structeosio_1_1ec__point__view_afefa3f51502d704de152914c137586a6.html#afefa3f51502d704de152914c137586a6',1,'eosio::ec_point_view::ec_point_view(const char *x_, uint32_t x_size, const char *y_, uint32_t y_size)'],['../structeosio_1_1ec__point__view_a219f776476a886286b805a038d50ae02.html#a219f776476a886286b805a038d50ae02',1,'eosio::ec_point_view::ec_point_view(const std::vector< char > &p)'],['../structeosio_1_1ec__point__view_ab2b81ba1368af5f272b0e325043f6742.html#ab2b81ba1368af5f272b0e325043f6742',1,'eosio::ec_point_view::ec_point_view(const ec_point< Size > &p)'],['../structeosio_1_1ec__point__view.html',1,'eosio::ec_point_view< Size >']]], + ['emplace_5',['emplace',['../group__multiindex_gab64fbf4dd04be357ec0cbbf125a3da5e.html#gab64fbf4dd04be357ec0cbbf125a3da5e',1,'eosio::multi_index']]], + ['empty_6',['empty',['../classeosio_1_1string_a153185b2a085cea1e6bf513cf66205d9.html#a153185b2a085cea1e6bf513cf66205d9',1,'eosio::string']]], + ['end_7',['end',['../classeosio_1_1string_a395ebf42a73b271ea68f9b8cb45bfdcf.html#a395ebf42a73b271ea68f9b8cb45bfdcf',1,'eosio::string::end()'],['../group__multiindex_ga748fcb4d6a08962ad8a7c92da359e3d7.html#ga748fcb4d6a08962ad8a7c92da359e3d7',1,'eosio::multi_index::end()']]], + ['eosio_8',['eosio',['../namespaceeosio.html',1,'']]], + ['eosio_2ehpp_9',['eosio.hpp',['../eosio_8hpp.html',1,'']]], + ['eosio_5fcontract_5fname_10',['eosio_contract_name',['../namespaceeosio_1_1internal__use__do__not__use_a795262482ae507e5517c19e1ddaa606f.html#a795262482ae507e5517c19e1ddaa606f',1,'eosio::internal_use_do_not_use']]], + ['eosio_5fdispatch_11',['EOSIO_DISPATCH',['../group__dispatcher_ga4c40fe6c9aa739424885e20ed613e545.html#ga4c40fe6c9aa739424885e20ed613e545',1,'dispatcher.hpp']]], + ['eosio_5fexit_12',['eosio_exit',['../group__system_ga956ded6d541ae9e454b446f0d5d0b24c.html#ga956ded6d541ae9e454b446f0d5d0b24c',1,'eosio']]], + ['eoslib_5freflect_5fmember_5fop_13',['EOSLIB_REFLECT_MEMBER_OP',['../serialize_8hpp_a6feed62c5d17dc8c6a94845f1ea59b0b.html#a6feed62c5d17dc8c6a94845f1ea59b0b',1,'serialize.hpp']]], + ['eoslib_5fserialize_14',['EOSLIB_SERIALIZE',['../group__serialize_gac39bf93bca023cc19379279456dac31f.html#gac39bf93bca023cc19379279456dac31f',1,'EOSLIB_SERIALIZE(): serialize.hpp'],['../structeosio_1_1code__hash__result_abff001c3c3671f6a82fa61136db62808.html#abff001c3c3671f6a82fa61136db62808',1,'eosio::code_hash_result::EOSLIB_SERIALIZE()']]], + ['eoslib_5fserialize_5fderived_15',['EOSLIB_SERIALIZE_DERIVED',['../group__serialize_gaca7a38eac7326c602930c79d2a25a602.html#gaca7a38eac7326c602930c79d2a25a602',1,'serialize.hpp']]], + ['erase_16',['erase',['../group__multiindex_gac5f84064eacb4265ad44f15cecebb4be.html#gac5f84064eacb4265ad44f15cecebb4be',1,'eosio::multi_index::erase(const T &obj)'],['../group__multiindex_gad28ac8d91e9af22cbbc12962a805d253.html#gad28ac8d91e9af22cbbc12962a805d253',1,'eosio::multi_index::erase(const_iterator itr)'],['../classeosio_1_1string_ad62910f1b924929fafcd862e8eb71e5b.html#ad62910f1b924929fafcd862e8eb71e5b',1,'eosio::string::erase()']]], + ['execute_5faction_17',['execute_action',['../group__dispatcher_ga8c4928c29096799ef6ddabf148dc9cf9.html#ga8c4928c29096799ef6ddabf148dc9cf9',1,'eosio']]], + ['exists_18',['exists',['../classeosio_1_1singleton_ae6eed2e5197e5b4216450e5940ab9141.html#ae6eed2e5197e5b4216450e5940ab9141',1,'eosio::singleton']]], + ['exp_19',['exp',['../namespaceeosio_1_1internal__use__do__not__use_a7688a54920b50f9e80249718bc0bb2e1.html#a7688a54920b50f9e80249718bc0bb2e1',1,'eosio::internal_use_do_not_use']]], + ['exp_5flen_20',['exp_len',['../namespaceeosio_1_1internal__use__do__not__use_a91ba4c6181c491d6312d505e61227273.html#a91ba4c6181c491d6312d505e61227273',1,'eosio::internal_use_do_not_use']]], + ['expiration_21',['expiration',['../classeosio_1_1transaction__header_a32a532f21d5a5eeadd892723d9171e05.html#a32a532f21d5a5eeadd892723d9171e05',1,'eosio::transaction_header::expiration()'],['../group__transaction_gaf1dda66d94fcc04a2b5fa7a8bffd75b0.html#gaf1dda66d94fcc04a2b5fa7a8bffd75b0',1,'eosio::expiration()']]], + ['exponent_22',['exponent',['../structeosio_1_1detail_1_1largest__power__helper_a3dc63aed3405df72b9e8ff0754caf945.html#a3dc63aed3405df72b9e8ff0754caf945',1,'eosio::detail::largest_power_helper::exponent()'],['../structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4_ad44725908985e509b1a693dfa8573ae5.html#ad44725908985e509b1a693dfa8573ae5',1,'eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >::exponent()'],['../structeosio_1_1detail_1_1largest__power_ab8c47a158bca2546f08a0373cbb37ebb.html#ab8c47a158bca2546f08a0373cbb37ebb',1,'eosio::detail::largest_power::exponent()']]], + ['extended_5fasset_23',['extended_asset',['../structeosio_1_1extended__asset.html',1,'eosio::extended_asset'],['../structeosio_1_1extended__asset_a7747448ddea804e84fe72decd40ee3a2.html#a7747448ddea804e84fe72decd40ee3a2',1,'eosio::extended_asset::extended_asset()=default'],['../structeosio_1_1extended__asset_a831a169f25c972af14a01e0305ab8d74.html#a831a169f25c972af14a01e0305ab8d74',1,'eosio::extended_asset::extended_asset(int64_t v, extended_symbol s)'],['../structeosio_1_1extended__asset_a29f3c5f054f754ab4fac481cce633682.html#a29f3c5f054f754ab4fac481cce633682',1,'eosio::extended_asset::extended_asset(asset a, name c)']]], + ['extended_5fsymbol_24',['extended_symbol',['../classeosio_1_1extended__symbol.html',1,'eosio::extended_symbol'],['../classeosio_1_1extended__symbol_a56dc99d1a5b4a6edb9366d2b3f64b4f7.html#a56dc99d1a5b4a6edb9366d2b3f64b4f7',1,'eosio::extended_symbol::extended_symbol()'],['../classeosio_1_1extended__symbol_aa9ebafeb8a32c6b0965de82f407a9730.html#aa9ebafeb8a32c6b0965de82f407a9730',1,'eosio::extended_symbol::extended_symbol(symbol s, name con)']]], + ['extension_25',['extension',['../group__transaction_gaaf3ea17209c6d47129b2b232aede5439.html#gaaf3ea17209c6d47129b2b232aede5439',1,'eosio']]], + ['extensions_5ftype_26',['extensions_type',['../group__transaction_ga19c346b66f7145a5336177ac3eb0849e.html#ga19c346b66f7145a5336177ac3eb0849e',1,'eosio']]], + ['extract_5fas_5fbyte_5farray_27',['extract_as_byte_array',['../classeosio_1_1fixed__bytes_a59c51be9c3779cd907b33af7d41d1d4c.html#a59c51be9c3779cd907b33af7d41d1d4c',1,'eosio::fixed_bytes']]], + ['impl_28',['impl',['../namespaceeosio_1_1impl.html',1,'eosio']]], + ['internal_5fuse_5fdo_5fnot_5fuse_29',['internal_use_do_not_use',['../namespaceeosio_1_1internal__use__do__not__use.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/all_6.html b/docs/cdt/search/all_6.html new file mode 100644 index 000000000..77a17a6d8 --- /dev/null +++ b/docs/cdt/search/all_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_6.js b/docs/cdt/search/all_6.js new file mode 100644 index 000000000..7c0821eff --- /dev/null +++ b/docs/cdt/search/all_6.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['final_0',['final',['../namespaceeosio_1_1internal__use__do__not__use_a841d16d09118f0268c4bbafced547818.html#a841d16d09118f0268c4bbafced547818',1,'eosio::internal_use_do_not_use']]], + ['find_1',['find',['../group__multiindex_ga93e51f6a53639f1a45c352f67f5ba3ae.html#ga93e51f6a53639f1a45c352f67f5ba3ae',1,'eosio::multi_index']]], + ['fixed_5fbytes_2',['fixed_bytes',['../classeosio_1_1fixed__bytes.html',1,'eosio::fixed_bytes< Size >'],['../classeosio_1_1fixed__bytes_abb272f4e962fa15dd78633053bb63d31.html#abb272f4e962fa15dd78633053bb63d31',1,'eosio::fixed_bytes::fixed_bytes()'],['../classeosio_1_1fixed__bytes_ad2ca84b3f4fcc67b99e6f7731825789d.html#ad2ca84b3f4fcc67b99e6f7731825789d',1,'eosio::fixed_bytes::fixed_bytes(const std::array< word_t, num_words()> &arr)'],['../classeosio_1_1fixed__bytes_a6d082b4eb4541d6b311849939b5a6ea5.html#a6d082b4eb4541d6b311849939b5a6ea5',1,'eosio::fixed_bytes::fixed_bytes(const std::array< Word, NumWords > &arr)'],['../classeosio_1_1fixed__bytes_abdc3879046e86eaaf6e867bce216a5fd.html#abdc3879046e86eaaf6e867bce216a5fd',1,'eosio::fixed_bytes::fixed_bytes(const Word(&arr)[NumWords])']]], + ['fixed_5fbytes_2ehpp_3',['fixed_bytes.hpp',['../fixed__bytes_8hpp.html',1,'']]], + ['float_5fto_5fkey_4',['float_to_key',['../namespaceeosio_ae3b4a6109935f78a3754bd7db29357a4.html#ae3b4a6109935f78a3754bd7db29357a4',1,'eosio']]], + ['from_5fcurrent_5faction_5',['from_current_action',['../group__transaction_gabdf7bc0ef45beae2daf8cf3f08a7cd42.html#gabdf7bc0ef45beae2daf8cf3f08a7cd42',1,'eosio::onerror']]], + ['from_5fiso_5fstring_6',['from_iso_string',['../classeosio_1_1time__point_a6c42fb4f6f6ae1f893502b8b30571625.html#a6c42fb4f6f6ae1f893502b8b30571625',1,'eosio::time_point::from_iso_string()'],['../classeosio_1_1time__point__sec_a6911add79fa8b0e013f01a168c0af50e.html#a6911add79fa8b0e013f01a168c0af50e',1,'eosio::time_point_sec::from_iso_string()'],['../classeosio_1_1block__timestamp_abd89e2d752bce18f94f865426a16c5bf.html#abd89e2d752bce18f94f865426a16c5bf',1,'eosio::block_timestamp::from_iso_string()']]], + ['front_7',['front',['../classeosio_1_1string_a1665b4aff2487ecf7b5de5a539283e59.html#a1665b4aff2487ecf7b5de5a539283e59',1,'eosio::string::front()'],['../classeosio_1_1string_ace4cb4b04068b19569df2ddfd5072922.html#ace4cb4b04068b19569df2ddfd5072922',1,'eosio::string::front() const']]] +]; diff --git a/docs/cdt/search/all_7.html b/docs/cdt/search/all_7.html new file mode 100644 index 000000000..12fe27e8e --- /dev/null +++ b/docs/cdt/search/all_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_7.js b/docs/cdt/search/all_7.js new file mode 100644 index 000000000..161c8e571 --- /dev/null +++ b/docs/cdt/search/all_7.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['g1_5flen_0',['g1_len',['../namespaceeosio_1_1internal__use__do__not__use_a534eba603614762626318e8679af9759.html#a534eba603614762626318e8679af9759',1,'eosio::internal_use_do_not_use']]], + ['g1_5fpoint_1',['g1_point',['../namespaceeosio_ae29c5ec8317e597280bc1073b514036a.html#ae29c5ec8317e597280bc1073b514036a',1,'eosio']]], + ['g1_5fpoint_5fview_2',['g1_point_view',['../namespaceeosio_a4df4bd625daf8e623fe79be6335657a0.html#a4df4bd625daf8e623fe79be6335657a0',1,'eosio']]], + ['g2_5fpoint_3',['g2_point',['../namespaceeosio_a4aff021c9a288ba2455ebe78af8fb8e1.html#a4aff021c9a288ba2455ebe78af8fb8e1',1,'eosio']]], + ['g2_5fpoint_5fview_4',['g2_point_view',['../namespaceeosio_a56573a7efad7729714195ac50d6c1a52.html#a56573a7efad7729714195ac50d6c1a52',1,'eosio']]], + ['generate_5farray_5',['generate_array',['../namespaceeosio_1_1detail_a5e3d839eb6a9a68857d5f1c44d053057.html#a5e3d839eb6a9a68857d5f1c44d053057',1,'eosio::detail']]], + ['generate_5farray_5fhelper_6',['generate_array_helper',['../namespaceeosio_1_1detail_a8af0145503d43bda71e5644c5e9ae7ef.html#a8af0145503d43bda71e5644c5e9ae7ef',1,'eosio::detail']]], + ['get_7',['get',['../classeosio_1_1datastream_a001047d70942ab5beb836e498d9f9eab.html#a001047d70942ab5beb836e498d9f9eab',1,'eosio::datastream::get(unsigned char &c)'],['../classeosio_1_1datastream_a10ab58b7cc695366b42957f4b8ff56eb.html#a10ab58b7cc695366b42957f4b8ff56eb',1,'eosio::datastream::get(char &c)'],['../structeosio_1_1ignore__wrapper_adcb05b331265687383a2324c8e47c428.html#adcb05b331265687383a2324c8e47c428',1,'eosio::ignore_wrapper::get()'],['../group__multiindex_ga02c39a16f0ff568d297f25eb7ed88ac3.html#ga02c39a16f0ff568d297f25eb7ed88ac3',1,'eosio::multi_index::get()'],['../classeosio_1_1singleton_a53b56e4e8ed2fddd61175285afdf44d4.html#a53b56e4e8ed2fddd61175285afdf44d4',1,'eosio::singleton::get()']]], + ['get_5faccount_5fram_5fusage_8',['get_account_ram_usage',['../group__privileged_gabd00f6a2896d4156346eee44d6ac0193.html#gabd00f6a2896d4156346eee44d6ac0193',1,'eosio']]], + ['get_5faction_9',['get_action',['../group__transaction_gac01a00482f2dc95bf4850b2e8213ee90.html#gac01a00482f2dc95bf4850b2e8213ee90',1,'eosio']]], + ['get_5factive_5fproducers_10',['get_active_producers',['../group__producer__schedule_gabd7742a9a5cffa3eccae1accbd1ee771.html#gabd7742a9a5cffa3eccae1accbd1ee771',1,'eosio']]], + ['get_5factive_5fsecurity_5fgroup_11',['get_active_security_group',['../group__security__group_gaac778b25910d9c1a99deb182fea2543e.html#gaac778b25910d9c1a99deb182fea2543e',1,'eosio']]], + ['get_5farray_12',['get_array',['../classeosio_1_1fixed__bytes_ac24c51c323af1034b5453fb5f117051f.html#ac24c51c323af1034b5453fb5f117051f',1,'eosio::fixed_bytes']]], + ['get_5fblockchain_5fparameters_13',['get_blockchain_parameters',['../group__privileged_ga673da670d201ba73461eedd8bd1aec8f.html#ga673da670d201ba73461eedd8bd1aec8f',1,'eosio']]], + ['get_5fcode_14',['get_code',['../group__multiindex_ga6ef0fb806ad6edf50b670a115fc3d5a1.html#ga6ef0fb806ad6edf50b670a115fc3d5a1',1,'eosio::multi_index::get_code()'],['../classeosio_1_1contract_a4efcd5638d26dad3e5dc075bad152d45.html#a4efcd5638d26dad3e5dc075bad152d45',1,'eosio::contract::get_code()']]], + ['get_5fcode_5fhash_15',['get_code_hash',['../namespaceeosio_a42e0876d95586115725e60f81b684b9a.html#a42e0876d95586115725e60f81b684b9a',1,'eosio']]], + ['get_5fcontext_5ffree_5fdata_16',['get_context_free_data',['../group__transaction_ga0a8affaada54b4a722e819c9da056211.html#ga0a8affaada54b4a722e819c9da056211',1,'eosio']]], + ['get_5fcontract_17',['get_contract',['../classeosio_1_1extended__symbol_aa215d71db628ab457c8eff30912eae82.html#aa215d71db628ab457c8eff30912eae82',1,'eosio::extended_symbol']]], + ['get_5fdatastream_18',['get_datastream',['../classeosio_1_1contract_ab2b6af0978586ae4e3a1c9c1699e660a.html#ab2b6af0978586ae4e3a1c9c1699e660a',1,'eosio::contract::get_datastream() const'],['../classeosio_1_1contract_a025bbcfc537a64a72c6b41f1118559a0.html#a025bbcfc537a64a72c6b41f1118559a0',1,'eosio::contract::get_datastream()']]], + ['get_5fextended_5fsymbol_19',['get_extended_symbol',['../structeosio_1_1extended__asset_a7604109863c6d45bc54347c27bd632a4.html#a7604109863c6d45bc54347c27bd632a4',1,'eosio::extended_asset']]], + ['get_5ffirst_5freceiver_20',['get_first_receiver',['../classeosio_1_1contract_ac7c14f66e3d41904264d1c6558cf370b.html#ac7c14f66e3d41904264d1c6558cf370b',1,'eosio::contract']]], + ['get_5findex_21',['get_index',['../group__multiindex_gae6e01877b9862c8193df27f05c305f2c.html#gae6e01877b9862c8193df27f05c305f2c',1,'eosio::multi_index::get_index() const'],['../group__multiindex_ga98fecc3166ebb3746ee810f7f7d9beac.html#ga98fecc3166ebb3746ee810f7f7d9beac',1,'eosio::multi_index::get_index()']]], + ['get_5fmem_5fptr_22',['get_mem_ptr',['../structeosio_1_1variant__action__wrapper_acc8f5998ff5d156eae85f525b0cb17e0.html#acc8f5998ff5d156eae85f525b0cb17e0',1,'eosio::variant_action_wrapper::get_mem_ptr()'],['../structeosio_1_1action__wrapper_a44ef1255c5018cdffb249665017fde8c.html#a44ef1255c5018cdffb249665017fde8c',1,'eosio::action_wrapper::get_mem_ptr()']]], + ['get_5for_5fcreate_23',['get_or_create',['../classeosio_1_1singleton_a7e632785eac3f1d05e08b34c49cb35dc.html#a7e632785eac3f1d05e08b34c49cb35dc',1,'eosio::singleton']]], + ['get_5for_5fdefault_24',['get_or_default',['../classeosio_1_1singleton_a6a252d888f4c0b20bb3045a443267951.html#a6a252d888f4c0b20bb3045a443267951',1,'eosio::singleton']]], + ['get_5fresource_5flimits_25',['get_resource_limits',['../group__privileged_gab80245def6eafc07e7eff5207f604261.html#gab80245def6eafc07e7eff5207f604261',1,'eosio']]], + ['get_5fscope_26',['get_scope',['../group__multiindex_ga0690e9e9a30254240fa0cb6bb12bebf3.html#ga0690e9e9a30254240fa0cb6bb12bebf3',1,'eosio::multi_index']]], + ['get_5fself_27',['get_self',['../classeosio_1_1contract_a7564cad9be4ee5dcaac832511d9a0e05.html#a7564cad9be4ee5dcaac832511d9a0e05',1,'eosio::contract']]], + ['get_5fsender_28',['get_sender',['../group__system_gad4861c14350c38823173733ce00ba6ff.html#gad4861c14350c38823173733ce00ba6ff',1,'eosio']]], + ['get_5fsymbol_29',['get_symbol',['../classeosio_1_1extended__symbol_a81b0741a1705ad99855aa375fe004b9d.html#a81b0741a1705ad99855aa375fe004b9d',1,'eosio::extended_symbol']]] +]; diff --git a/docs/cdt/search/all_8.html b/docs/cdt/search/all_8.html new file mode 100644 index 000000000..7e2242a13 --- /dev/null +++ b/docs/cdt/search/all_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_8.js b/docs/cdt/search/all_8.js new file mode 100644 index 000000000..755ff321d --- /dev/null +++ b/docs/cdt/search/all_8.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['has_5fauth_0',['has_auth',['../group__action_ga9e4650a61bbe0809cc62e6b2af8252d3.html#ga9e4650a61bbe0809cc62e6b2af8252d3',1,'eosio']]], + ['has_5fbitwise_5fserialization_1',['has_bitwise_serialization',['../namespaceeosio_1_1detail_a5cd71ed03fbb930b8da785011b4430fc.html#a5cd71ed03fbb930b8da785011b4430fc',1,'eosio::detail']]], + ['hash_2',['hash',['../namespaceeosio_1_1internal__use__do__not__use_ad42bdd88a64a703b94a11a89e3345a7c.html#ad42bdd88a64a703b94a11a89e3345a7c',1,'eosio::internal_use_do_not_use']]], + ['hash_5flen_3',['hash_len',['../namespaceeosio_1_1internal__use__do__not__use_a30853e057dc485d7a41e6fc3ecadffe8.html#a30853e057dc485d7a41e6fc3ecadffe8',1,'eosio::internal_use_do_not_use']]], + ['hours_4',['hours',['../namespaceeosio_a33b982404d2fd14a2618564ae69db447.html#a33b982404d2fd14a2618564ae69db447',1,'eosio']]] +]; diff --git a/docs/cdt/search/all_9.html b/docs/cdt/search/all_9.html new file mode 100644 index 000000000..cada7de3e --- /dev/null +++ b/docs/cdt/search/all_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_9.js b/docs/cdt/search/all_9.js new file mode 100644 index 000000000..dd1e8eb46 --- /dev/null +++ b/docs/cdt/search/all_9.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['ignore_0',['ignore',['../structeosio_1_1ignore.html',1,'eosio']]], + ['ignore_2ehpp_1',['ignore.hpp',['../ignore_8hpp.html',1,'']]], + ['ignore_5fwrapper_2',['ignore_wrapper',['../structeosio_1_1ignore__wrapper.html',1,'eosio::ignore_wrapper< T >'],['../structeosio_1_1ignore__wrapper_a89db1ce457bcd345d9c0403ad6c4936f.html#a89db1ce457bcd345d9c0403ad6c4936f',1,'eosio::ignore_wrapper::ignore_wrapper()'],['../structeosio_1_1ignore__wrapper_ac6cf7a6be9c0cc5013c68c1e39a0bab8.html#ac6cf7a6be9c0cc5013c68c1e39a0bab8',1,'eosio::ignore_wrapper::ignore_wrapper(T val)'],['../structeosio_1_1ignore__wrapper_a0dcb6bbda0a915c87264dc0119fc9ded.html#a0dcb6bbda0a915c87264dc0119fc9ded',1,'eosio::ignore_wrapper::ignore_wrapper(ignore< T > val)']]], + ['in_5factive_5fsecurity_5fgroup_3',['in_active_security_group',['../group__security__group_ga9348bff666d401af321e1d67af264a3d.html#ga9348bff666d401af321e1d67af264a3d',1,'eosio']]], + ['index_4',['index',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a98d9477848d2c563b310010a4f7b8fed.html#a98d9477848d2c563b310010a4f7b8fed',1,'eosio::multi_index::index::const_iterator']]], + ['index_5fname_5',['index_name',['../structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html#ad04dd8d771430edeb499c9d03bc9bb60a4645263158ffe7d237fda11ac37aea05',1,'eosio::indexed_by']]], + ['indexed_5fby_6',['indexed_by',['../structeosio_1_1indexed__by.html',1,'eosio']]], + ['inline_5faction_5fsender_7',['INLINE_ACTION_SENDER',['../action_8hpp_a1bb288791cd436d07bddf3d43f4740d4.html#a1bb288791cd436d07bddf3d43f4740d4',1,'action.hpp']]], + ['inline_5faction_5fsender2_8',['INLINE_ACTION_SENDER2',['../action_8hpp_abeecc07548f70308a4aab9fcdb2d22f1.html#abeecc07548f70308a4aab9fcdb2d22f1',1,'action.hpp']]], + ['inline_5faction_5fsender3_9',['INLINE_ACTION_SENDER3',['../action_8hpp_a20c19e0f931fad16c4db6d29480acddf.html#a20c19e0f931fad16c4db6d29480acddf',1,'action.hpp']]], + ['inline_5fdispatcher_10',['inline_dispatcher',['../structeosio_1_1inline__dispatcher.html',1,'eosio']]], + ['inline_5fdispatcher_3c_20void_28t_3a_3a_2a_29_28args_2e_2e_2e_29_2c_20name_20_3e_11',['inline_dispatcher< void(T::*)(Args...), Name >',['../structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4.html',1,'eosio']]], + ['insert_12',['insert',['../classeosio_1_1string_a237c8d55ce3141f492db1277f18a410b.html#a237c8d55ce3141f492db1277f18a410b',1,'eosio::string::insert(const size_t pos, const char *str)'],['../classeosio_1_1string_aede6037e2778f095d1dc51730d161573.html#aede6037e2778f095d1dc51730d161573',1,'eosio::string::insert(const size_t pos, const char *str, const size_t len)'],['../classeosio_1_1string_af587de1d8dc0628a4a3216d43e739f21.html#af587de1d8dc0628a4a3216d43e739f21',1,'eosio::string::insert(const size_t pos, const string &str)']]], + ['iostream_13',['iostream',['../classeosio_1_1iostream.html',1,'eosio']]], + ['is_5faccount_14',['is_account',['../group__action_ga887cd0fed2350c5ae52565ba6e290db3.html#ga887cd0fed2350c5ae52565ba6e290db3',1,'eosio']]], + ['is_5famount_5fwithin_5frange_15',['is_amount_within_range',['../structeosio_1_1asset_a815b58378c8849fbb2a68f288edf5f31.html#a815b58378c8849fbb2a68f288edf5f31',1,'eosio::asset']]], + ['is_5fdatastream_16',['is_datastream',['../structeosio_1_1__datastream__detail_1_1is__datastream.html',1,'eosio::_datastream_detail']]], + ['is_5fdatastream_3c_20datastream_3c_20t_20_3e_20_3e_17',['is_datastream< datastream< T > >',['../structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4.html',1,'eosio::_datastream_detail']]], + ['is_5ffeature_5factivated_18',['is_feature_activated',['../group__system_ga6a213f83fa0851779c32cfcf66c816a9.html#ga6a213f83fa0851779c32cfcf66c816a9',1,'eosio']]], + ['is_5fpointer_19',['is_pointer',['../namespaceeosio_1_1__datastream__detail_a756af9772c5c98915bbdacafa7165278.html#a756af9772c5c98915bbdacafa7165278',1,'eosio::_datastream_detail']]], + ['is_5fprimitive_20',['is_primitive',['../namespaceeosio_1_1__datastream__detail_ab1b99c65e9a4c3ec9a0077b17466043d.html#ab1b99c65e9a4c3ec9a0077b17466043d',1,'eosio::_datastream_detail']]], + ['is_5fpriv_21',['is_priv',['../namespaceeosio_1_1internal__use__do__not__use_a41b6f2811e48e074d00c5b6366641ea9.html#a41b6f2811e48e074d00c5b6366641ea9',1,'eosio::internal_use_do_not_use']]], + ['is_5fprivileged_22',['is_privileged',['../group__privileged_gad2eb8389a1197594476ea9e41448481a.html#gad2eb8389a1197594476ea9e41448481a',1,'eosio']]], + ['is_5franged_5ftype_23',['is_ranged_type',['../namespaceeosio_1_1detail_a64b7b02e02888b43c508684f3939aa77.html#a64b7b02e02888b43c508684f3939aa77',1,'eosio::detail']]], + ['is_5fvalid_24',['is_valid',['../structeosio_1_1block__signing__authority__v0_aace9f3212e4df0db2511059a9c876886.html#aace9f3212e4df0db2511059a9c876886',1,'eosio::block_signing_authority_v0::is_valid()'],['../classeosio_1_1symbol__code_a87acfd4b3bd04ca4b9ba84f6ea12d5d0.html#a87acfd4b3bd04ca4b9ba84f6ea12d5d0',1,'eosio::symbol_code::is_valid()'],['../structeosio_1_1asset_aa2e8739bf534ea99199d121143ca7a0a.html#aa2e8739bf534ea99199d121143ca7a0a',1,'eosio::asset::is_valid()'],['../classeosio_1_1symbol_af52f86a82390abe6be09e9745df30815.html#af52f86a82390abe6be09e9745df30815',1,'eosio::symbol::is_valid()']]], + ['iterator_5fto_25',['iterator_to',['../group__multiindex_gad611e3ff51efdf038b934138d071cf83.html#gad611e3ff51efdf038b934138d071cf83',1,'eosio::multi_index']]] +]; diff --git a/docs/cdt/search/all_a.html b/docs/cdt/search/all_a.html new file mode 100644 index 000000000..2d37a9194 --- /dev/null +++ b/docs/cdt/search/all_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_a.js b/docs/cdt/search/all_a.js new file mode 100644 index 000000000..87319eb7b --- /dev/null +++ b/docs/cdt/search/all_a.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['k1_5frecover_0',['k1_recover',['../group__crypto_gaa651eeb4147e53a045ccf1fd3c06f14d.html#gaa651eeb4147e53a045ccf1fd3c06f14d',1,'eosio']]], + ['keccak_1',['keccak',['../namespaceeosio_1_1internal__use__do__not__use_a80b6ad1bcafb20f5a29b03c22b52c748.html#a80b6ad1bcafb20f5a29b03c22b52c748',1,'eosio::internal_use_do_not_use::keccak()'],['../group__crypto_gaee42036696553a2aab82c8beadc949cc.html#gaee42036696553a2aab82c8beadc949cc',1,'eosio::keccak()']]], + ['key_2',['key',['../structeosio_1_1key__weight_a0716877105b0d4a6fca4c09f7e129800.html#a0716877105b0d4a6fca4c09f7e129800',1,'eosio::key_weight']]], + ['key_5ftype_3',['key_type',['../namespaceeosio_ac871966a2176ae48a0a85b6170e13592.html#ac871966a2176ae48a0a85b6170e13592',1,'eosio']]], + ['key_5futils_2ehpp_4',['key_utils.hpp',['../key__utils_8hpp.html',1,'']]], + ['key_5fweight_5',['key_weight',['../structeosio_1_1key__weight.html',1,'eosio']]], + ['keys_6',['keys',['../structeosio_1_1block__signing__authority__v0_a3f0b70b44704cf738489e64cc6706859.html#a3f0b70b44704cf738489e64cc6706859',1,'eosio::block_signing_authority_v0']]] +]; diff --git a/docs/cdt/search/all_b.html b/docs/cdt/search/all_b.html new file mode 100644 index 000000000..beeabb577 --- /dev/null +++ b/docs/cdt/search/all_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_b.js b/docs/cdt/search/all_b.js new file mode 100644 index 000000000..36b248f06 --- /dev/null +++ b/docs/cdt/search/all_b.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['largest_5fpower_0',['largest_power',['../structeosio_1_1detail_1_1largest__power.html',1,'eosio::detail']]], + ['largest_5fpower_5fhelper_1',['largest_power_helper',['../structeosio_1_1detail_1_1largest__power__helper.html',1,'eosio::detail']]], + ['largest_5fpower_5fhelper_3c_20t_2c_20base_2c_20exponent_2c_20value_2c_20true_20_3e_2',['largest_power_helper< T, Base, Exponent, Value, true >',['../structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4.html',1,'eosio::detail']]], + ['left_3',['left',['../structeosio_1_1impl_1_1concat__t_aae6bb79b83cd6aaae6425af9ba4e61d2.html#aae6bb79b83cd6aaae6425af9ba4e61d2',1,'eosio::impl::concat_t']]], + ['len_4',['len',['../namespaceeosio_1_1internal__use__do__not__use_aa83533278bab525701fa405485bb5390.html#aa83533278bab525701fa405485bb5390',1,'eosio::internal_use_do_not_use']]], + ['length_5',['length',['../structeosio_1_1name_a757935f0931b482c554686c2ea2a42b2.html#a757935f0931b482c554686c2ea2a42b2',1,'eosio::name::length()'],['../classeosio_1_1rope_a55c20ad2f4bddfe33423fc078a33f478.html#a55c20ad2f4bddfe33423fc078a33f478',1,'eosio::rope::length()'],['../classeosio_1_1string_a5ac65214871aeb5aa277315e3730b478.html#a5ac65214871aeb5aa277315e3730b478',1,'eosio::string::length()'],['../classeosio_1_1symbol__code_adf291364853aa746ddc32942881b2e64.html#adf291364853aa746ddc32942881b2e64',1,'eosio::symbol_code::length()']]], + ['lower_5fbound_6',['lower_bound',['../group__multiindex_ga40c5a0709cff9dbeb7d9e79738d43f53.html#ga40c5a0709cff9dbeb7d9e79738d43f53',1,'eosio::multi_index']]] +]; diff --git a/docs/cdt/search/all_c.html b/docs/cdt/search/all_c.html new file mode 100644 index 000000000..70dc675e4 --- /dev/null +++ b/docs/cdt/search/all_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_c.js b/docs/cdt/search/all_c.js new file mode 100644 index 000000000..72fb2a6c5 --- /dev/null +++ b/docs/cdt/search/all_c.js @@ -0,0 +1,35 @@ +var searchData= +[ + ['make_5ffrom_5fword_5fsequence_0',['make_from_word_sequence',['../classeosio_1_1fixed__bytes_ab841ca6465a6867b18001738e01e5c22.html#ab841ca6465a6867b18001738e01e5c22',1,'eosio::fixed_bytes']]], + ['make_5ftraits_5ffor_5farithmetic_5fsecondary_5fkey_1',['MAKE_TRAITS_FOR_ARITHMETIC_SECONDARY_KEY',['../multi__index_8hpp_aab2b11a88b267a1ad4009fed8dc5e778.html#aab2b11a88b267a1ad4009fed8dc5e778',1,'multi_index.hpp']]], + ['max_5famount_2',['max_amount',['../structeosio_1_1asset_a478eb6a3bb302652748acfcf85738f5f.html#a478eb6a3bb302652748acfcf85738f5f',1,'eosio::asset']]], + ['max_5fauthority_5fdepth_3',['max_authority_depth',['../structeosio_1_1blockchain__parameters_aef65360380b879d1782d0b202b96c776.html#aef65360380b879d1782d0b202b96c776',1,'eosio::blockchain_parameters']]], + ['max_5fblock_5fcpu_5fusage_4',['max_block_cpu_usage',['../structeosio_1_1blockchain__parameters_af6a0f851f934100f4cfc5d7cce8c3542.html#af6a0f851f934100f4cfc5d7cce8c3542',1,'eosio::blockchain_parameters']]], + ['max_5fblock_5fnet_5fusage_5',['max_block_net_usage',['../structeosio_1_1blockchain__parameters_aaffe7d6c7437826f208c68e9ee2acf65.html#aaffe7d6c7437826f208c68e9ee2acf65',1,'eosio::blockchain_parameters']]], + ['max_5fcpu_5fusage_5fms_6',['max_cpu_usage_ms',['../classeosio_1_1transaction__header_a5fbc5f8eef0093ad65598953156d4359.html#a5fbc5f8eef0093ad65598953156d4359',1,'eosio::transaction_header']]], + ['max_5finline_5faction_5fdepth_7',['max_inline_action_depth',['../structeosio_1_1blockchain__parameters_a2a6f29f85a765e80fab44ca4c8bf4104.html#a2a6f29f85a765e80fab44ca4c8bf4104',1,'eosio::blockchain_parameters']]], + ['max_5finline_5faction_5fsize_8',['max_inline_action_size',['../structeosio_1_1blockchain__parameters_a7dbcbc6c005be48b9d42fe21ee3c034f.html#a7dbcbc6c005be48b9d42fe21ee3c034f',1,'eosio::blockchain_parameters']]], + ['max_5fnet_5fusage_5fwords_9',['max_net_usage_words',['../classeosio_1_1transaction__header_aad5eeaa9d26473ae8faa0d9c5cf44c0e.html#aad5eeaa9d26473ae8faa0d9c5cf44c0e',1,'eosio::transaction_header']]], + ['max_5fsize_10',['max_size',['../classeosio_1_1string_a78b71a3a602620d706457f4a68dbcd73.html#a78b71a3a602620d706457f4a68dbcd73',1,'eosio::string']]], + ['max_5ftransaction_5fcpu_5fusage_11',['max_transaction_cpu_usage',['../structeosio_1_1blockchain__parameters_a59893f31083ea0239eff0fdb47a3e9a2.html#a59893f31083ea0239eff0fdb47a3e9a2',1,'eosio::blockchain_parameters']]], + ['max_5ftransaction_5fdelay_12',['max_transaction_delay',['../structeosio_1_1blockchain__parameters_ac1ad602bce04bb7de2b83acf319605ac.html#ac1ad602bce04bb7de2b83acf319605ac',1,'eosio::blockchain_parameters']]], + ['max_5ftransaction_5flifetime_13',['max_transaction_lifetime',['../structeosio_1_1blockchain__parameters_ae9595da087ba46dbada5f785ec9191e6.html#ae9595da087ba46dbada5f785ec9191e6',1,'eosio::blockchain_parameters']]], + ['max_5ftransaction_5fnet_5fusage_14',['max_transaction_net_usage',['../structeosio_1_1blockchain__parameters_a07d6c92013fce008071d9b610544c4c6.html#a07d6c92013fce008071d9b610544c4c6',1,'eosio::blockchain_parameters']]], + ['maximum_15',['maximum',['../classeosio_1_1block__timestamp_a30ae0cff751d3f0ff01010f4a4f6d052.html#a30ae0cff751d3f0ff01010f4a4f6d052',1,'eosio::block_timestamp::maximum()'],['../classeosio_1_1time__point__sec_a7e1d564816b972cf8c5962fc3ad348a9.html#a7e1d564816b972cf8c5962fc3ad348a9',1,'eosio::time_point_sec::maximum()']]], + ['member_5fpointer_5fclass_16',['member_pointer_class',['../namespaceeosio_1_1detail_a5cf83297746ac38942c4e6d515030884.html#a5cf83297746ac38942c4e6d515030884',1,'eosio::detail']]], + ['member_5fpointer_5ftype_17',['member_pointer_type',['../namespaceeosio_1_1detail_aaa5b3d6111b08badba51b37a8890e4f2.html#aaa5b3d6111b08badba51b37a8890e4f2',1,'eosio::detail']]], + ['microseconds_18',['microseconds',['../classeosio_1_1microseconds.html',1,'eosio::microseconds'],['../classeosio_1_1microseconds_a59aa821c27e2073ede1ddf759e26317f.html#a59aa821c27e2073ede1ddf759e26317f',1,'eosio::microseconds::microseconds()']]], + ['milliseconds_19',['milliseconds',['../namespaceeosio_a2b8d5b8f5a1829bd6967c3fe89eea506.html#a2b8d5b8f5a1829bd6967c3fe89eea506',1,'eosio']]], + ['min_20',['min',['../classeosio_1_1time__point__sec_a090e65b6dc831f54eed58059b1718714.html#a090e65b6dc831f54eed58059b1718714',1,'eosio::time_point_sec::min()'],['../classeosio_1_1block__timestamp_a97cc3a05e64223e6144fde0ccfac1abd.html#a97cc3a05e64223e6144fde0ccfac1abd',1,'eosio::block_timestamp::min()']]], + ['min_5ftransaction_5fcpu_5fusage_21',['min_transaction_cpu_usage',['../structeosio_1_1blockchain__parameters_a5c15c7c28e28d93183e85639ddd3dd83.html#a5c15c7c28e28d93183e85639ddd3dd83',1,'eosio::blockchain_parameters']]], + ['minutes_22',['minutes',['../namespaceeosio_a29a31fdb3cb6abce3f6abcf6840ea00c.html#a29a31fdb3cb6abce3f6abcf6840ea00c',1,'eosio']]], + ['mod_23',['mod',['../namespaceeosio_1_1internal__use__do__not__use_a027e383f00b6e7e1a84cbf1d748c497f.html#a027e383f00b6e7e1a84cbf1d748c497f',1,'eosio::internal_use_do_not_use']]], + ['mod_5fexp_24',['mod_exp',['../group__crypto_gafaa1bb4600feccd42acd799e76570291.html#gafaa1bb4600feccd42acd799e76570291',1,'eosio::mod_exp(const bigint &base, const bigint &exp, const bigint &mod, bigint &result)'],['../group__crypto_ga30e83b1ef7aa5db6dc580c850a02801c.html#ga30e83b1ef7aa5db6dc580c850a02801c',1,'eosio::mod_exp(const char *base, uint32_t base_len, const char *exp, uint32_t exp_len, const char *mod, uint32_t mod_len, char *result, uint32_t result_len)']]], + ['mod_5flen_25',['mod_len',['../namespaceeosio_1_1internal__use__do__not__use_adb452b37e25d266414ded2a0bcec1b45.html#adb452b37e25d266414ded2a0bcec1b45',1,'eosio::internal_use_do_not_use']]], + ['modify_26',['modify',['../group__multiindex_ga4b3556ef69c7faa917f185ae33a34442.html#ga4b3556ef69c7faa917f185ae33a34442',1,'eosio::multi_index::modify(const_iterator itr, name payer, Lambda &&updater)'],['../group__multiindex_gab44fb8b993970f1b3b7ac5f37cd2d2c9.html#gab44fb8b993970f1b3b7ac5f37cd2d2c9',1,'eosio::multi_index::modify(const T &obj, name payer, Lambda &&updater)']]], + ['msg_27',['msg',['../namespaceeosio_1_1internal__use__do__not__use_af2a181710ad035098993649b3dc97a0f.html#af2a181710ad035098993649b3dc97a0f',1,'eosio::internal_use_do_not_use']]], + ['msg_5flen_28',['msg_len',['../namespaceeosio_1_1internal__use__do__not__use_add8aff837dc2c0d88fde2e0cc395b869.html#add8aff837dc2c0d88fde2e0cc395b869',1,'eosio::internal_use_do_not_use']]], + ['multi_5findex_29',['multi_index',['../classeosio_1_1multi__index.html',1,'eosio::multi_index< TableName, T, Indices >'],['../structeosio_1_1multi__index_1_1const__iterator_a474ad2ee1333aa717a29bb55a9d5fc44.html#a474ad2ee1333aa717a29bb55a9d5fc44',1,'eosio::multi_index::const_iterator::multi_index()'],['../group__multiindex_gaa081f69f6fa288869d1d5881f0be04dd.html#gaa081f69f6fa288869d1d5881f0be04dd',1,'eosio::multi_index::multi_index()']]], + ['multi_5findex_2ehpp_30',['multi_index.hpp',['../multi__index_8hpp.html',1,'']]], + ['multi_5findex_3c_20singletonname_2c_20row_20_3e_31',['multi_index< SingletonName, row >',['../classeosio_1_1multi__index.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/all_d.html b/docs/cdt/search/all_d.html new file mode 100644 index 000000000..83565c2a0 --- /dev/null +++ b/docs/cdt/search/all_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_d.js b/docs/cdt/search/all_d.js new file mode 100644 index 000000000..a03c0ef55 --- /dev/null +++ b/docs/cdt/search/all_d.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['name_0',['name',['../structeosio_1_1name.html',1,'eosio::name'],['../structeosio_1_1action_a407ffb98514612d2e9683dd7d88af91a.html#a407ffb98514612d2e9683dd7d88af91a',1,'eosio::action::name()'],['../structeosio_1_1name_a3e05c2f8c5eb5fa35dc1a99918d57c19.html#a3e05c2f8c5eb5fa35dc1a99918d57c19',1,'eosio::name::name()'],['../structeosio_1_1name_abc1f35add0a585ea60d6c7333b87f595.html#abc1f35add0a585ea60d6c7333b87f595',1,'eosio::name::name(uint64_t v)'],['../structeosio_1_1name_a4679582f6b187de123c5167db945b0fe.html#a4679582f6b187de123c5167db945b0fe',1,'eosio::name::name(name::raw r)'],['../structeosio_1_1name_a0ce912cd61e77f223ac1d252deec0d04.html#a0ce912cd61e77f223ac1d252deec0d04',1,'eosio::name::name(std::string_view str)']]], + ['name_2ehpp_1',['name.hpp',['../name_8hpp.html',1,'']]], + ['net_5fusage_5fleeway_2',['net_usage_leeway',['../structeosio_1_1blockchain__parameters_a5066e04cd3a3d74459e810d253c29ebf.html#a5066e04cd3a3d74459e810d253c29ebf',1,'eosio::blockchain_parameters']]], + ['net_5fweight_3',['net_weight',['../namespaceeosio_1_1internal__use__do__not__use_a1e57a95287092eed7943f2d14e0dc5b1.html#a1e57a95287092eed7943f2d14e0dc5b1',1,'eosio::internal_use_do_not_use']]], + ['next_4',['next',['../classeosio_1_1block__timestamp_a07825f36097aa846aecaa221239874d6.html#a07825f36097aa846aecaa221239874d6',1,'eosio::block_timestamp']]], + ['npos_5',['npos',['../classeosio_1_1string_a4f5cb8bf0e4336ffdcba55fb5073bfcf.html#a4f5cb8bf0e4336ffdcba55fb5073bfcf',1,'eosio::string']]], + ['num_5fwords_6',['num_words',['../classeosio_1_1fixed__bytes_a624f3e2c6a33a0197b0d59c6995c47d8.html#a624f3e2c6a33a0197b0d59c6995c47d8',1,'eosio::fixed_bytes']]] +]; diff --git a/docs/cdt/search/all_e.html b/docs/cdt/search/all_e.html new file mode 100644 index 000000000..0c408e90c --- /dev/null +++ b/docs/cdt/search/all_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_e.js b/docs/cdt/search/all_e.js new file mode 100644 index 000000000..dcc421e31 --- /dev/null +++ b/docs/cdt/search/all_e.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['onerror_0',['onerror',['../structeosio_1_1onerror.html',1,'eosio']]], + ['op1_5flen_1',['op1_len',['../namespaceeosio_1_1internal__use__do__not__use_a1e7210a95265e4cc67895371e8e1d1a9.html#a1e7210a95265e4cc67895371e8e1d1a9',1,'eosio::internal_use_do_not_use']]], + ['op2_2',['op2',['../namespaceeosio_1_1internal__use__do__not__use_a3cf08e393da6ced475992073668ae916.html#a3cf08e393da6ced475992073668ae916',1,'eosio::internal_use_do_not_use']]], + ['op2_5flen_3',['op2_len',['../namespaceeosio_1_1internal__use__do__not__use_af8ebf8425f3a88d9f6fd90e0cc362a9c.html#af8ebf8425f3a88d9f6fd90e0cc362a9c',1,'eosio::internal_use_do_not_use']]], + ['operator_20bool_4',['operator bool',['../structeosio_1_1name_a667462189a277a9f11f66fcd88af05df.html#a667462189a277a9f11f66fcd88af05df',1,'eosio::name::operator bool()'],['../classeosio_1_1symbol__code_a9b45275437c716ebc9ba95d199c04ed1.html#a9b45275437c716ebc9ba95d199c04ed1',1,'eosio::symbol_code::operator bool()'],['../classeosio_1_1symbol_a6c974f93f06131859376b75c4df03a53.html#a6c974f93f06131859376b75c4df03a53',1,'eosio::symbol::operator bool()']]], + ['operator_20ignore_3c_20t_20_3e_5',['operator ignore< T >',['../structeosio_1_1ignore__wrapper_a79d94e050efb9c7b3cd6a01fe1c8350b.html#a79d94e050efb9c7b3cd6a01fe1c8350b',1,'eosio::ignore_wrapper']]], + ['operator_20raw_6',['operator raw',['../structeosio_1_1name_afd3799cbd1bc276a81dba035599f535c.html#afd3799cbd1bc276a81dba035599f535c',1,'eosio::name']]], + ['operator_20t_7',['operator T',['../structeosio_1_1ignore__wrapper_ac438b2240f6513b7ccac4d7c6876bd95.html#ac438b2240f6513b7ccac4d7c6876bd95',1,'eosio::ignore_wrapper::operator T()'],['../structeosio_1_1unsigned__int_ab362b441320e0681f3283b03efa8568d.html#ab362b441320e0681f3283b03efa8568d',1,'eosio::unsigned_int::operator T()']]], + ['operator_20time_5fpoint_8',['operator time_point',['../classeosio_1_1time__point__sec_acd75205a33a0ccbb5e2d3ceea12182a7.html#acd75205a33a0ccbb5e2d3ceea12182a7',1,'eosio::time_point_sec::operator time_point()'],['../classeosio_1_1block__timestamp_abc0874625ff948fb8f23dd41644aee23.html#abc0874625ff948fb8f23dd41644aee23',1,'eosio::block_timestamp::operator time_point()']]], + ['operator_21_3d_9',['operator!=',['../classeosio_1_1string_ab8b27a889dc5ffef4a9cc7a1d1905b9c.html#ab8b27a889dc5ffef4a9cc7a1d1905b9c',1,'eosio::string::operator!=()'],['../classeosio_1_1symbol__code_acd21f55772dbdf25fe5dbc182683fee0.html#acd21f55772dbdf25fe5dbc182683fee0',1,'eosio::symbol_code::operator!=()'],['../classeosio_1_1symbol_a62adc71177b7a104162f7618cb0bac44.html#a62adc71177b7a104162f7618cb0bac44',1,'eosio::symbol::operator!=()'],['../classeosio_1_1extended__symbol_aafb631b64d0586016ca8ea499350820d.html#aafb631b64d0586016ca8ea499350820d',1,'eosio::extended_symbol::operator!=()'],['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html#a5fbca5b71055f2b793ae1607239b13a0',1,'eosio::multi_index::index::const_iterator::operator!=()'],['../structeosio_1_1multi__index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html#a5fbca5b71055f2b793ae1607239b13a0',1,'eosio::multi_index::const_iterator::operator!=()'],['../namespaceeosio_a14b4435561885695942e8d60b7d5e7b7.html#a14b4435561885695942e8d60b7d5e7b7',1,'eosio::operator!=()']]], + ['operator_22_22_5fn_10',['operator""_n',['../group__name_ga2c559845072f8f8423f21c8c8f9c57ce.html#ga2c559845072f8f8423f21c8c8f9c57ce',1,'name.hpp']]], + ['operator_28_29_11',['operator()',['../structeosio_1_1const__mem__fun_ad750b8c1fab65ea16ab50631ca9408da.html#ad750b8c1fab65ea16ab50631ca9408da',1,'eosio::const_mem_fun::operator()(const ChainedPtr &x) const -> std::enable_if_t<!std::is_convertible< const ChainedPtr &, const Class & >::value, Type >'],['../structeosio_1_1const__mem__fun_a04df970f69c75d7fc9d4949c3c0b0d19.html#a04df970f69c75d7fc9d4949c3c0b0d19',1,'eosio::const_mem_fun::operator()(const Class &x) const'],['../structeosio_1_1const__mem__fun_a35e521958c3954d0eacac56ce37153d7.html#a35e521958c3954d0eacac56ce37153d7',1,'eosio::const_mem_fun::operator()(const std::reference_wrapper< const Class > &x) const'],['../structeosio_1_1const__mem__fun_a8191e327113ef08c101ae22d495315ae.html#a8191e327113ef08c101ae22d495315ae',1,'eosio::const_mem_fun::operator()(const std::reference_wrapper< Class > &x) const']]], + ['operator_2a_12',['operator*',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_afdc8e49cfd185bf193aefc5603704d26.html#afdc8e49cfd185bf193aefc5603704d26',1,'eosio::multi_index::index::const_iterator::operator*()'],['../structeosio_1_1multi__index_1_1const__iterator_af26c82fdb30dc0e6b3b1a51c60665fc7.html#af26c82fdb30dc0e6b3b1a51c60665fc7',1,'eosio::multi_index::const_iterator::operator*()']]], + ['operator_2b_13',['operator+',['../classeosio_1_1rope_a7bb3cd3347e4718e40e175d6c76a5f2a.html#a7bb3cd3347e4718e40e175d6c76a5f2a',1,'eosio::rope::operator+()'],['../classeosio_1_1string_afea8d616a05e9815f57ad6b9740f846f.html#afea8d616a05e9815f57ad6b9740f846f',1,'eosio::string::operator+()'],['../namespaceeosio_a76c9eef0a1a07d3dd3c924e6f302bf1c.html#a76c9eef0a1a07d3dd3c924e6f302bf1c',1,'eosio::operator+()'],['../classeosio_1_1rope_aa882baad43917693e1f93b5e546eb4d8.html#aa882baad43917693e1f93b5e546eb4d8',1,'eosio::rope::operator+()'],['../classeosio_1_1rope_a36e6c3ae93eb1350bd138347edebe939.html#a36e6c3ae93eb1350bd138347edebe939',1,'eosio::rope::operator+()']]], + ['operator_2b_2b_14',['operator++',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a7f45c8586749261bd679b6b9c10ebc1f.html#a7f45c8586749261bd679b6b9c10ebc1f',1,'eosio::multi_index::index::const_iterator::operator++()'],['../structeosio_1_1multi__index_1_1const__iterator_a751d1e7eedadb5b3033cedc6f8e8078e.html#a751d1e7eedadb5b3033cedc6f8e8078e',1,'eosio::multi_index::const_iterator::operator++(int)'],['../structeosio_1_1multi__index_1_1const__iterator_a829330bb82ce769116465eb450a34249.html#a829330bb82ce769116465eb450a34249',1,'eosio::multi_index::const_iterator::operator++()'],['../structeosio_1_1multi__index_1_1index_1_1const__iterator_aaa017dc5dc3ecac344a590f409371216.html#aaa017dc5dc3ecac344a590f409371216',1,'eosio::multi_index::index::const_iterator::operator++()']]], + ['operator_2b_3d_15',['operator+=',['../classeosio_1_1rope_a9c52934d5f70e38a50a46bc4a8c3b889.html#a9c52934d5f70e38a50a46bc4a8c3b889',1,'eosio::rope::operator+=(const char *s)'],['../classeosio_1_1rope_afd7a932ec6f8603e333dc85f1284d6e2.html#afd7a932ec6f8603e333dc85f1284d6e2',1,'eosio::rope::operator+=(const rope &r)'],['../classeosio_1_1rope_a3ea975b0ce1bf20ad565745fb8fef46f.html#a3ea975b0ce1bf20ad565745fb8fef46f',1,'eosio::rope::operator+=(rope &&r)'],['../classeosio_1_1string_a96cbb276511418046dda2629673bbcc3.html#a96cbb276511418046dda2629673bbcc3',1,'eosio::string::operator+=(const char c)'],['../classeosio_1_1string_ac03654f5a94a384fc920af2a77a5e16a.html#ac03654f5a94a384fc920af2a77a5e16a',1,'eosio::string::operator+=(const char *rhs)'],['../classeosio_1_1string_a45e00f754d8166d1ecd15db8eed22285.html#a45e00f754d8166d1ecd15db8eed22285',1,'eosio::string::operator+=(const string &rhs)']]], + ['operator_2d_2d_16',['operator--',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a058bad034470139d1e1518d5533122bf.html#a058bad034470139d1e1518d5533122bf',1,'eosio::multi_index::index::const_iterator::operator--(int)'],['../structeosio_1_1multi__index_1_1index_1_1const__iterator_acf932249851e06ba1fb46ca374fef99f.html#acf932249851e06ba1fb46ca374fef99f',1,'eosio::multi_index::index::const_iterator::operator--()'],['../structeosio_1_1multi__index_1_1const__iterator_a3a0faabfa94970b0d94d9b2977c69f43.html#a3a0faabfa94970b0d94d9b2977c69f43',1,'eosio::multi_index::const_iterator::operator--(int)'],['../structeosio_1_1multi__index_1_1const__iterator_aa838b30a0fa169a6a507ef8fa725f7bd.html#aa838b30a0fa169a6a507ef8fa725f7bd',1,'eosio::multi_index::const_iterator::operator--()']]], + ['operator_2d_3e_17',['operator->',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a6b75028e93c74defe75ee6367d3172c9.html#a6b75028e93c74defe75ee6367d3172c9',1,'eosio::multi_index::index::const_iterator::operator->()'],['../structeosio_1_1multi__index_1_1const__iterator_a3ed82524c8a4f576a2f472b30f1fec6e.html#a3ed82524c8a4f576a2f472b30f1fec6e',1,'eosio::multi_index::const_iterator::operator->()']]], + ['operator_3c_18',['operator<',['../structeosio_1_1producer__authority_aa26af3fe95014015f5501d41d997f6be.html#aa26af3fe95014015f5501d41d997f6be',1,'eosio::producer_authority::operator<()'],['../classeosio_1_1string_a91fd184cf0f9333c217130cebd4d7876.html#a91fd184cf0f9333c217130cebd4d7876',1,'eosio::string::operator<()'],['../namespaceeosio_a3769e5e16987ccf2c510856696f38b9d.html#a3769e5e16987ccf2c510856696f38b9d',1,'eosio::operator<()'],['../classeosio_1_1symbol__code_a8dd79cc2a20dc7bf2788fd6416003891.html#a8dd79cc2a20dc7bf2788fd6416003891',1,'eosio::symbol_code::operator<()'],['../classeosio_1_1symbol_a5ffd3dd1dfad342b30aed2c53993c548.html#a5ffd3dd1dfad342b30aed2c53993c548',1,'eosio::symbol::operator<()'],['../classeosio_1_1extended__symbol_afeaa211627f6df2a4f4f31aefedc6077.html#afeaa211627f6df2a4f4f31aefedc6077',1,'eosio::extended_symbol::operator<()'],['../structeosio_1_1permission__level_a0e60ff070bbee22ee47e719e8b7757a1.html#a0e60ff070bbee22ee47e719e8b7757a1',1,'eosio::permission_level::operator<()']]], + ['operator_3c_3c_19',['operator<<',['../namespaceeosio_a73cd9c53f852d9d44d757259f38f10a8.html#a73cd9c53f852d9d44d757259f38f10a8',1,'eosio::operator<<(DataStream &ds, const ::eosio::ignore_wrapper< T > &val)'],['../namespaceeosio_a290409b4cb05910111f068b83f65018f.html#a290409b4cb05910111f068b83f65018f',1,'eosio::operator<<(datastream< Stream > &ds, const std::deque< T > &d)'],['../namespaceeosio_a79dc07b5d636c1c341dc595c0fda9a85.html#a79dc07b5d636c1c341dc595c0fda9a85',1,'eosio::operator<<(datastream< Stream > &ds, const T &v)'],['../namespaceeosio_a59511f8552dbf4a2aced270041c17f04.html#a59511f8552dbf4a2aced270041c17f04',1,'eosio::operator<<(DataStream &ds, const T &v)'],['../namespaceeosio_aabff7004d7cfc4fc8168bb0401f506e5.html#aabff7004d7cfc4fc8168bb0401f506e5',1,'eosio::operator<<(datastream< Stream > &ds, const std::tuple< Args... > &t)'],['../namespaceeosio_a3257302604d39723e60f3431e4fab38a.html#a3257302604d39723e60f3431e4fab38a',1,'eosio::operator<<(datastream< Stream > &ds, const std::map< K, V > &m)'],['../namespaceeosio_adc89fdc06750abc79c6893c84255bcce.html#adc89fdc06750abc79c6893c84255bcce',1,'eosio::operator<<(DataStream &ds, const eosio::symbol sym)'],['../namespaceeosio_a11b12cc37c10cfd1c3bf36c217aa29f6.html#a11b12cc37c10cfd1c3bf36c217aa29f6',1,'eosio::operator<<(DataStream &ds, const eosio::symbol_code sym_code)'],['../namespaceeosio_afca27a6d080cc7375dce87cdc23457e3.html#afca27a6d080cc7375dce87cdc23457e3',1,'eosio::operator<<(DataStream &ds, const string &str)'],['../namespaceeosio_a71a6485bb43edd10491fc14e79dff5fa.html#a71a6485bb43edd10491fc14e79dff5fa',1,'eosio::operator<<(DataStream &ds, const ::eosio::ignore< T > &val)'],['../namespaceeosio_a34f484a1bd28d77948b4166d0b92b6f1.html#a34f484a1bd28d77948b4166d0b92b6f1',1,'eosio::operator<<(datastream< Stream > &ds, const std::set< T > &s)'],['../namespaceeosio_a381a9f8735361fcbfb7b3a619764fad9.html#a381a9f8735361fcbfb7b3a619764fad9',1,'eosio::operator<<(datastream< Stream > &ds, const std::basic_string< uint8_t > &s)'],['../namespaceeosio_ae95c7ba8a4618dd4c006765742303329.html#ae95c7ba8a4618dd4c006765742303329',1,'eosio::operator<<(datastream< Stream > &ds, const std::basic_string< T > &s)'],['../namespaceeosio_a2c1d8a8d997953cd44283b2de8860c4a.html#a2c1d8a8d997953cd44283b2de8860c4a',1,'eosio::operator<<(datastream< Stream > &ds, const std::vector< T > &v)'],['../namespaceeosio_ae800a5c9a4c8d9ea2546535d1a91c95b.html#ae800a5c9a4c8d9ea2546535d1a91c95b',1,'eosio::operator<<(datastream< Stream > &ds, const T(&v)[N])'],['../namespaceeosio_aea5451fc739da28dc1a006d3f72e18b4.html#aea5451fc739da28dc1a006d3f72e18b4',1,'eosio::operator<<(datastream< Stream > &ds, const std::array< T, N > &v)'],['../namespaceeosio_a59e70f3361540d36ba192ca715a08adc.html#a59e70f3361540d36ba192ca715a08adc',1,'eosio::operator<<(datastream< Stream > &ds, const std::string &v)'],['../namespaceeosio_ac9f0396ed775d5fe67df4b29bc7fc61f.html#ac9f0396ed775d5fe67df4b29bc7fc61f',1,'eosio::operator<<(datastream< Stream > &ds, const std::list< T > &l)'],['../namespaceeosio_afe4a7f3bd49b821a6b3f0a3b9c45a4a5.html#afe4a7f3bd49b821a6b3f0a3b9c45a4a5',1,'eosio::operator<<(datastream< Stream > &ds, const bool &d)'],['../namespaceeosio_a0b5c48a772a3cc24ae76620483aceb23.html#a0b5c48a772a3cc24ae76620483aceb23',1,'eosio::operator<<(datastream< Stream > &ds, const std::variant< Ts... > &var)'],['../namespaceeosio_a97755f06683e48a1305a409ca3a6e9c3.html#a97755f06683e48a1305a409ca3a6e9c3',1,'eosio::operator<<(datastream< Stream > &ds, const std::pair< T1, T2 > &t)'],['../namespaceeosio_a188287b053c352c204cf0ef83786cdcd.html#a188287b053c352c204cf0ef83786cdcd',1,'eosio::operator<<(datastream< Stream > &ds, const std::optional< T > &opt)']]], + ['operator_3c_3d_20',['operator<=',['../classeosio_1_1string_a45321af08ebc945f2036e4208f6a3897.html#a45321af08ebc945f2036e4208f6a3897',1,'eosio::string::operator<=()'],['../namespaceeosio_a80fdc59744805f578b1947990dc03372.html#a80fdc59744805f578b1947990dc03372',1,'eosio::operator<=()']]], + ['operator_3d_21',['operator=',['../classeosio_1_1string_a25817fd1b016911c9d93e991447ceb05.html#a25817fd1b016911c9d93e991447ceb05',1,'eosio::string::operator=(const string &str)'],['../classeosio_1_1string_a4794d6760c9ec69edaf7b3bfb4a63b3f.html#a4794d6760c9ec69edaf7b3bfb4a63b3f',1,'eosio::string::operator=(string &&str)'],['../classeosio_1_1string_a7eb1ef7915ed4be6078d6233bce6f12d.html#a7eb1ef7915ed4be6078d6233bce6f12d',1,'eosio::string::operator=(const char *str)']]], + ['operator_3d_3d_22',['operator==',['../namespaceeosio_a2f1c46cd699cf27d007b60f941edaca0.html#a2f1c46cd699cf27d007b60f941edaca0',1,'eosio::operator==()'],['../classeosio_1_1symbol_aec9fbc4e4aff91276e8c1f71f113c494.html#aec9fbc4e4aff91276e8c1f71f113c494',1,'eosio::symbol::operator==()'],['../classeosio_1_1string_a747feeacef8c26d89dafe7a9e32e2439.html#a747feeacef8c26d89dafe7a9e32e2439',1,'eosio::string::operator==()'],['../classeosio_1_1symbol__code_a679be838b5e39b806fa42577124a214a.html#a679be838b5e39b806fa42577124a214a',1,'eosio::symbol_code::operator==()'],['../structeosio_1_1multi__index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html#ab0ac7de651351823aece097eb3be1cfb',1,'eosio::multi_index::const_iterator::operator==()'],['../structeosio_1_1multi__index_1_1index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html#ab0ac7de651351823aece097eb3be1cfb',1,'eosio::multi_index::index::const_iterator::operator==()'],['../structeosio_1_1permission__level_a40e360b0bfdb5aa413812d5cb171ff51.html#a40e360b0bfdb5aa413812d5cb171ff51',1,'eosio::permission_level::operator==()'],['../classeosio_1_1extended__symbol_ad306b3eaac29fba58441578b179398bc.html#ad306b3eaac29fba58441578b179398bc',1,'eosio::extended_symbol::operator==()']]], + ['operator_3e_23',['operator>',['../classeosio_1_1string_abf763aa94a8644b190f43d6b026893a2.html#abf763aa94a8644b190f43d6b026893a2',1,'eosio::string::operator>()'],['../namespaceeosio_ab9a725e824a4b42a2a4a23b994289061.html#ab9a725e824a4b42a2a4a23b994289061',1,'eosio::operator>()']]], + ['operator_3e_3d_24',['operator>=',['../classeosio_1_1string_a3d90c57bde93934ad912b1078a70b3e4.html#a3d90c57bde93934ad912b1078a70b3e4',1,'eosio::string::operator>=()'],['../namespaceeosio_ab403fc37b2c295133b5be19cfc548c4a.html#ab403fc37b2c295133b5be19cfc548c4a',1,'eosio::operator>=(const string &lhs, const string &rhs)']]], + ['operator_3e_3e_25',['operator>>',['../namespaceeosio_a0071f0e52a33e72d2b0da6fb69fd5a01.html#a0071f0e52a33e72d2b0da6fb69fd5a01',1,'eosio::operator>>(datastream< Stream > &ds, std::list< T > &l)'],['../namespaceeosio_a96515453c996337cf8a448415ea1997b.html#a96515453c996337cf8a448415ea1997b',1,'eosio::operator>>(datastream< Stream > &ds, std::deque< T > &d)'],['../namespaceeosio_a057c7fbba3a58e93208c3901359e5896.html#a057c7fbba3a58e93208c3901359e5896',1,'eosio::operator>>(datastream< Stream > &ds, std::variant< Ts... > &var)'],['../namespaceeosio_ada409d460d12c2d64ef2b02b3f99ddef.html#ada409d460d12c2d64ef2b02b3f99ddef',1,'eosio::operator>>(datastream< Stream > &ds, std::pair< T1, T2 > &t)'],['../namespaceeosio_a37421e74f3192dbb7ca11ff9b9c0864c.html#a37421e74f3192dbb7ca11ff9b9c0864c',1,'eosio::operator>>(datastream< Stream > &ds, std::optional< T > &opt)'],['../namespaceeosio_a9b454140b1bb214fbd65d75887098864.html#a9b454140b1bb214fbd65d75887098864',1,'eosio::operator>>(datastream< Stream > &ds, bool &d)'],['../namespaceeosio_abfb0796f4c681681dfc3e28b1f581c14.html#abfb0796f4c681681dfc3e28b1f581c14',1,'eosio::operator>>(datastream< Stream > &ds, std::string &v)'],['../namespaceeosio_af49a88acb71519dbd9e1c11c1e093625.html#af49a88acb71519dbd9e1c11c1e093625',1,'eosio::operator>>(datastream< Stream > &ds, std::array< T, N > &v)'],['../namespaceeosio_a92909b82c15215ec31eebe461e7d6403.html#a92909b82c15215ec31eebe461e7d6403',1,'eosio::operator>>(datastream< Stream > &ds, T)'],['../namespaceeosio_a8f65b4138ad6406630da2366a3f5b579.html#a8f65b4138ad6406630da2366a3f5b579',1,'eosio::operator>>(datastream< Stream > &ds, T(&v)[N])'],['../namespaceeosio_a3ea13490e88014aa37e0bd98d45b4858.html#a3ea13490e88014aa37e0bd98d45b4858',1,'eosio::operator>>(datastream< Stream > &ds, std::vector< T > &v)'],['../namespaceeosio_a513f0adb057b01a6f5b5e6a67fc9d212.html#a513f0adb057b01a6f5b5e6a67fc9d212',1,'eosio::operator>>(datastream< Stream > &ds, std::basic_string< T > &s)'],['../namespaceeosio_a58bac2858769a47b327004fb7dfacafa.html#a58bac2858769a47b327004fb7dfacafa',1,'eosio::operator>>(datastream< Stream > &ds, std::basic_string< uint8_t > &s)'],['../namespaceeosio_a47a47165efbcc2cb38f68e8db90c377a.html#a47a47165efbcc2cb38f68e8db90c377a',1,'eosio::operator>>(datastream< Stream > &ds, std::set< T > &s)'],['../namespaceeosio_a66bd481ffeae8e16fbeb6244f57fdaa4.html#a66bd481ffeae8e16fbeb6244f57fdaa4',1,'eosio::operator>>(datastream< Stream > &ds, std::map< K, V > &m)'],['../namespaceeosio_a1033bcb60718baa8636b8639205cbb79.html#a1033bcb60718baa8636b8639205cbb79',1,'eosio::operator>>(datastream< Stream > &ds, std::tuple< Args... > &t)'],['../namespaceeosio_a7d64e2f48bca13601cf6606934e6e8e6.html#a7d64e2f48bca13601cf6606934e6e8e6',1,'eosio::operator>>(DataStream &ds, T &v)'],['../namespaceeosio_a394cc26970e40b355b4c946fffc5fd78.html#a394cc26970e40b355b4c946fffc5fd78',1,'eosio::operator>>(datastream< Stream > &ds, T &v)'],['../namespaceeosio_aad4e9f9863a4d679c37dc04858b7c98a.html#aad4e9f9863a4d679c37dc04858b7c98a',1,'eosio::operator>>(DataStream &ds, ::eosio::ignore< T > &)'],['../namespaceeosio_a46b78c005e5ed39960b2e040b06b4053.html#a46b78c005e5ed39960b2e040b06b4053',1,'eosio::operator>>(DataStream &ds, string &str)'],['../namespaceeosio_a9a3b6961efd68d456b206a0c8bbb498f.html#a9a3b6961efd68d456b206a0c8bbb498f',1,'eosio::operator>>(DataStream &ds, eosio::symbol_code &sym_code)'],['../namespaceeosio_ab432976d17c725306cbb3491917d71c2.html#ab432976d17c725306cbb3491917d71c2',1,'eosio::operator>>(DataStream &ds, eosio::symbol &sym)']]], + ['operator_5b_5d_26',['operator[]',['../classeosio_1_1string_a580f518725730c3a2a6aa8ad7f525381.html#a580f518725730c3a2a6aa8ad7f525381',1,'eosio::string::operator[]()'],['../classeosio_1_1rope_a4c40c4f43561b05f6fe16edf7adbaef8.html#a4c40c4f43561b05f6fe16edf7adbaef8',1,'eosio::rope::operator[]()'],['../classeosio_1_1string_aeb96086b5c3611e1f4c195853ea9f5d8.html#aeb96086b5c3611e1f4c195853ea9f5d8',1,'eosio::string::operator[]()']]], + ['overloaded_27',['overloaded',['../structeosio_1_1overloaded.html',1,'eosio::overloaded< Ts >'],['../namespaceeosio_a3019314f98ba35c586a0d3c50747e7ee.html#a3019314f98ba35c586a0d3c50747e7ee',1,'eosio::overloaded(Ts...) -> overloaded< Ts... >']]] +]; diff --git a/docs/cdt/search/all_f.html b/docs/cdt/search/all_f.html new file mode 100644 index 000000000..70b84d28f --- /dev/null +++ b/docs/cdt/search/all_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/all_f.js b/docs/cdt/search/all_f.js new file mode 100644 index 000000000..f35a258b6 --- /dev/null +++ b/docs/cdt/search/all_f.js @@ -0,0 +1,40 @@ +var searchData= +[ + ['pack_0',['pack',['../group__datastream_ga13b3cd80e2641c0408f247c550e3d667.html#ga13b3cd80e2641c0408f247c550e3d667',1,'eosio']]], + ['pack_5fsize_1',['pack_size',['../group__datastream_ga30aa7d1c92792afc7f78af37372d68b7.html#ga30aa7d1c92792afc7f78af37372d68b7',1,'eosio']]], + ['padded_5fbytes_2',['padded_bytes',['../classeosio_1_1fixed__bytes_aeaa53faaa1a06cbc7693faeb57d3ed9a.html#aeaa53faaa1a06cbc7693faeb57d3ed9a',1,'eosio::fixed_bytes']]], + ['pairs_5flen_3',['pairs_len',['../namespaceeosio_1_1internal__use__do__not__use_a3f4c3d55b6ee872679410d65c69d9793.html#a3f4c3d55b6ee872679410d65c69d9793',1,'eosio::internal_use_do_not_use']]], + ['participants_4',['participants',['../structeosio_1_1security__group_a973d5d82d74821e31a8cd813a3b9cb6f.html#a973d5d82d74821e31a8cd813a3b9cb6f',1,'eosio::security_group']]], + ['permission_5',['permission',['../namespaceeosio_1_1internal__use__do__not__use_ac956e7abe6f9a0aec8d5afce830c336a.html#ac956e7abe6f9a0aec8d5afce830c336a',1,'eosio::internal_use_do_not_use::permission()'],['../structeosio_1_1permission__level_af30baa92f0b3d6b611967c0dfb7555a7.html#af30baa92f0b3d6b611967c0dfb7555a7',1,'eosio::permission_level::permission()']]], + ['permission_2ehpp_6',['permission.hpp',['../permission_8hpp.html',1,'']]], + ['permission_5flevel_7',['permission_level',['../structeosio_1_1permission__level.html',1,'eosio::permission_level'],['../structeosio_1_1permission__level_a5b23258308433be05a03ab4e2fce9b36.html#a5b23258308433be05a03ab4e2fce9b36',1,'eosio::permission_level::permission_level(name a, name p)'],['../structeosio_1_1permission__level_a80e38737c6e727a27e9ff7a195f74d5d.html#a80e38737c6e727a27e9ff7a195f74d5d',1,'eosio::permission_level::permission_level()']]], + ['permissions_8',['permissions',['../structeosio_1_1action__wrapper_ae1e1b2dda09b7185e2f6ae7ec6acadf1.html#ae1e1b2dda09b7185e2f6ae7ec6acadf1',1,'eosio::action_wrapper::permissions()'],['../structeosio_1_1variant__action__wrapper_adec76a914d269cc458affb4c9a5123bd.html#adec76a914d269cc458affb4c9a5123bd',1,'eosio::variant_action_wrapper::permissions()']]], + ['pop_5fback_9',['pop_back',['../classeosio_1_1string_a6cf5e0f41fcf2d8d9665fede53303e7a.html#a6cf5e0f41fcf2d8d9665fede53303e7a',1,'eosio::string']]], + ['pos_10',['pos',['../classeosio_1_1datastream_a090e80d1bddd21337b16b3fad76c551d.html#a090e80d1bddd21337b16b3fad76c551d',1,'eosio::datastream']]], + ['pow_11',['pow',['../namespaceeosio_adea93ee4d60913259a084567ee672217.html#adea93ee4d60913259a084567ee672217',1,'eosio::pow()'],['../namespaceeosio_1_1detail_a9f0e47cb61333aee2eaade34168b6422.html#a9f0e47cb61333aee2eaade34168b6422',1,'eosio::detail::pow(T base, uint8_t exponent)']]], + ['pow_5fgenerator_12',['pow_generator',['../namespaceeosio_1_1detail_a184c27c80cca8d2a18974859c0123f8a.html#a184c27c80cca8d2a18974859c0123f8a',1,'eosio::detail']]], + ['powers_2ehpp_13',['powers.hpp',['../powers_8hpp.html',1,'']]], + ['powers_5fof_5fbase_14',['powers_of_base',['../namespaceeosio_a4f16ca40c7fd4cdde61b9e1f03d850de.html#a4f16ca40c7fd4cdde61b9e1f03d850de',1,'eosio']]], + ['preactivate_5ffeature_15',['preactivate_feature',['../group__privileged_gaef817a1cfd765f9b0962f62897895243.html#gaef817a1cfd765f9b0962f62897895243',1,'eosio']]], + ['precision_16',['precision',['../classeosio_1_1symbol_af2153bf9cfc5bd79c3f1787f8028646a.html#af2153bf9cfc5bd79c3f1787f8028646a',1,'eosio::symbol']]], + ['prefix_17',['prefix',['../structeosio_1_1name_a5afd970dffff251b4137738542463c53.html#a5afd970dffff251b4137738542463c53',1,'eosio::name']]], + ['print_18',['print',['../structeosio_1_1name_aa2b5455012ac1cc8bc9f615f305fa65e.html#aa2b5455012ac1cc8bc9f615f305fa65e',1,'eosio::name::print()'],['../classeosio_1_1rope_acee48b4685b912e110c24f4cbd9caa4d.html#acee48b4685b912e110c24f4cbd9caa4d',1,'eosio::rope::print()'],['../classeosio_1_1string_afe503d29eaae256ea611fbe5e1525b7e.html#afe503d29eaae256ea611fbe5e1525b7e',1,'eosio::string::print()'],['../classeosio_1_1symbol__code_aac85cf2211c7f763232ecc05d473f7ff.html#aac85cf2211c7f763232ecc05d473f7ff',1,'eosio::symbol_code::print()'],['../classeosio_1_1symbol_a9f8042d110a6fff15ea1813987c0fbe6.html#a9f8042d110a6fff15ea1813987c0fbe6',1,'eosio::symbol::print()'],['../classeosio_1_1extended__symbol_a2b1d5fafb307b27aab4274560a09866e.html#a2b1d5fafb307b27aab4274560a09866e',1,'eosio::extended_symbol::print()'],['../namespaceeosio_ab5232cf7452d463948eac1179f31d9f0.html#ab5232cf7452d463948eac1179f31d9f0',1,'eosio::print(Arg &&a, Args &&... args)'],['../group__console_gaccb44465b58c681e320b9cb9a6a78e62.html#gaccb44465b58c681e320b9cb9a6a78e62',1,'eosio::print(T &&t)'],['../classeosio_1_1fixed__bytes_afeaa78eb715d55b40c00e4c542de64db.html#afeaa78eb715d55b40c00e4c542de64db',1,'eosio::fixed_bytes::print()'],['../structeosio_1_1extended__asset_af5993cb01622505de48870ba728cec3b.html#af5993cb01622505de48870ba728cec3b',1,'eosio::extended_asset::print()'],['../structeosio_1_1asset_a111a52097d1761898d5641536c308416.html#a111a52097d1761898d5641536c308416',1,'eosio::asset::print()'],['../group__console_gaa0a56fe314d032d027a1565d93a68b21.html#gaa0a56fe314d032d027a1565d93a68b21',1,'eosio::print(const char *ptr)'],['../namespaceeosio_a6059b3dec50360c86d4098f81e70a286.html#a6059b3dec50360c86d4098f81e70a286',1,'eosio::print(T num)'],['../group__console_ga02d168bc05492d64cefea469dd114c12.html#ga02d168bc05492d64cefea469dd114c12',1,'eosio::print(float num)'],['../group__console_ga8753f6a7c7d5c518f6369cfebf5be1bb.html#ga8753f6a7c7d5c518f6369cfebf5be1bb',1,'eosio::print(double num)'],['../group__console_ga2a3eea270ff4dbe4a15c2269a5c2cfec.html#ga2a3eea270ff4dbe4a15c2269a5c2cfec',1,'eosio::print(long double num)']]], + ['print_2ehpp_19',['print.hpp',['../print_8hpp.html',1,'']]], + ['print_5ff_20',['print_f',['../namespaceeosio_afcfae01c6d714474da8407a1c195c836.html#afcfae01c6d714474da8407a1c195c836',1,'eosio::print_f(const char *s, Arg val, Args... rest)'],['../group__console_gab9715bf002b919701d38e3ff931feabf.html#gab9715bf002b919701d38e3ff931feabf',1,'eosio::print_f(const char *s)']]], + ['printhex_21',['printhex',['../group__console_gab8eb3bd97387854f71fd4a68d167b418.html#gab8eb3bd97387854f71fd4a68d167b418',1,'eosio']]], + ['printl_22',['printl',['../group__console_ga7abae4d32d4fec590c9988a6aec88cec.html#ga7abae4d32d4fec590c9988a6aec88cec',1,'eosio']]], + ['privileged_2ehpp_23',['privileged.hpp',['../privileged_8hpp.html',1,'']]], + ['producer_5fauthority_24',['producer_authority',['../structeosio_1_1producer__authority.html',1,'eosio']]], + ['producer_5fdata_25',['producer_data',['../namespaceeosio_1_1internal__use__do__not__use_ada902a227b77350f7f51b72a0a3db867.html#ada902a227b77350f7f51b72a0a3db867',1,'eosio::internal_use_do_not_use']]], + ['producer_5fdata_5fsize_26',['producer_data_size',['../namespaceeosio_1_1internal__use__do__not__use_a208a5e31ff7bb998c7a04b27569e4a62.html#a208a5e31ff7bb998c7a04b27569e4a62',1,'eosio::internal_use_do_not_use']]], + ['producer_5fkey_27',['producer_key',['../structeosio_1_1producer__key.html',1,'eosio']]], + ['producer_5fname_28',['producer_name',['../structeosio_1_1producer__authority_a4b283812e4b5646e5c00b9009ccaa642.html#a4b283812e4b5646e5c00b9009ccaa642',1,'eosio::producer_authority::producer_name()'],['../group__producer__key_gabec477141e08f7648fbdb5d7c2e69824.html#gabec477141e08f7648fbdb5d7c2e69824',1,'eosio::producer_key::producer_name()']]], + ['producer_5fschedule_29',['producer_schedule',['../structeosio_1_1producer__schedule.html',1,'eosio']]], + ['producer_5fschedule_2ehpp_30',['producer_schedule.hpp',['../producer__schedule_8hpp.html',1,'']]], + ['producers_31',['producers',['../structeosio_1_1producer__schedule_a10628b8023f6db90687a54776d15a117.html#a10628b8023f6db90687a54776d15a117',1,'eosio::producer_schedule']]], + ['pub_32',['pub',['../namespaceeosio_1_1internal__use__do__not__use_a93a8561c5ce93a3662e230570b7c2dc3.html#a93a8561c5ce93a3662e230570b7c2dc3',1,'eosio::internal_use_do_not_use']]], + ['pub_5flen_33',['pub_len',['../namespaceeosio_1_1internal__use__do__not__use_a9eb916bf6dc3592b13ea43f058572fb1.html#a9eb916bf6dc3592b13ea43f058572fb1',1,'eosio::internal_use_do_not_use']]], + ['publication_5ftime_34',['publication_time',['../group__action_ga0005da20de567962c4357c18ba29bdf7.html#ga0005da20de567962c4357c18ba29bdf7',1,'eosio']]], + ['push_5fback_35',['push_back',['../classeosio_1_1string_a5f9020ff29f0631f18fcdd825e32f577.html#a5f9020ff29f0631f18fcdd825e32f577',1,'eosio::string']]], + ['put_36',['put',['../classeosio_1_1datastream_ad0a23aa024810028ce8669627577859d.html#ad0a23aa024810028ce8669627577859d',1,'eosio::datastream::put()'],['../classeosio_1_1datastream_3_01size__t_01_4_a4a1a95751dafd76aea580d80c84bf8bb.html#a4a1a95751dafd76aea580d80c84bf8bb',1,'eosio::datastream< size_t >::put()']]] +]; diff --git a/docs/cdt/search/classes_0.html b/docs/cdt/search/classes_0.html new file mode 100644 index 000000000..c6ed04215 --- /dev/null +++ b/docs/cdt/search/classes_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_0.js b/docs/cdt/search/classes_0.js new file mode 100644 index 000000000..8495b1ad7 --- /dev/null +++ b/docs/cdt/search/classes_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['action_0',['action',['../structeosio_1_1action.html',1,'eosio']]], + ['action_5fwrapper_1',['action_wrapper',['../structeosio_1_1action__wrapper.html',1,'eosio']]], + ['asset_2',['asset',['../structeosio_1_1asset.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_1.html b/docs/cdt/search/classes_1.html new file mode 100644 index 000000000..b98e43dbe --- /dev/null +++ b/docs/cdt/search/classes_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_1.js b/docs/cdt/search/classes_1.js new file mode 100644 index 000000000..e568ba004 --- /dev/null +++ b/docs/cdt/search/classes_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['block_5fsigning_5fauthority_5fv0_0',['block_signing_authority_v0',['../structeosio_1_1block__signing__authority__v0.html',1,'eosio']]], + ['block_5ftimestamp_1',['block_timestamp',['../classeosio_1_1block__timestamp.html',1,'eosio']]], + ['blockchain_5fparameters_2',['blockchain_parameters',['../structeosio_1_1blockchain__parameters.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_10.html b/docs/cdt/search/classes_10.html new file mode 100644 index 000000000..ebecb7ac5 --- /dev/null +++ b/docs/cdt/search/classes_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_10.js b/docs/cdt/search/classes_10.js new file mode 100644 index 000000000..67f047ebc --- /dev/null +++ b/docs/cdt/search/classes_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unsigned_5fint_0',['unsigned_int',['../structeosio_1_1unsigned__int.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_11.html b/docs/cdt/search/classes_11.html new file mode 100644 index 000000000..c7b7b69cf --- /dev/null +++ b/docs/cdt/search/classes_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_11.js b/docs/cdt/search/classes_11.js new file mode 100644 index 000000000..f55dfdad8 --- /dev/null +++ b/docs/cdt/search/classes_11.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['variant_5faction_5fwrapper_0',['variant_action_wrapper',['../structeosio_1_1variant__action__wrapper.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_2.html b/docs/cdt/search/classes_2.html new file mode 100644 index 000000000..f58982cce --- /dev/null +++ b/docs/cdt/search/classes_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_2.js b/docs/cdt/search/classes_2.js new file mode 100644 index 000000000..c758bdbd3 --- /dev/null +++ b/docs/cdt/search/classes_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['code_5fhash_5fresult_0',['code_hash_result',['../structeosio_1_1code__hash__result.html',1,'eosio']]], + ['concat_5ft_1',['concat_t',['../structeosio_1_1impl_1_1concat__t.html',1,'eosio::impl']]], + ['const_5fiterator_2',['const_iterator',['../structeosio_1_1multi__index_1_1const__iterator.html',1,'eosio::multi_index< TableName, T, Indices >::const_iterator'],['../structeosio_1_1multi__index_1_1index_1_1const__iterator.html',1,'eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator']]], + ['const_5fmem_5ffun_3',['const_mem_fun',['../structeosio_1_1const__mem__fun.html',1,'eosio']]], + ['contract_4',['contract',['../classeosio_1_1contract.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_3.html b/docs/cdt/search/classes_3.html new file mode 100644 index 000000000..7b43f6a5d --- /dev/null +++ b/docs/cdt/search/classes_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_3.js b/docs/cdt/search/classes_3.js new file mode 100644 index 000000000..2f2900fe9 --- /dev/null +++ b/docs/cdt/search/classes_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['datastream_0',['datastream',['../classeosio_1_1datastream.html',1,'eosio']]], + ['datastream_3c_20const_20char_20_2a_20_3e_1',['datastream< const char * >',['../classeosio_1_1datastream.html',1,'eosio']]], + ['datastream_3c_20size_5ft_20_3e_2',['datastream< size_t >',['../classeosio_1_1datastream_3_01size__t_01_4.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_4.html b/docs/cdt/search/classes_4.html new file mode 100644 index 000000000..f491303d4 --- /dev/null +++ b/docs/cdt/search/classes_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_4.js b/docs/cdt/search/classes_4.js new file mode 100644 index 000000000..206dfd701 --- /dev/null +++ b/docs/cdt/search/classes_4.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['ec_5fpoint_0',['ec_point',['../structeosio_1_1ec__point.html',1,'eosio']]], + ['ec_5fpoint_5fview_1',['ec_point_view',['../structeosio_1_1ec__point__view.html',1,'eosio']]], + ['extended_5fasset_2',['extended_asset',['../structeosio_1_1extended__asset.html',1,'eosio']]], + ['extended_5fsymbol_3',['extended_symbol',['../classeosio_1_1extended__symbol.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_5.html b/docs/cdt/search/classes_5.html new file mode 100644 index 000000000..fd5c2baaf --- /dev/null +++ b/docs/cdt/search/classes_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_5.js b/docs/cdt/search/classes_5.js new file mode 100644 index 000000000..c4f09874a --- /dev/null +++ b/docs/cdt/search/classes_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['fixed_5fbytes_0',['fixed_bytes',['../classeosio_1_1fixed__bytes.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_6.html b/docs/cdt/search/classes_6.html new file mode 100644 index 000000000..576a6c211 --- /dev/null +++ b/docs/cdt/search/classes_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_6.js b/docs/cdt/search/classes_6.js new file mode 100644 index 000000000..61a6c071c --- /dev/null +++ b/docs/cdt/search/classes_6.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['ignore_0',['ignore',['../structeosio_1_1ignore.html',1,'eosio']]], + ['ignore_5fwrapper_1',['ignore_wrapper',['../structeosio_1_1ignore__wrapper.html',1,'eosio']]], + ['indexed_5fby_2',['indexed_by',['../structeosio_1_1indexed__by.html',1,'eosio']]], + ['inline_5fdispatcher_3',['inline_dispatcher',['../structeosio_1_1inline__dispatcher.html',1,'eosio']]], + ['inline_5fdispatcher_3c_20void_28t_3a_3a_2a_29_28args_2e_2e_2e_29_2c_20name_20_3e_4',['inline_dispatcher< void(T::*)(Args...), Name >',['../structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4.html',1,'eosio']]], + ['iostream_5',['iostream',['../classeosio_1_1iostream.html',1,'eosio']]], + ['is_5fdatastream_6',['is_datastream',['../structeosio_1_1__datastream__detail_1_1is__datastream.html',1,'eosio::_datastream_detail']]], + ['is_5fdatastream_3c_20datastream_3c_20t_20_3e_20_3e_7',['is_datastream< datastream< T > >',['../structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4.html',1,'eosio::_datastream_detail']]] +]; diff --git a/docs/cdt/search/classes_7.html b/docs/cdt/search/classes_7.html new file mode 100644 index 000000000..7a1db8341 --- /dev/null +++ b/docs/cdt/search/classes_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_7.js b/docs/cdt/search/classes_7.js new file mode 100644 index 000000000..b9580d610 --- /dev/null +++ b/docs/cdt/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_5fweight_0',['key_weight',['../structeosio_1_1key__weight.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_8.html b/docs/cdt/search/classes_8.html new file mode 100644 index 000000000..8ba241e8b --- /dev/null +++ b/docs/cdt/search/classes_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_8.js b/docs/cdt/search/classes_8.js new file mode 100644 index 000000000..37784f303 --- /dev/null +++ b/docs/cdt/search/classes_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['largest_5fpower_0',['largest_power',['../structeosio_1_1detail_1_1largest__power.html',1,'eosio::detail']]], + ['largest_5fpower_5fhelper_1',['largest_power_helper',['../structeosio_1_1detail_1_1largest__power__helper.html',1,'eosio::detail']]], + ['largest_5fpower_5fhelper_3c_20t_2c_20base_2c_20exponent_2c_20value_2c_20true_20_3e_2',['largest_power_helper< T, Base, Exponent, Value, true >',['../structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4.html',1,'eosio::detail']]] +]; diff --git a/docs/cdt/search/classes_9.html b/docs/cdt/search/classes_9.html new file mode 100644 index 000000000..73c34b799 --- /dev/null +++ b/docs/cdt/search/classes_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_9.js b/docs/cdt/search/classes_9.js new file mode 100644 index 000000000..4ffa16a61 --- /dev/null +++ b/docs/cdt/search/classes_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['microseconds_0',['microseconds',['../classeosio_1_1microseconds.html',1,'eosio']]], + ['multi_5findex_1',['multi_index',['../classeosio_1_1multi__index.html',1,'eosio']]], + ['multi_5findex_3c_20singletonname_2c_20row_20_3e_2',['multi_index< SingletonName, row >',['../classeosio_1_1multi__index.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_a.html b/docs/cdt/search/classes_a.html new file mode 100644 index 000000000..fc32cc921 --- /dev/null +++ b/docs/cdt/search/classes_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_a.js b/docs/cdt/search/classes_a.js new file mode 100644 index 000000000..587ede1bd --- /dev/null +++ b/docs/cdt/search/classes_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['name_0',['name',['../structeosio_1_1name.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_b.html b/docs/cdt/search/classes_b.html new file mode 100644 index 000000000..073fae955 --- /dev/null +++ b/docs/cdt/search/classes_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_b.js b/docs/cdt/search/classes_b.js new file mode 100644 index 000000000..9c79861d0 --- /dev/null +++ b/docs/cdt/search/classes_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['onerror_0',['onerror',['../structeosio_1_1onerror.html',1,'eosio']]], + ['overloaded_1',['overloaded',['../structeosio_1_1overloaded.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_c.html b/docs/cdt/search/classes_c.html new file mode 100644 index 000000000..c2003f0cf --- /dev/null +++ b/docs/cdt/search/classes_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_c.js b/docs/cdt/search/classes_c.js new file mode 100644 index 000000000..3e1e5921a --- /dev/null +++ b/docs/cdt/search/classes_c.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['permission_5flevel_0',['permission_level',['../structeosio_1_1permission__level.html',1,'eosio']]], + ['producer_5fauthority_1',['producer_authority',['../structeosio_1_1producer__authority.html',1,'eosio']]], + ['producer_5fkey_2',['producer_key',['../structeosio_1_1producer__key.html',1,'eosio']]], + ['producer_5fschedule_3',['producer_schedule',['../structeosio_1_1producer__schedule.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_d.html b/docs/cdt/search/classes_d.html new file mode 100644 index 000000000..ba85373d2 --- /dev/null +++ b/docs/cdt/search/classes_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_d.js b/docs/cdt/search/classes_d.js new file mode 100644 index 000000000..87b8b70ca --- /dev/null +++ b/docs/cdt/search/classes_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rope_0',['rope',['../classeosio_1_1rope.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_e.html b/docs/cdt/search/classes_e.html new file mode 100644 index 000000000..3116b0cef --- /dev/null +++ b/docs/cdt/search/classes_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_e.js b/docs/cdt/search/classes_e.js new file mode 100644 index 000000000..aacc50aec --- /dev/null +++ b/docs/cdt/search/classes_e.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['secondary_5findex_5fdb_5ffunctions_0',['secondary_index_db_functions',['../structeosio_1_1__multi__index__detail_1_1secondary__index__db__functions.html',1,'eosio::_multi_index_detail']]], + ['secondary_5fkey_5ftraits_1',['secondary_key_traits',['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits.html',1,'eosio::_multi_index_detail']]], + ['secondary_5fkey_5ftraits_3c_20double_20_3e_2',['secondary_key_traits< double >',['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4.html',1,'eosio::_multi_index_detail']]], + ['secondary_5fkey_5ftraits_3c_20eosio_3a_3afixed_5fbytes_3c_2032_20_3e_20_3e_3',['secondary_key_traits< eosio::fixed_bytes< 32 > >',['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4.html',1,'eosio::_multi_index_detail']]], + ['secondary_5fkey_5ftraits_3c_20long_20double_20_3e_4',['secondary_key_traits< long double >',['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4.html',1,'eosio::_multi_index_detail']]], + ['security_5fgroup_5',['security_group',['../structeosio_1_1security__group.html',1,'eosio']]], + ['signed_5fint_6',['signed_int',['../structeosio_1_1signed__int.html',1,'eosio']]], + ['singleton_7',['singleton',['../classeosio_1_1singleton.html',1,'eosio']]], + ['str_5ft_8',['str_t',['../structeosio_1_1impl_1_1str__t.html',1,'eosio::impl']]], + ['string_9',['string',['../classeosio_1_1string.html',1,'eosio']]], + ['symbol_10',['symbol',['../classeosio_1_1symbol.html',1,'eosio']]], + ['symbol_5fcode_11',['symbol_code',['../classeosio_1_1symbol__code.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/classes_f.html b/docs/cdt/search/classes_f.html new file mode 100644 index 000000000..ca3528c45 --- /dev/null +++ b/docs/cdt/search/classes_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/classes_f.js b/docs/cdt/search/classes_f.js new file mode 100644 index 000000000..c54dcc1c2 --- /dev/null +++ b/docs/cdt/search/classes_f.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['time_5fpoint_0',['time_point',['../classeosio_1_1time__point.html',1,'eosio']]], + ['time_5fpoint_5fsec_1',['time_point_sec',['../classeosio_1_1time__point__sec.html',1,'eosio']]], + ['to_5fconst_5fchar_5farr_2',['to_const_char_arr',['../structeosio_1_1detail_1_1to__const__char__arr.html',1,'eosio::detail']]], + ['transaction_3',['transaction',['../classeosio_1_1transaction.html',1,'eosio']]], + ['transaction_5fheader_4',['transaction_header',['../classeosio_1_1transaction__header.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/close.svg b/docs/cdt/search/close.svg new file mode 100644 index 000000000..a933eea1a --- /dev/null +++ b/docs/cdt/search/close.svg @@ -0,0 +1,31 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/docs/cdt/search/defines_0.html b/docs/cdt/search/defines_0.html new file mode 100644 index 000000000..72dc4a57e --- /dev/null +++ b/docs/cdt/search/defines_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/defines_0.js b/docs/cdt/search/defines_0.js new file mode 100644 index 000000000..5b7d208ee --- /dev/null +++ b/docs/cdt/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['action_0',['ACTION',['../contract_8hpp_abeb73dfe8d6e8c280ebce28d84190c7e.html#abeb73dfe8d6e8c280ebce28d84190c7e',1,'contract.hpp']]] +]; diff --git a/docs/cdt/search/defines_1.html b/docs/cdt/search/defines_1.html new file mode 100644 index 000000000..aea3ba3f6 --- /dev/null +++ b/docs/cdt/search/defines_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/defines_1.js b/docs/cdt/search/defines_1.js new file mode 100644 index 000000000..a29a7f78d --- /dev/null +++ b/docs/cdt/search/defines_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eoslib_5freflect_5fmember_5fop_0',['EOSLIB_REFLECT_MEMBER_OP',['../serialize_8hpp_a6feed62c5d17dc8c6a94845f1ea59b0b.html#a6feed62c5d17dc8c6a94845f1ea59b0b',1,'serialize.hpp']]] +]; diff --git a/docs/cdt/search/defines_2.html b/docs/cdt/search/defines_2.html new file mode 100644 index 000000000..3895e9c86 --- /dev/null +++ b/docs/cdt/search/defines_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/defines_2.js b/docs/cdt/search/defines_2.js new file mode 100644 index 000000000..8f9a7fa5d --- /dev/null +++ b/docs/cdt/search/defines_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['inline_5faction_5fsender_0',['INLINE_ACTION_SENDER',['../action_8hpp_a1bb288791cd436d07bddf3d43f4740d4.html#a1bb288791cd436d07bddf3d43f4740d4',1,'action.hpp']]], + ['inline_5faction_5fsender2_1',['INLINE_ACTION_SENDER2',['../action_8hpp_abeecc07548f70308a4aab9fcdb2d22f1.html#abeecc07548f70308a4aab9fcdb2d22f1',1,'action.hpp']]], + ['inline_5faction_5fsender3_2',['INLINE_ACTION_SENDER3',['../action_8hpp_a20c19e0f931fad16c4db6d29480acddf.html#a20c19e0f931fad16c4db6d29480acddf',1,'action.hpp']]] +]; diff --git a/docs/cdt/search/defines_3.html b/docs/cdt/search/defines_3.html new file mode 100644 index 000000000..2ac925727 --- /dev/null +++ b/docs/cdt/search/defines_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/defines_3.js b/docs/cdt/search/defines_3.js new file mode 100644 index 000000000..571115234 --- /dev/null +++ b/docs/cdt/search/defines_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['make_5ftraits_5ffor_5farithmetic_5fsecondary_5fkey_0',['MAKE_TRAITS_FOR_ARITHMETIC_SECONDARY_KEY',['../multi__index_8hpp_aab2b11a88b267a1ad4009fed8dc5e778.html#aab2b11a88b267a1ad4009fed8dc5e778',1,'multi_index.hpp']]] +]; diff --git a/docs/cdt/search/defines_4.html b/docs/cdt/search/defines_4.html new file mode 100644 index 000000000..6e19d23a2 --- /dev/null +++ b/docs/cdt/search/defines_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/defines_4.js b/docs/cdt/search/defines_4.js new file mode 100644 index 000000000..80bcd85c9 --- /dev/null +++ b/docs/cdt/search/defines_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['send_5finline_5faction_0',['SEND_INLINE_ACTION',['../action_8hpp_a7c267f408db88d60ce0a5c74845596ee.html#a7c267f408db88d60ce0a5c74845596ee',1,'action.hpp']]] +]; diff --git a/docs/cdt/search/defines_5.html b/docs/cdt/search/defines_5.html new file mode 100644 index 000000000..9d3afe666 --- /dev/null +++ b/docs/cdt/search/defines_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/defines_5.js b/docs/cdt/search/defines_5.js new file mode 100644 index 000000000..f970d6ecd --- /dev/null +++ b/docs/cdt/search/defines_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['table_0',['TABLE',['../contract_8hpp_acadaccd8321f8569f31a11bdad1829da.html#acadaccd8321f8569f31a11bdad1829da',1,'contract.hpp']]] +]; diff --git a/docs/cdt/search/defines_6.html b/docs/cdt/search/defines_6.html new file mode 100644 index 000000000..0bf01fd3a --- /dev/null +++ b/docs/cdt/search/defines_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/defines_6.js b/docs/cdt/search/defines_6.js new file mode 100644 index 000000000..1e7cfd467 --- /dev/null +++ b/docs/cdt/search/defines_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['wrap_5fsecondary_5farray_5ftype_0',['WRAP_SECONDARY_ARRAY_TYPE',['../multi__index_8hpp_a522b8927626c841da1e6cc3a292d5913.html#a522b8927626c841da1e6cc3a292d5913',1,'multi_index.hpp']]], + ['wrap_5fsecondary_5fsimple_5ftype_1',['WRAP_SECONDARY_SIMPLE_TYPE',['../multi__index_8hpp_a44e11d95000af02139eda2f0dd62f965.html#a44e11d95000af02139eda2f0dd62f965',1,'multi_index.hpp']]] +]; diff --git a/docs/cdt/search/enums_0.html b/docs/cdt/search/enums_0.html new file mode 100644 index 000000000..a944579a4 --- /dev/null +++ b/docs/cdt/search/enums_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/enums_0.js b/docs/cdt/search/enums_0.js new file mode 100644 index 000000000..75bbb61c6 --- /dev/null +++ b/docs/cdt/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['constants_0',['constants',['../structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html#ad04dd8d771430edeb499c9d03bc9bb60',1,'eosio::indexed_by']]] +]; diff --git a/docs/cdt/search/enums_1.html b/docs/cdt/search/enums_1.html new file mode 100644 index 000000000..4c22dad24 --- /dev/null +++ b/docs/cdt/search/enums_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/enums_1.js b/docs/cdt/search/enums_1.js new file mode 100644 index 000000000..f3893a104 --- /dev/null +++ b/docs/cdt/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['raw_0',['raw',['../structeosio_1_1name_a1d269720fd7434429216833187173656.html#a1d269720fd7434429216833187173656',1,'eosio::name']]] +]; diff --git a/docs/cdt/search/enumvalues_0.html b/docs/cdt/search/enumvalues_0.html new file mode 100644 index 000000000..7b5afd3b6 --- /dev/null +++ b/docs/cdt/search/enumvalues_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/enumvalues_0.js b/docs/cdt/search/enumvalues_0.js new file mode 100644 index 000000000..589fa6836 --- /dev/null +++ b/docs/cdt/search/enumvalues_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['index_5fname_0',['index_name',['../structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html#ad04dd8d771430edeb499c9d03bc9bb60a4645263158ffe7d237fda11ac37aea05',1,'eosio::indexed_by']]] +]; diff --git a/docs/cdt/search/files_0.html b/docs/cdt/search/files_0.html new file mode 100644 index 000000000..aca22adae --- /dev/null +++ b/docs/cdt/search/files_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_0.js b/docs/cdt/search/files_0.js new file mode 100644 index 000000000..f083d3265 --- /dev/null +++ b/docs/cdt/search/files_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['action_2ehpp_0',['action.hpp',['../action_8hpp.html',1,'']]], + ['asset_2ehpp_1',['asset.hpp',['../asset_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_1.html b/docs/cdt/search/files_1.html new file mode 100644 index 000000000..25ac93e53 --- /dev/null +++ b/docs/cdt/search/files_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_1.js b/docs/cdt/search/files_1.js new file mode 100644 index 000000000..64c98c107 --- /dev/null +++ b/docs/cdt/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['binary_5fextension_2ehpp_0',['binary_extension.hpp',['../binary__extension_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_2.html b/docs/cdt/search/files_2.html new file mode 100644 index 000000000..5a34e333f --- /dev/null +++ b/docs/cdt/search/files_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_2.js b/docs/cdt/search/files_2.js new file mode 100644 index 000000000..85465c06f --- /dev/null +++ b/docs/cdt/search/files_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['check_2ehpp_0',['check.hpp',['../check_8hpp.html',1,'']]], + ['context_2ehpp_1',['context.hpp',['../context_8hpp.html',1,'']]], + ['contract_2ehpp_2',['contract.hpp',['../contract_8hpp.html',1,'']]], + ['crypto_2ehpp_3',['crypto.hpp',['../crypto_8hpp.html',1,'']]], + ['crypto_5fext_2ehpp_4',['crypto_ext.hpp',['../crypto__ext_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_3.html b/docs/cdt/search/files_3.html new file mode 100644 index 000000000..e9ca07791 --- /dev/null +++ b/docs/cdt/search/files_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_3.js b/docs/cdt/search/files_3.js new file mode 100644 index 000000000..b607ad1f6 --- /dev/null +++ b/docs/cdt/search/files_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['datastream_2ehpp_0',['datastream.hpp',['../datastream_8hpp.html',1,'']]], + ['dispatcher_2ehpp_1',['dispatcher.hpp',['../dispatcher_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_4.html b/docs/cdt/search/files_4.html new file mode 100644 index 000000000..a6be640ee --- /dev/null +++ b/docs/cdt/search/files_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_4.js b/docs/cdt/search/files_4.js new file mode 100644 index 000000000..e3146bf75 --- /dev/null +++ b/docs/cdt/search/files_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['eosio_2ehpp_0',['eosio.hpp',['../eosio_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_5.html b/docs/cdt/search/files_5.html new file mode 100644 index 000000000..51c2adfdf --- /dev/null +++ b/docs/cdt/search/files_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_5.js b/docs/cdt/search/files_5.js new file mode 100644 index 000000000..0c5fcb0bb --- /dev/null +++ b/docs/cdt/search/files_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['fixed_5fbytes_2ehpp_0',['fixed_bytes.hpp',['../fixed__bytes_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_6.html b/docs/cdt/search/files_6.html new file mode 100644 index 000000000..399a21b99 --- /dev/null +++ b/docs/cdt/search/files_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_6.js b/docs/cdt/search/files_6.js new file mode 100644 index 000000000..6f5dcee8c --- /dev/null +++ b/docs/cdt/search/files_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ignore_2ehpp_0',['ignore.hpp',['../ignore_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_7.html b/docs/cdt/search/files_7.html new file mode 100644 index 000000000..20d1990f4 --- /dev/null +++ b/docs/cdt/search/files_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_7.js b/docs/cdt/search/files_7.js new file mode 100644 index 000000000..3094b21ad --- /dev/null +++ b/docs/cdt/search/files_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_5futils_2ehpp_0',['key_utils.hpp',['../key__utils_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_8.html b/docs/cdt/search/files_8.html new file mode 100644 index 000000000..49681742f --- /dev/null +++ b/docs/cdt/search/files_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_8.js b/docs/cdt/search/files_8.js new file mode 100644 index 000000000..08de84404 --- /dev/null +++ b/docs/cdt/search/files_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['multi_5findex_2ehpp_0',['multi_index.hpp',['../multi__index_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_9.html b/docs/cdt/search/files_9.html new file mode 100644 index 000000000..f0f8fe663 --- /dev/null +++ b/docs/cdt/search/files_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_9.js b/docs/cdt/search/files_9.js new file mode 100644 index 000000000..83d3408ab --- /dev/null +++ b/docs/cdt/search/files_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['name_2ehpp_0',['name.hpp',['../name_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_a.html b/docs/cdt/search/files_a.html new file mode 100644 index 000000000..9255d519a --- /dev/null +++ b/docs/cdt/search/files_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_a.js b/docs/cdt/search/files_a.js new file mode 100644 index 000000000..cdf88ce41 --- /dev/null +++ b/docs/cdt/search/files_a.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['permission_2ehpp_0',['permission.hpp',['../permission_8hpp.html',1,'']]], + ['powers_2ehpp_1',['powers.hpp',['../powers_8hpp.html',1,'']]], + ['print_2ehpp_2',['print.hpp',['../print_8hpp.html',1,'']]], + ['privileged_2ehpp_3',['privileged.hpp',['../privileged_8hpp.html',1,'']]], + ['producer_5fschedule_2ehpp_4',['producer_schedule.hpp',['../producer__schedule_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_b.html b/docs/cdt/search/files_b.html new file mode 100644 index 000000000..5d4cc7a5c --- /dev/null +++ b/docs/cdt/search/files_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_b.js b/docs/cdt/search/files_b.js new file mode 100644 index 000000000..156cad28d --- /dev/null +++ b/docs/cdt/search/files_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['readme_2emd_0',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]], + ['reflect_2ehpp_1',['reflect.hpp',['../reflect_8hpp.html',1,'']]], + ['rope_2ehpp_2',['rope.hpp',['../rope_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_c.html b/docs/cdt/search/files_c.html new file mode 100644 index 000000000..1298cf9ce --- /dev/null +++ b/docs/cdt/search/files_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_c.js b/docs/cdt/search/files_c.js new file mode 100644 index 000000000..f0e83c968 --- /dev/null +++ b/docs/cdt/search/files_c.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['security_5fgroup_2ehpp_0',['security_group.hpp',['../security__group_8hpp.html',1,'']]], + ['serialize_2ehpp_1',['serialize.hpp',['../serialize_8hpp.html',1,'']]], + ['singleton_2ehpp_2',['singleton.hpp',['../singleton_8hpp.html',1,'']]], + ['string_2ehpp_3',['string.hpp',['../string_8hpp.html',1,'']]], + ['symbol_2ehpp_4',['symbol.hpp',['../symbol_8hpp.html',1,'']]], + ['system_2ehpp_5',['system.hpp',['../system_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_d.html b/docs/cdt/search/files_d.html new file mode 100644 index 000000000..19d5961e3 --- /dev/null +++ b/docs/cdt/search/files_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_d.js b/docs/cdt/search/files_d.js new file mode 100644 index 000000000..e0961bb71 --- /dev/null +++ b/docs/cdt/search/files_d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['time_2ehpp_0',['time.hpp',['../time_8hpp.html',1,'']]], + ['transaction_2ehpp_1',['transaction.hpp',['../transaction_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/files_e.html b/docs/cdt/search/files_e.html new file mode 100644 index 000000000..e75f3bd3f --- /dev/null +++ b/docs/cdt/search/files_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/files_e.js b/docs/cdt/search/files_e.js new file mode 100644 index 000000000..bcf7264b7 --- /dev/null +++ b/docs/cdt/search/files_e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['varint_2ehpp_0',['varint.hpp',['../varint_8hpp.html',1,'']]] +]; diff --git a/docs/cdt/search/functions_0.html b/docs/cdt/search/functions_0.html new file mode 100644 index 000000000..7b2ef5ea4 --- /dev/null +++ b/docs/cdt/search/functions_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_0.js b/docs/cdt/search/functions_0.js new file mode 100644 index 000000000..32ed82ecf --- /dev/null +++ b/docs/cdt/search/functions_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_5f_5fattribute_0',['__attribute',['../namespaceeosio_1_1internal__use__do__not__use_aa011a292ab4ac0b4e8e9371a33c4126d.html#aa011a292ab4ac0b4e8e9371a33c4126d',1,'eosio::internal_use_do_not_use']]], + ['_5f_5fattribute_5f_5f_1',['__attribute__',['../namespaceeosio_1_1internal__use__do__not__use_a4cf60fb32150ba3e0e63f357f9747387.html#a4cf60fb32150ba3e0e63f357f9747387',1,'eosio::internal_use_do_not_use::__attribute__((eosio_wasm_import)) void eosio_assert(uint32_t test'],['../namespaceeosio_1_1internal__use__do__not__use_a81a3d531420e3eb3b02b3fdf9a4302ec.html#a81a3d531420e3eb3b02b3fdf9a4302ec',1,'eosio::internal_use_do_not_use::__attribute__((aligned(16))) capi_checksum256_ext'],['../namespaceeosio_1_1internal__use__do__not__use_ab0a361bb08c4c76e3ff6515e7d600af0.html#ab0a361bb08c4c76e3ff6515e7d600af0',1,'eosio::internal_use_do_not_use::__attribute__((eosio_wasm_import, noreturn)) void eosio_exit(int32_t code)'],['../namespaceeosio_1_1internal__use__do__not__use_a7bb660921197070acd6782ab13fec494.html#a7bb660921197070acd6782ab13fec494',1,'eosio::internal_use_do_not_use::__attribute__((eosio_wasm_import)) void send_deferred(const uint128_t &']]] +]; diff --git a/docs/cdt/search/functions_1.html b/docs/cdt/search/functions_1.html new file mode 100644 index 000000000..b03d0eb9e --- /dev/null +++ b/docs/cdt/search/functions_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_1.js b/docs/cdt/search/functions_1.js new file mode 100644 index 000000000..7a23cedd0 --- /dev/null +++ b/docs/cdt/search/functions_1.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['action_0',['action',['../structeosio_1_1action_aebc29a38547efa71db8ec20cc56d69a4.html#aebc29a38547efa71db8ec20cc56d69a4',1,'eosio::action::action()=default'],['../structeosio_1_1action_a9ef6c7fc0a06f53c754a1cc8af513d00.html#a9ef6c7fc0a06f53c754a1cc8af513d00',1,'eosio::action::action(const permission_level &auth, struct name a, struct name n, T &&value)'],['../structeosio_1_1action_aa6b336f4f7a8c61d68e14d99a0a9cd9d.html#aa6b336f4f7a8c61d68e14d99a0a9cd9d',1,'eosio::action::action(std::vector< permission_level > auths, struct name a, struct name n, T &&value)']]], + ['action_5fdata_5fsize_1',['action_data_size',['../namespaceeosio_a602640a08f02a893cab6b28016866ec0.html#a602640a08f02a893cab6b28016866ec0',1,'eosio']]], + ['action_5fwrapper_2',['action_wrapper',['../structeosio_1_1action__wrapper_a12ef4e4f5e9459ee02ea7113706f3147.html#a12ef4e4f5e9459ee02ea7113706f3147',1,'eosio::action_wrapper::action_wrapper(Code &&code, std::vector< eosio::permission_level > &&perms)'],['../structeosio_1_1action__wrapper_a333abd92bf1c6c965759a93ee9dc280b.html#a333abd92bf1c6c965759a93ee9dc280b',1,'eosio::action_wrapper::action_wrapper(Code &&code, const std::vector< eosio::permission_level > &perms)'],['../structeosio_1_1action__wrapper_af1be67f4109fb82bfcc18ad47a3f30ea.html#af1be67f4109fb82bfcc18ad47a3f30ea',1,'eosio::action_wrapper::action_wrapper(Code &&code, eosio::permission_level &&perm)'],['../structeosio_1_1action__wrapper_a8b3fbccd819478987dbcba4362b1357f.html#a8b3fbccd819478987dbcba4362b1357f',1,'eosio::action_wrapper::action_wrapper(Code &&code, const eosio::permission_level &perm)'],['../structeosio_1_1action__wrapper_a5a8a0453c4d0e1233c05cb0749ae7807.html#a5a8a0453c4d0e1233c05cb0749ae7807',1,'eosio::action_wrapper::action_wrapper(Code &&code)']]], + ['add_5fsecurity_5fgroup_5fparticipants_3',['add_security_group_participants',['../group__security__group_ga8a7cc14a1900bfbb2adc8af0193efe02.html#ga8a7cc14a1900bfbb2adc8af0193efe02',1,'eosio']]], + ['alt_5fbn128_5fadd_4',['alt_bn128_add',['../group__crypto_ga15d62eb0cc4e802cebf37acdeb244347.html#ga15d62eb0cc4e802cebf37acdeb244347',1,'eosio::alt_bn128_add(const T &op1, const T &op2)'],['../group__crypto_gad6c7cb31acc6ad2034928b0f4f838f1f.html#gad6c7cb31acc6ad2034928b0f4f838f1f',1,'eosio::alt_bn128_add(const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, char *result, uint32_t result_len)']]], + ['alt_5fbn128_5fmul_5',['alt_bn128_mul',['../group__crypto_ga4c359bdfef5213a9d7469d4ce1d953be.html#ga4c359bdfef5213a9d7469d4ce1d953be',1,'eosio::alt_bn128_mul(const T &g1, const bigint &scalar)'],['../group__crypto_ga0a1860ebd5b856a263d61fb3486c6bac.html#ga0a1860ebd5b856a263d61fb3486c6bac',1,'eosio::alt_bn128_mul(const char *g1, uint32_t g1_len, const char *scalar, uint32_t scalar_len, char *result, uint32_t result_len)']]], + ['alt_5fbn128_5fpair_6',['alt_bn128_pair',['../group__crypto_ga6c07b3b9afd8013c8852a45906b7b021.html#ga6c07b3b9afd8013c8852a45906b7b021',1,'eosio::alt_bn128_pair(const std::vector< std::pair< G1_T, G2_T > > &pairs)'],['../group__crypto_gad09d0d106fbffeea5ae3fa11a4542060.html#gad09d0d106fbffeea5ae3fa11a4542060',1,'eosio::alt_bn128_pair(const char *pairs, uint32_t pairs_len)']]], + ['append_7',['append',['../classeosio_1_1rope_a41bb00d1ad6f0022a0de52984c524246.html#a41bb00d1ad6f0022a0de52984c524246',1,'eosio::rope::append(const char(&s)[N])'],['../classeosio_1_1rope_ab0a0ba2be3a91de71ec2fc919ad73974.html#ab0a0ba2be3a91de71ec2fc919ad73974',1,'eosio::rope::append(const char *s, size_t len)'],['../classeosio_1_1rope_a87cd18373790ef056244f4a0e09b8f75.html#a87cd18373790ef056244f4a0e09b8f75',1,'eosio::rope::append(const rope &r)'],['../classeosio_1_1rope_a480943c8c8407a36d77e14ff9d810dfe.html#a480943c8c8407a36d77e14ff9d810dfe',1,'eosio::rope::append(rope &&r)'],['../classeosio_1_1string_a8781cfc0e0a9aa9187da9cbb5c7f2cf0.html#a8781cfc0e0a9aa9187da9cbb5c7f2cf0',1,'eosio::string::append(const char *str)'],['../classeosio_1_1string_a8873fa94d7a035c56314c041a5ac749d.html#a8873fa94d7a035c56314c041a5ac749d',1,'eosio::string::append(const string &str)']]], + ['assert_5fkeccak_8',['assert_keccak',['../group__crypto_ga525a44f742b17926399841c745a4a7ec.html#ga525a44f742b17926399841c745a4a7ec',1,'eosio']]], + ['assert_5fsha3_9',['assert_sha3',['../group__crypto_ga5911e4dd154cdc173eb05c44bbfe02d0.html#ga5911e4dd154cdc173eb05c44bbfe02d0',1,'eosio']]], + ['asset_10',['asset',['../structeosio_1_1asset_abdde8d4b53c1b8f1027ab6cb2b13b845.html#abdde8d4b53c1b8f1027ab6cb2b13b845',1,'eosio::asset::asset()'],['../structeosio_1_1asset_abb4cf1f370bb101c7d61910ff45d6b55.html#abb4cf1f370bb101c7d61910ff45d6b55',1,'eosio::asset::asset(int64_t a, class symbol s)']]], + ['at_11',['at',['../classeosio_1_1rope_a1a05bd4dc4277bc66f4dc3f37858c02d.html#a1a05bd4dc4277bc66f4dc3f37858c02d',1,'eosio::rope::at()'],['../classeosio_1_1string_a564871216e7138e5d896bb9031b7c43f.html#a564871216e7138e5d896bb9031b7c43f',1,'eosio::string::at(const size_t n)'],['../classeosio_1_1string_a4899eeb275df620049b5fd69f49d3e69.html#a4899eeb275df620049b5fd69f49d3e69',1,'eosio::string::at(const size_t n) const']]], + ['available_5fprimary_5fkey_12',['available_primary_key',['../group__multiindex_ga1b2d26324eb34354f5db2abcf2d87853.html#ga1b2d26324eb34354f5db2abcf2d87853',1,'eosio::multi_index']]] +]; diff --git a/docs/cdt/search/functions_10.html b/docs/cdt/search/functions_10.html new file mode 100644 index 000000000..e1aeffec1 --- /dev/null +++ b/docs/cdt/search/functions_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_10.js b/docs/cdt/search/functions_10.js new file mode 100644 index 000000000..c02c315f6 --- /dev/null +++ b/docs/cdt/search/functions_10.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['raw_0',['raw',['../classeosio_1_1symbol__code_a9c4430961f11cf7a207ac7d4c4827210.html#a9c4430961f11cf7a207ac7d4c4827210',1,'eosio::symbol_code::raw()'],['../classeosio_1_1symbol_a9cb96662a0965ac03e1bf5acfbbda011.html#a9cb96662a0965ac03e1bf5acfbbda011',1,'eosio::symbol::raw()']]], + ['rbegin_1',['rbegin',['../group__multiindex_gacdc14cc71a43489507341d2709696e7d.html#gacdc14cc71a43489507341d2709696e7d',1,'eosio::multi_index']]], + ['read_2',['read',['../classeosio_1_1datastream_ab28fff0ac0d25f39c1a1b5d6f9d0e5ad.html#ab28fff0ac0d25f39c1a1b5d6f9d0e5ad',1,'eosio::datastream']]], + ['read_5faction_5fdata_3',['read_action_data',['../group__action_ga02dcd9ca25bcdd8279efe0d45e50c9eb.html#ga02dcd9ca25bcdd8279efe0d45e50c9eb',1,'eosio']]], + ['read_5ftransaction_4',['read_transaction',['../group__transaction_ga47f5ea185e11cab47e2bddd08598375f.html#ga47f5ea185e11cab47e2bddd08598375f',1,'eosio']]], + ['remaining_5',['remaining',['../classeosio_1_1datastream_af57bc94263dc08eb60b910a53645a052.html#af57bc94263dc08eb60b910a53645a052',1,'eosio::datastream::remaining()'],['../classeosio_1_1datastream_3_01size__t_01_4_a345f36fa8492917662d6185db631042d.html#a345f36fa8492917662d6185db631042d',1,'eosio::datastream< size_t >::remaining()']]], + ['remove_6',['remove',['../classeosio_1_1singleton_afc70106337f2cec280dfd797a1c7920a.html#afc70106337f2cec280dfd797a1c7920a',1,'eosio::singleton']]], + ['remove_5fsecurity_5fgroup_5fparticipants_7',['remove_security_group_participants',['../group__security__group_gadefafd73d733d635d8d844203120a58d.html#gadefafd73d733d635d8d844203120a58d',1,'eosio']]], + ['rend_8',['rend',['../group__multiindex_ga659b2744975d0a54162c44fbcbc28115.html#ga659b2744975d0a54162c44fbcbc28115',1,'eosio::multi_index']]], + ['require_5fauth_9',['require_auth',['../group__action_ga47b4afe79f1de07376e2ecdd541f92c7.html#ga47b4afe79f1de07376e2ecdd541f92c7',1,'eosio::require_auth(name n)'],['../group__action_gaa9c6bd255a286073e7dc8a337f2b11a2.html#gaa9c6bd255a286073e7dc8a337f2b11a2',1,'eosio::require_auth(const permission_level &level)']]], + ['require_5ffind_10',['require_find',['../group__multiindex_ga50321aa0c8fbdc67768d421950c2ee14.html#ga50321aa0c8fbdc67768d421950c2ee14',1,'eosio::multi_index']]], + ['require_5frecipient_11',['require_recipient',['../group__action_ga4e1838d05857e38ddf8916e616698460.html#ga4e1838d05857e38ddf8916e616698460',1,'eosio::require_recipient(name notify_account)'],['../group__action_gaa61e47227ac315887caf1e028191ff7d.html#gaa61e47227ac315887caf1e028191ff7d',1,'eosio::require_recipient(name notify_account, accounts... remaining_accounts)']]], + ['reserve_12',['reserve',['../classeosio_1_1string_aceced69d12b071a4669277d8a7ec767a.html#aceced69d12b071a4669277d8a7ec767a',1,'eosio::string']]], + ['resize_13',['resize',['../classeosio_1_1string_a1f95dcbc241a91a8aa9306b599a826c3.html#a1f95dcbc241a91a8aa9306b599a826c3',1,'eosio::string']]], + ['rope_14',['rope',['../classeosio_1_1rope_aea2f5203db95839a376250f3c29e80f7.html#aea2f5203db95839a376250f3c29e80f7',1,'eosio::rope::rope(const char *s)'],['../classeosio_1_1rope_a99225aa178aa038001e8f68d51a8aa57.html#a99225aa178aa038001e8f68d51a8aa57',1,'eosio::rope::rope(std::string_view s="")']]] +]; diff --git a/docs/cdt/search/functions_11.html b/docs/cdt/search/functions_11.html new file mode 100644 index 000000000..079196cce --- /dev/null +++ b/docs/cdt/search/functions_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_11.js b/docs/cdt/search/functions_11.js new file mode 100644 index 000000000..c0f72e6de --- /dev/null +++ b/docs/cdt/search/functions_11.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['sec_5fsince_5fepoch_0',['sec_since_epoch',['../classeosio_1_1time__point_aedda68d4c06c12b9dcf27a8964f2c6a9.html#aedda68d4c06c12b9dcf27a8964f2c6a9',1,'eosio::time_point::sec_since_epoch()'],['../classeosio_1_1time__point__sec_a9f061ae99cc49726e27ac9c29a460b5f.html#a9f061ae99cc49726e27ac9c29a460b5f',1,'eosio::time_point_sec::sec_since_epoch()']]], + ['seconds_1',['seconds',['../namespaceeosio_af7174ec0c48074b993ec6bac37a84682.html#af7174ec0c48074b993ec6bac37a84682',1,'eosio']]], + ['seekp_2',['seekp',['../classeosio_1_1datastream_ac82f1102bb9593764a654dfbedb88328.html#ac82f1102bb9593764a654dfbedb88328',1,'eosio::datastream::seekp()'],['../classeosio_1_1datastream_3_01size__t_01_4_ac4720cb82d256a41f27bbf389b37790b.html#ac4720cb82d256a41f27bbf389b37790b',1,'eosio::datastream< size_t >::seekp()']]], + ['send_3',['send',['../structeosio_1_1action_a447f36a63208c2d138b7109b3e13e55f.html#a447f36a63208c2d138b7109b3e13e55f',1,'eosio::action::send()'],['../structeosio_1_1action__wrapper_aa7f4781b065eda40ba6803410f1b2eb1.html#aa7f4781b065eda40ba6803410f1b2eb1',1,'eosio::action_wrapper::send()'],['../structeosio_1_1variant__action__wrapper_a1f95cbb7f23a1790f0ddf67d2336dd03.html#a1f95cbb7f23a1790f0ddf67d2336dd03',1,'eosio::variant_action_wrapper::send()'],['../classeosio_1_1transaction_aff16436e52fff284fabc0b748be342b4.html#aff16436e52fff284fabc0b748be342b4',1,'eosio::transaction::send()']]], + ['send_5fcontext_5ffree_4',['send_context_free',['../structeosio_1_1action_a984a41daf2d1c4d6506cac0c98ac7a2a.html#a984a41daf2d1c4d6506cac0c98ac7a2a',1,'eosio::action::send_context_free()'],['../structeosio_1_1action__wrapper_ae9fc18e5e6a4ca8a70120594aaab73e5.html#ae9fc18e5e6a4ca8a70120594aaab73e5',1,'eosio::action_wrapper::send_context_free()'],['../structeosio_1_1variant__action__wrapper_a4cf54eec122768c5dda66731eb1c0cd3.html#a4cf54eec122768c5dda66731eb1c0cd3',1,'eosio::variant_action_wrapper::send_context_free()']]], + ['send_5fdeferred_5',['send_deferred',['../group__transaction_ga92cd86171a4bcc86bb3bc974618005e5.html#ga92cd86171a4bcc86bb3bc974618005e5',1,'eosio']]], + ['serialized_6',['serialized',['../structeosio_1_1ec__point_a9d58791cea69d15014c97e8f4ca984a1.html#a9d58791cea69d15014c97e8f4ca984a1',1,'eosio::ec_point::serialized()'],['../structeosio_1_1ec__point__view_a58db6d160530b793ff9313110ab7ee43.html#a58db6d160530b793ff9313110ab7ee43',1,'eosio::ec_point_view::serialized()']]], + ['set_7',['set',['../classeosio_1_1singleton_aada28dbeaf0961614beff67a38553a3c.html#aada28dbeaf0961614beff67a38553a3c',1,'eosio::singleton']]], + ['set_5famount_8',['set_amount',['../structeosio_1_1asset_a0b6c8ba10eedc0129364fc910e840d7f.html#a0b6c8ba10eedc0129364fc910e840d7f',1,'eosio::asset']]], + ['set_5fblockchain_5fparameters_9',['set_blockchain_parameters',['../group__privileged_ga4b6f34ade1f06f6583b4a17738bebe0c.html#ga4b6f34ade1f06f6583b4a17738bebe0c',1,'eosio']]], + ['set_5fprivileged_10',['set_privileged',['../group__privileged_gab341227b30ff1294ecb03c540e25a57f.html#gab341227b30ff1294ecb03c540e25a57f',1,'eosio']]], + ['set_5fproposed_5fproducers_11',['set_proposed_producers',['../group__privileged_gac69be7829e437b6a986af0b686b8fd68.html#gac69be7829e437b6a986af0b686b8fd68',1,'eosio::set_proposed_producers(const std::vector< producer_authority > &prods)'],['../group__privileged_ga8ae4f7b818d57817a629c7c45372552e.html#ga8ae4f7b818d57817a629c7c45372552e',1,'eosio::set_proposed_producers(const std::vector< producer_key > &prods)']]], + ['set_5fresource_5flimits_12',['set_resource_limits',['../group__privileged_gaad97a90662dc91cc1f9c6b2368b625c3.html#gaad97a90662dc91cc1f9c6b2368b625c3',1,'eosio']]], + ['sha3_13',['sha3',['../group__crypto_ga72b1a23b79771d3be88f1330bbe0e3cb.html#ga72b1a23b79771d3be88f1330bbe0e3cb',1,'eosio']]], + ['shrink_5fto_5ffit_14',['shrink_to_fit',['../classeosio_1_1string_a9dfae8e14598a5b45c2333253f9ad13f.html#a9dfae8e14598a5b45c2333253f9ad13f',1,'eosio::string']]], + ['signed_5fint_15',['signed_int',['../structeosio_1_1signed__int_a0dd8bbac6533ed3729077bce4ada8997.html#a0dd8bbac6533ed3729077bce4ada8997',1,'eosio::signed_int']]], + ['singleton_16',['singleton',['../classeosio_1_1singleton_aacf881ed97b04496be325d74f6b9d25e.html#aacf881ed97b04496be325d74f6b9d25e',1,'eosio::singleton']]], + ['size_17',['size',['../classeosio_1_1string_a651faa2c73ac0376e3efe94a5a192e55.html#a651faa2c73ac0376e3efe94a5a192e55',1,'eosio::string::size()'],['../classeosio_1_1fixed__bytes_ac2d8051c8675cda490ae406ca35cdea4.html#ac2d8051c8675cda490ae406ca35cdea4',1,'eosio::fixed_bytes::size()']]], + ['skip_18',['skip',['../classeosio_1_1datastream_3_01size__t_01_4_ad9d7da49e77a5db9c80c256845b26894.html#ad9d7da49e77a5db9c80c256845b26894',1,'eosio::datastream< size_t >::skip()'],['../classeosio_1_1datastream_a928fbd3301caee3c64ea620442fb0e64.html#a928fbd3301caee3c64ea620442fb0e64',1,'eosio::datastream::skip()']]], + ['string_19',['string',['../classeosio_1_1string_abbdba4b5d2a09bbc117792a412f19a6f.html#abbdba4b5d2a09bbc117792a412f19a6f',1,'eosio::string::string()'],['../classeosio_1_1string_a9b25b59100bf5c70971fa6f55fe65191.html#a9b25b59100bf5c70971fa6f55fe65191',1,'eosio::string::string(const char(&str)[N])'],['../classeosio_1_1string_adf203bd5325ece9f37ff3fcd0b220e49.html#adf203bd5325ece9f37ff3fcd0b220e49',1,'eosio::string::string(const size_t n, const char c)'],['../classeosio_1_1string_ac7a16a5fc722b604a74d553beba58a44.html#ac7a16a5fc722b604a74d553beba58a44',1,'eosio::string::string(const string &str, const size_t pos, const size_t n)'],['../classeosio_1_1string_a38a9b5399dc2a4eadafe11abeff1b77c.html#a38a9b5399dc2a4eadafe11abeff1b77c',1,'eosio::string::string(const string &str)'],['../classeosio_1_1string_abed2244638c61753c2b33c3a5f8def30.html#abed2244638c61753c2b33c3a5f8def30',1,'eosio::string::string(string &&str)'],['../classeosio_1_1string_aaea5e2703fbc37b3a1e2b3947d926bf0.html#aaea5e2703fbc37b3a1e2b3947d926bf0',1,'eosio::string::string(const char *str, const size_t n)']]], + ['substr_20',['substr',['../classeosio_1_1string_aaabc6d219686805ea57157fb47d1d293.html#aaabc6d219686805ea57157fb47d1d293',1,'eosio::string']]], + ['suffix_21',['suffix',['../structeosio_1_1name_a806f77788fe466215adeb2b78553b6f8.html#a806f77788fe466215adeb2b78553b6f8',1,'eosio::name']]], + ['sv_22',['sv',['../classeosio_1_1rope_aa977c345d7cd7d9b0ecd35c306a36983.html#aa977c345d7cd7d9b0ecd35c306a36983',1,'eosio::rope']]], + ['swap_23',['swap',['../classeosio_1_1string_a365349b85f2fffc2d6a57de046fa5782.html#a365349b85f2fffc2d6a57de046fa5782',1,'eosio::string']]], + ['symbol_24',['symbol',['../classeosio_1_1symbol_a6604372bb0cc9d3c70a3b77973517e41.html#a6604372bb0cc9d3c70a3b77973517e41',1,'eosio::symbol::symbol()'],['../classeosio_1_1symbol_abcbc25794d1a3e0477be40441be6b210.html#abcbc25794d1a3e0477be40441be6b210',1,'eosio::symbol::symbol(uint64_t raw)'],['../classeosio_1_1symbol_a990e99879ecbebb194e5de43932ec59b.html#a990e99879ecbebb194e5de43932ec59b',1,'eosio::symbol::symbol(symbol_code sc, uint8_t precision)'],['../classeosio_1_1symbol_afc5e4be9944b51deac6484128deb2ce2.html#afc5e4be9944b51deac6484128deb2ce2',1,'eosio::symbol::symbol(std::string_view ss, uint8_t precision)']]], + ['symbol_5fcode_25',['symbol_code',['../classeosio_1_1symbol__code_a9d8538c2ff41df391b45cfb6190a1ed4.html#a9d8538c2ff41df391b45cfb6190a1ed4',1,'eosio::symbol_code::symbol_code()'],['../classeosio_1_1symbol__code_a5a95bedec99aff1d70a782b365bc28d0.html#a5a95bedec99aff1d70a782b365bc28d0',1,'eosio::symbol_code::symbol_code(uint64_t raw)'],['../classeosio_1_1symbol__code_afba617179edadad41667b707176943fc.html#afba617179edadad41667b707176943fc',1,'eosio::symbol_code::symbol_code(std::string_view str)']]] +]; diff --git a/docs/cdt/search/functions_12.html b/docs/cdt/search/functions_12.html new file mode 100644 index 000000000..e41eec4ef --- /dev/null +++ b/docs/cdt/search/functions_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_12.js b/docs/cdt/search/functions_12.js new file mode 100644 index 000000000..e12b62289 --- /dev/null +++ b/docs/cdt/search/functions_12.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['tapos_5fblock_5fnum_0',['tapos_block_num',['../group__transaction_gad2a14b4c7ce6445f669a42ef73a4b685.html#gad2a14b4c7ce6445f669a42ef73a4b685',1,'eosio']]], + ['tapos_5fblock_5fprefix_1',['tapos_block_prefix',['../group__transaction_ga8ebcde8a1e1665142ca0b51e4118ed17.html#ga8ebcde8a1e1665142ca0b51e4118ed17',1,'eosio']]], + ['tellp_2',['tellp',['../classeosio_1_1datastream_a32df7a816da793f3183d235c67b042a7.html#a32df7a816da793f3183d235c67b042a7',1,'eosio::datastream::tellp()'],['../classeosio_1_1datastream_3_01size__t_01_4_aadcdabf95d8b142bd9b43bbcdc4e0d9f.html#aadcdabf95d8b142bd9b43bbcdc4e0d9f',1,'eosio::datastream< size_t >::tellp()']]], + ['time_5fpoint_3',['time_point',['../classeosio_1_1time__point_a307b17c8475291a97892a1f9cd76fa36.html#a307b17c8475291a97892a1f9cd76fa36',1,'eosio::time_point']]], + ['time_5fpoint_5fsec_4',['time_point_sec',['../classeosio_1_1time__point__sec_ab0f6a00b7d53d82a9c68ee385d35c0cb.html#ab0f6a00b7d53d82a9c68ee385d35c0cb',1,'eosio::time_point_sec::time_point_sec()'],['../classeosio_1_1time__point__sec_a119a4edea2590a1152db08c4fc51e811.html#a119a4edea2590a1152db08c4fc51e811',1,'eosio::time_point_sec::time_point_sec(uint32_t seconds)'],['../classeosio_1_1time__point__sec_afc6c67209c28cd9e5d70a4298deb39ad.html#afc6c67209c28cd9e5d70a4298deb39ad',1,'eosio::time_point_sec::time_point_sec(const time_point &t)']]], + ['time_5fsince_5fepoch_5',['time_since_epoch',['../classeosio_1_1time__point_ad011eb25db435de048b2a5a00dcee066.html#ad011eb25db435de048b2a5a00dcee066',1,'eosio::time_point']]], + ['to_5faction_6',['to_action',['../structeosio_1_1action__wrapper_ae422e0f1f06d13925a29dcac8f4457f1.html#ae422e0f1f06d13925a29dcac8f4457f1',1,'eosio::action_wrapper::to_action()'],['../structeosio_1_1variant__action__wrapper_afe014cc8e17701b610af9e2adcc76da7.html#afe014cc8e17701b610af9e2adcc76da7',1,'eosio::variant_action_wrapper::to_action()']]], + ['to_5fkey_7',['to_key',['../namespaceeosio_a17d4c25130755b9075b48cb9f22411a5.html#a17d4c25130755b9075b48cb9f22411a5',1,'eosio::to_key(const std::tuple< Ts... > &obj, datastream< S > &stream)'],['../namespaceeosio_a765369843265789042da1b4856a07202.html#a765369843265789042da1b4856a07202',1,'eosio::to_key(const std::map< T, U > &obj, datastream< S > &stream)'],['../namespaceeosio_af80dcf1bec9db392710cfac9ac0bd49d.html#af80dcf1bec9db392710cfac9ac0bd49d',1,'eosio::to_key(bool obj, datastream< S > &stream)'],['../namespaceeosio_a886436abb8b2d3bc0ff91fa0faf052b6.html#a886436abb8b2d3bc0ff91fa0faf052b6',1,'eosio::to_key(const std::string &obj, datastream< S > &stream)'],['../namespaceeosio_a8010c134258beccbf5224e9f5c040825.html#a8010c134258beccbf5224e9f5c040825',1,'eosio::to_key(const T &obj, datastream< S > &stream)'],['../namespaceeosio_ad64c4446ffb3e530c2c5eee66efcbd9d.html#ad64c4446ffb3e530c2c5eee66efcbd9d',1,'eosio::to_key(std::string_view obj, datastream< S > &stream)'],['../namespaceeosio_a798574a285557f53efab8521532da82d.html#a798574a285557f53efab8521532da82d',1,'eosio::to_key(const std::array< T, N > &obj, datastream< S > &stream)'],['../namespaceeosio_a414bc3518c0e6f968338533ccbb381b8.html#a414bc3518c0e6f968338533ccbb381b8',1,'eosio::to_key(const std::pair< T, U > &obj, datastream< S > &stream)'],['../namespaceeosio_a6985ebc6a27e11e105bb9433765c04d7.html#a6985ebc6a27e11e105bb9433765c04d7',1,'eosio::to_key(const T &obj, datastream< S > &stream) -> std::enable_if_t< is_ranged_type(std::declval< T >()), void >'],['../namespaceeosio_ab18517b08024e1cdc4364a76c74cad59.html#ab18517b08024e1cdc4364a76c74cad59',1,'eosio::to_key(const char(&str)[N], datastream< S > &stream)'],['../namespaceeosio_a26818b9f0aa2826193c12ebbcd516d5c.html#a26818b9f0aa2826193c12ebbcd516d5c',1,'eosio::to_key(const std::optional< T > &obj, datastream< S > &stream)'],['../namespaceeosio_aa9cbce17fa0d81b4fb658756a2aa9313.html#aa9cbce17fa0d81b4fb658756a2aa9313',1,'eosio::to_key(const std::variant< Ts... > &obj, datastream< S > &stream)']]], + ['to_5fkey_5foptional_8',['to_key_optional',['../namespaceeosio_aef74f69e6a22bf95b0f7cbff816627b5.html#aef74f69e6a22bf95b0f7cbff816627b5',1,'eosio::to_key_optional(const T *obj, datastream< S > &stream)'],['../namespaceeosio_a377492aec0291bc289eba84d31b52f60.html#a377492aec0291bc289eba84d31b52f60',1,'eosio::to_key_optional(const bool *obj, datastream< S > &stream)']]], + ['to_5fkey_5frange_9',['to_key_range',['../namespaceeosio_a83093b2d24efd8161abc60290a11945d.html#a83093b2d24efd8161abc60290a11945d',1,'eosio']]], + ['to_5fkey_5ftuple_10',['to_key_tuple',['../namespaceeosio_aa1d56938ffd3af0d7efffb788425112a.html#aa1d56938ffd3af0d7efffb788425112a',1,'eosio']]], + ['to_5fkey_5fvarint32_11',['to_key_varint32',['../namespaceeosio_a9ff397ff9cb2e98f4ee095f16a155ff0.html#a9ff397ff9cb2e98f4ee095f16a155ff0',1,'eosio']]], + ['to_5fkey_5fvaruint32_12',['to_key_varuint32',['../namespaceeosio_af7fd095425063722ae432862864d0598.html#af7fd095425063722ae432862864d0598',1,'eosio']]], + ['to_5fraw_5fkey_13',['to_raw_key',['../namespaceeosio_1_1__multi__index__detail_a135eacc8542cc1a376045da059e67369.html#a135eacc8542cc1a376045da059e67369',1,'eosio::_multi_index_detail::to_raw_key(eosio::name pk)'],['../namespaceeosio_1_1__multi__index__detail_ab86eee8c3f788dfbc306661042361f7a.html#ab86eee8c3f788dfbc306661042361f7a',1,'eosio::_multi_index_detail::to_raw_key(PK pk)']]], + ['to_5fstring_14',['to_string',['../classeosio_1_1time__point_ac96d4680cf94a4a75bccd52ff2d5930e.html#ac96d4680cf94a4a75bccd52ff2d5930e',1,'eosio::time_point::to_string()'],['../classeosio_1_1symbol__code_a075d0d69307bd9180b147a809f07bad5.html#a075d0d69307bd9180b147a809f07bad5',1,'eosio::symbol_code::to_string()'],['../structeosio_1_1asset_a1c0dbeb4348006fa622e2b5d06431554.html#a1c0dbeb4348006fa622e2b5d06431554',1,'eosio::asset::to_string()'],['../structeosio_1_1name_ae9b8c13d32a86f9ff355b6dce3955ab6.html#ae9b8c13d32a86f9ff355b6dce3955ab6',1,'eosio::name::to_string()'],['../classeosio_1_1block__timestamp_a0bb7b80144520847d11ee3d3a4b81bae.html#a0bb7b80144520847d11ee3d3a4b81bae',1,'eosio::block_timestamp::to_string()'],['../classeosio_1_1time__point__sec_a697e77fb6964d691d97aa6cd0c59e217.html#a697e77fb6964d691d97aa6cd0c59e217',1,'eosio::time_point_sec::to_string()']]], + ['to_5ftime_5fpoint_15',['to_time_point',['../classeosio_1_1block__timestamp_ac645cbc95a573b9ddc33439bf7953e83.html#ac645cbc95a573b9ddc33439bf7953e83',1,'eosio::block_timestamp']]], + ['total_5fbytes_5fsize_16',['total_bytes_size',['../namespaceeosio_1_1detail_ac7230a60ca339b86b59f88f7ca069b1a.html#ac7230a60ca339b86b59f88f7ca069b1a',1,'eosio::detail']]], + ['transaction_17',['transaction',['../classeosio_1_1transaction_aa1c104e5e613662ae3d5c6f66313b352.html#aa1c104e5e613662ae3d5c6f66313b352',1,'eosio::transaction']]], + ['transaction_5fheader_18',['transaction_header',['../classeosio_1_1transaction__header_a6abf412b441f881616bad00837503075.html#a6abf412b441f881616bad00837503075',1,'eosio::transaction_header']]], + ['transaction_5fsize_19',['transaction_size',['../group__transaction_ga44eb86f3c4e862cbb5c862f29b77aa1f.html#ga44eb86f3c4e862cbb5c862f29b77aa1f',1,'eosio']]], + ['true_5flowest_20',['true_lowest',['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4_a3931d15383b69ef8b74a680168afa995.html#a3931d15383b69ef8b74a680168afa995',1,'eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >::true_lowest()'],['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4_ada23ab5a6d6411da93274d3d48729285.html#ada23ab5a6d6411da93274d3d48729285',1,'eosio::_multi_index_detail::secondary_key_traits< long double >::true_lowest()'],['../structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4_ac261d4e78ccebd3d107c0c4d2659c78b.html#ac261d4e78ccebd3d107c0c4d2659c78b',1,'eosio::_multi_index_detail::secondary_key_traits< double >::true_lowest()']]] +]; diff --git a/docs/cdt/search/functions_13.html b/docs/cdt/search/functions_13.html new file mode 100644 index 000000000..a4d4836d9 --- /dev/null +++ b/docs/cdt/search/functions_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_13.js b/docs/cdt/search/functions_13.js new file mode 100644 index 000000000..88fdeff9f --- /dev/null +++ b/docs/cdt/search/functions_13.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['unpack_0',['unpack',['../group__datastream_ga2ffaa5bd18836b7d40db601fb20965bb.html#ga2ffaa5bd18836b7d40db601fb20965bb',1,'eosio::unpack(const char *buffer, size_t len)'],['../group__datastream_gaeda637d2d16ecc6235bd072161bc07df.html#gaeda637d2d16ecc6235bd072161bc07df',1,'eosio::unpack(T &res, const char *buffer, size_t len)'],['../group__datastream_ga666b4d583161e4db595e31565fbb6a3d.html#ga666b4d583161e4db595e31565fbb6a3d',1,'eosio::unpack(const std::vector< char > &bytes)']]], + ['unpack_5faction_5fdata_1',['unpack_action_data',['../group__action_ga3ce0a297276d44f03c9b5dc17fcd2b31.html#ga3ce0a297276d44f03c9b5dc17fcd2b31',1,'eosio']]], + ['unpack_5fsent_5ftrx_2',['unpack_sent_trx',['../structeosio_1_1onerror_a8fe8368f7a3213b5ab0a93407f41cd66.html#a8fe8368f7a3213b5ab0a93407f41cd66',1,'eosio::onerror']]], + ['unsigned_5fint_3',['unsigned_int',['../structeosio_1_1unsigned__int_a8d6b543812504c0edec1d4befea8006a.html#a8d6b543812504c0edec1d4befea8006a',1,'eosio::unsigned_int::unsigned_int(uint32_t v=0)'],['../structeosio_1_1unsigned__int_a2c1883d47646efcb3bc610c30be5097b.html#a2c1883d47646efcb3bc610c30be5097b',1,'eosio::unsigned_int::unsigned_int(T v)']]], + ['upper_5fbound_4',['upper_bound',['../group__multiindex_ga0170e32a35c3760661784c229d3a9b1a.html#ga0170e32a35c3760661784c229d3a9b1a',1,'eosio::multi_index']]] +]; diff --git a/docs/cdt/search/functions_14.html b/docs/cdt/search/functions_14.html new file mode 100644 index 000000000..837d60774 --- /dev/null +++ b/docs/cdt/search/functions_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_14.js b/docs/cdt/search/functions_14.js new file mode 100644 index 000000000..a7fb829a3 --- /dev/null +++ b/docs/cdt/search/functions_14.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['valid_0',['valid',['../classeosio_1_1datastream_a69cbb57958a1ec6d66e6aa4bcc39ec23.html#a69cbb57958a1ec6d66e6aa4bcc39ec23',1,'eosio::datastream::valid()'],['../classeosio_1_1datastream_3_01size__t_01_4_a46f1fc6f14d7e79c2181f4e3a2ae5b12.html#a46f1fc6f14d7e79c2181f4e3a2ae5b12',1,'eosio::datastream< size_t >::valid()']]], + ['variant_5faction_5fwrapper_1',['variant_action_wrapper',['../structeosio_1_1variant__action__wrapper_a54b47e0e84c464142c902d7194426d3a.html#a54b47e0e84c464142c902d7194426d3a',1,'eosio::variant_action_wrapper::variant_action_wrapper(Code &&code, std::vector< eosio::permission_level > &&perms)'],['../structeosio_1_1variant__action__wrapper_ae3836c99f199acd09f326c0788ad50ef.html#ae3836c99f199acd09f326c0788ad50ef',1,'eosio::variant_action_wrapper::variant_action_wrapper(Code &&code, const std::vector< eosio::permission_level > &perms)'],['../structeosio_1_1variant__action__wrapper_a0d83dd58a99adffbba6bd026e47a211e.html#a0d83dd58a99adffbba6bd026e47a211e',1,'eosio::variant_action_wrapper::variant_action_wrapper(Code &&code, eosio::permission_level &&perm)'],['../structeosio_1_1variant__action__wrapper_ac6c4a0bc39c0e593277378526083c7cc.html#ac6c4a0bc39c0e593277378526083c7cc',1,'eosio::variant_action_wrapper::variant_action_wrapper(Code &&code, const eosio::permission_level &perm)']]] +]; diff --git a/docs/cdt/search/functions_15.html b/docs/cdt/search/functions_15.html new file mode 100644 index 000000000..5f62576a7 --- /dev/null +++ b/docs/cdt/search/functions_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_15.js b/docs/cdt/search/functions_15.js new file mode 100644 index 000000000..a1b93abfd --- /dev/null +++ b/docs/cdt/search/functions_15.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['write_0',['write',['../classeosio_1_1datastream_a1e42133f6f57a8c89e1db04abe44b342.html#a1e42133f6f57a8c89e1db04abe44b342',1,'eosio::datastream::write(const char *d, size_t s)'],['../classeosio_1_1datastream_ae468391ad509e1b5bd2a9c7332f4802c.html#ae468391ad509e1b5bd2a9c7332f4802c',1,'eosio::datastream::write(char d)'],['../classeosio_1_1datastream_a4842d71330f2f682087ae17cc03d00f4.html#a4842d71330f2f682087ae17cc03d00f4',1,'eosio::datastream::write(const void *d, size_t s)'],['../classeosio_1_1datastream_3_01size__t_01_4_a3c2ca245c9f33549505ea7886a1d3ecf.html#a3c2ca245c9f33549505ea7886a1d3ecf',1,'eosio::datastream< size_t >::write(const char *, size_t s)'],['../classeosio_1_1datastream_3_01size__t_01_4_a7b004570bf9e621b2ee8aaa12f3a2dc7.html#a7b004570bf9e621b2ee8aaa12f3a2dc7',1,'eosio::datastream< size_t >::write(char)'],['../classeosio_1_1datastream_3_01size__t_01_4_af17849ce270d8c7ed0234b9ad5d9afc6.html#af17849ce270d8c7ed0234b9ad5d9afc6',1,'eosio::datastream< size_t >::write(const void *, size_t s)']]], + ['write_5fas_5fstring_1',['write_as_string',['../structeosio_1_1asset_a5e90d7716bca208014477a1e9c9af7dc.html#a5e90d7716bca208014477a1e9c9af7dc',1,'eosio::asset::write_as_string()'],['../structeosio_1_1name_a3babe141d965ae3c1ae0ec31f417f4b1.html#a3babe141d965ae3c1ae0ec31f417f4b1',1,'eosio::name::write_as_string()'],['../classeosio_1_1symbol__code_a65ea077da3315b0a94ad0e9478911efc.html#a65ea077da3315b0a94ad0e9478911efc',1,'eosio::symbol_code::write_as_string()']]], + ['write_5fdecimal_2',['write_decimal',['../namespaceeosio_a0620d4ec6f522f17350db97ac3c14840.html#a0620d4ec6f522f17350db97ac3c14840',1,'eosio']]] +]; diff --git a/docs/cdt/search/functions_2.html b/docs/cdt/search/functions_2.html new file mode 100644 index 000000000..d9bd5084c --- /dev/null +++ b/docs/cdt/search/functions_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_2.js b/docs/cdt/search/functions_2.js new file mode 100644 index 000000000..398d47da9 --- /dev/null +++ b/docs/cdt/search/functions_2.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['back_0',['back',['../classeosio_1_1string_acf5eac6989461a16465ba449c449e3fc.html#acf5eac6989461a16465ba449c449e3fc',1,'eosio::string::back()'],['../classeosio_1_1string_a7e00ad0b11736822e954ca0aaace79f4.html#a7e00ad0b11736822e954ca0aaace79f4',1,'eosio::string::back() const']]], + ['begin_1',['begin',['../classeosio_1_1string_a480fa3a83a379532c4caf2ccbf5d7487.html#a480fa3a83a379532c4caf2ccbf5d7487',1,'eosio::string::begin()'],['../group__multiindex_ga060b08a9da300e3a4ab669b35f07c9bc.html#ga060b08a9da300e3a4ab669b35f07c9bc',1,'eosio::multi_index::begin()']]], + ['blake2_5ff_2',['blake2_f',['../group__crypto_gabd02565be968568862b0af73120e9831.html#gabd02565be968568862b0af73120e9831',1,'eosio::blake2_f(uint32_t rounds, const std::vector< char > &state, const std::vector< char > &msg, const std::vector< char > &t0_offset, const std::vector< char > &t1_offset, bool final, std::vector< char > &result)'],['../group__crypto_ga64df5cb191f12821722e306229ed19aa.html#ga64df5cb191f12821722e306229ed19aa',1,'eosio::blake2_f(uint32_t rounds, const char *state, uint32_t state_len, const char *msg, uint32_t msg_len, const char *t0_offset, uint32_t t0_len, const char *t1_offset, uint32_t t1_len, int32_t final, char *result, uint32_t result_len)']]], + ['block_5ftimestamp_3',['block_timestamp',['../classeosio_1_1block__timestamp_aa719feec777894d3612305fcdf579d1e.html#aa719feec777894d3612305fcdf579d1e',1,'eosio::block_timestamp::block_timestamp(uint32_t s=0)'],['../classeosio_1_1block__timestamp_a72934b4290a476785f852983608263b0.html#a72934b4290a476785f852983608263b0',1,'eosio::block_timestamp::block_timestamp(const time_point &t)'],['../classeosio_1_1block__timestamp_aae1af00ad48d215fbd72d3e2339655bf.html#aae1af00ad48d215fbd72d3e2339655bf',1,'eosio::block_timestamp::block_timestamp(const time_point_sec &t)']]] +]; diff --git a/docs/cdt/search/functions_3.html b/docs/cdt/search/functions_3.html new file mode 100644 index 000000000..9cbad0d47 --- /dev/null +++ b/docs/cdt/search/functions_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_3.js b/docs/cdt/search/functions_3.js new file mode 100644 index 000000000..883bba5a9 --- /dev/null +++ b/docs/cdt/search/functions_3.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['c_5fstr_0',['c_str',['../classeosio_1_1rope_ab22f02eea1291499396242f9653db777.html#ab22f02eea1291499396242f9653db777',1,'eosio::rope::c_str()'],['../classeosio_1_1string_a91c0860a7e6b0c176f64ea9ee5cdff59.html#a91c0860a7e6b0c176f64ea9ee5cdff59',1,'eosio::string::c_str()']]], + ['call_1',['call',['../structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4_a8ccabfd180270a8128685eeaea33c75a.html#a8ccabfd180270a8128685eeaea33c75a',1,'eosio::inline_dispatcher< void(T::*)(Args...), Name >::call(name code, const permission_level &perm, std::tuple< Args... > args)'],['../structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4_a43a9a1084e226ca5e3b8f306174a18ef.html#a43a9a1084e226ca5e3b8f306174a18ef',1,'eosio::inline_dispatcher< void(T::*)(Args...), Name >::call(name code, std::vector< permission_level > perms, std::tuple< Args... > args)']]], + ['cancel_5fdeferred_2',['cancel_deferred',['../group__transaction_ga78a95bee813140ef77b2b8641c472cfa.html#ga78a95bee813140ef77b2b8641c472cfa',1,'eosio']]], + ['capacity_3',['capacity',['../classeosio_1_1string_a67e73c263a77517ecce1d1cceb0089ee.html#a67e73c263a77517ecce1d1cceb0089ee',1,'eosio::string']]], + ['cbegin_4',['cbegin',['../classeosio_1_1string_ab9f769b1a15bd18493e3200238fa656f.html#ab9f769b1a15bd18493e3200238fa656f',1,'eosio::string::cbegin()'],['../group__multiindex_ga36ad6b1c1013b6f753660b334de96aef.html#ga36ad6b1c1013b6f753660b334de96aef',1,'eosio::multi_index::cbegin()']]], + ['cdt_5freflect_5',['CDT_REFLECT',['../structeosio_1_1name_a12f96935b2753bbd4fd3117039dae003.html#a12f96935b2753bbd4fd3117039dae003',1,'eosio::name::CDT_REFLECT()'],['../structeosio_1_1code__hash__result_ac41b77f5fb3e7ca7004af3701c411976.html#ac41b77f5fb3e7ca7004af3701c411976',1,'eosio::code_hash_result::CDT_REFLECT()'],['../structeosio_1_1producer__key_a7c39bd53db1afc7e683a4e0089cd156b.html#a7c39bd53db1afc7e683a4e0089cd156b',1,'eosio::producer_key::CDT_REFLECT()'],['../structeosio_1_1producer__schedule_aad91c3466de8f18794c629a5b5a1700d.html#aad91c3466de8f18794c629a5b5a1700d',1,'eosio::producer_schedule::CDT_REFLECT()'],['../structeosio_1_1key__weight_a85634275ee0cdb26b0e1c7be597b95c0.html#a85634275ee0cdb26b0e1c7be597b95c0',1,'eosio::key_weight::CDT_REFLECT()'],['../structeosio_1_1block__signing__authority__v0_ac69f3c98104be7264396dd0e9af3706f.html#ac69f3c98104be7264396dd0e9af3706f',1,'eosio::block_signing_authority_v0::CDT_REFLECT()'],['../structeosio_1_1producer__authority_ab4890311700654d7b4b23c4352a932e0.html#ab4890311700654d7b4b23c4352a932e0',1,'eosio::producer_authority::CDT_REFLECT()'],['../structeosio_1_1security__group_afb9b03dbcd61b6fad93b37b10ca2504a.html#afb9b03dbcd61b6fad93b37b10ca2504a',1,'eosio::security_group::CDT_REFLECT()']]], + ['cend_6',['cend',['../group__multiindex_gaece639944fa9031debbd984bbd42485a.html#gaece639944fa9031debbd984bbd42485a',1,'eosio::multi_index::cend()'],['../classeosio_1_1string_a6a25a174666da578f25cae60943be262.html#a6a25a174666da578f25cae60943be262',1,'eosio::string::cend()']]], + ['char_5fto_5fvalue_7',['char_to_value',['../structeosio_1_1name_a051cf40d16909e5c352cf85edb15fc9c.html#a051cf40d16909e5c352cf85edb15fc9c',1,'eosio::name']]], + ['check_8',['check',['../group__system_ga2f6537af230517a619f07727f6ff33a5.html#ga2f6537af230517a619f07727f6ff33a5',1,'eosio::check(bool pred, uint64_t code)'],['../group__system_ga076f987fe64de4738b5d2f4381150253.html#ga076f987fe64de4738b5d2f4381150253',1,'eosio::check(bool pred, const std::string &msg, size_t n)'],['../group__system_ga54ad844cfe9f99f2c7cfcc935559e633.html#ga54ad844cfe9f99f2c7cfcc935559e633',1,'eosio::check(bool pred, std::string_view msg)'],['../group__system_ga919983993e7c2b18dcb253e3a8ef33e4.html#ga919983993e7c2b18dcb253e3a8ef33e4',1,'eosio::check(bool pred, const char *msg)'],['../group__system_gaaa7adb3f6c40df0e974eab5f84e1377b.html#gaaa7adb3f6c40df0e974eab5f84e1377b',1,'eosio::check(bool pred, const std::string &msg)'],['../group__system_ga61e4624ef8320a0d9918cf247df4df90.html#ga61e4624ef8320a0d9918cf247df4df90',1,'eosio::check(bool pred, std::string &&msg)'],['../group__system_gad245a249b8721374fe09819a00a86906.html#gad245a249b8721374fe09819a00a86906',1,'eosio::check(bool pred, const char *msg, size_t n)']]], + ['clear_9',['clear',['../classeosio_1_1string_aac90a49eab4c1c047f40bf7e34fb46c9.html#aac90a49eab4c1c047f40bf7e34fb46c9',1,'eosio::string']]], + ['code_10',['code',['../classeosio_1_1symbol_a559c818f42e9d0df1a4c4823d7c6ecd8.html#a559c818f42e9d0df1a4c4823d7c6ecd8',1,'eosio::symbol']]], + ['const_5fiterator_11',['const_iterator',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a6d0b7e7cb0410b12d4333e5b53eb9ea8.html#a6d0b7e7cb0410b12d4333e5b53eb9ea8',1,'eosio::multi_index::index::const_iterator']]], + ['const_5fpack_12',['const_pack',['../namespaceeosio_1_1detail_a76123ee6d91ba89e19c83e1ef453fc1d.html#a76123ee6d91ba89e19c83e1ef453fc1d',1,'eosio::detail']]], + ['const_5fpack_5fhelper_13',['const_pack_helper',['../namespaceeosio_1_1detail_a421d953ed45f8e85368d906824cc1b76.html#a421d953ed45f8e85368d906824cc1b76',1,'eosio::detail']]], + ['contract_14',['contract',['../classeosio_1_1contract_acb803b9d14bdc26811cdaaf98804e105.html#acb803b9d14bdc26811cdaaf98804e105',1,'eosio::contract']]], + ['convert_5fto_5fkey_15',['convert_to_key',['../namespaceeosio_a0e3c662ea73d93bdf6f2a4a6c7ab3ee9.html#a0e3c662ea73d93bdf6f2a4a6c7ab3ee9',1,'eosio::convert_to_key(const T &t, key_type &bin)'],['../namespaceeosio_a0a8f491c6e9e9e3c629e6439b7b594a8.html#a0a8f491c6e9e9e3c629e6439b7b594a8',1,'eosio::convert_to_key(const T &t)']]], + ['copy_16',['copy',['../classeosio_1_1string_ab276b4902cb95bfeb853eee8684c0916.html#ab276b4902cb95bfeb853eee8684c0916',1,'eosio::string']]], + ['crbegin_17',['crbegin',['../group__multiindex_gabe296816f75cdb69e6698724e7b0c29d.html#gabe296816f75cdb69e6698724e7b0c29d',1,'eosio::multi_index']]], + ['crend_18',['crend',['../group__multiindex_ga6ce680bcec3a391e0ad89a1cd1143231.html#ga6ce680bcec3a391e0ad89a1cd1143231',1,'eosio::multi_index']]], + ['current_5fblock_5fnumber_19',['current_block_number',['../group__system_gad7e3e2102562d6671dd70bdac6feda0c.html#gad7e3e2102562d6671dd70bdac6feda0c',1,'eosio']]], + ['current_5fblock_5ftime_20',['current_block_time',['../group__system_gada0c9f4292996498bc781f2f52255086.html#gada0c9f4292996498bc781f2f52255086',1,'eosio']]], + ['current_5fcontext_5fcontract_21',['current_context_contract',['../namespaceeosio_af30ec535f8c8483b8779abcfbf73275e.html#af30ec535f8c8483b8779abcfbf73275e',1,'eosio']]], + ['current_5freceiver_22',['current_receiver',['../namespaceeosio_a1fe03e054c95360f2dd4e563aa49695b.html#a1fe03e054c95360f2dd4e563aa49695b',1,'eosio']]], + ['current_5ftime_5fpoint_23',['current_time_point',['../group__system_gad5f4701ab1b418fe1f1558e199047e35.html#gad5f4701ab1b418fe1f1558e199047e35',1,'eosio']]] +]; diff --git a/docs/cdt/search/functions_4.html b/docs/cdt/search/functions_4.html new file mode 100644 index 000000000..cc5cf70f2 --- /dev/null +++ b/docs/cdt/search/functions_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_4.js b/docs/cdt/search/functions_4.js new file mode 100644 index 000000000..f4233691e --- /dev/null +++ b/docs/cdt/search/functions_4.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['data_0',['data',['../classeosio_1_1fixed__bytes_a08cee20b3d10e105992a915b35721eb7.html#a08cee20b3d10e105992a915b35721eb7',1,'eosio::fixed_bytes::data()'],['../classeosio_1_1string_a6cd7a8bb3495205f9cd7a3c56527ea67.html#a6cd7a8bb3495205f9cd7a3c56527ea67',1,'eosio::string::data()'],['../classeosio_1_1string_a803e3faedd3eb97e0db9847824a14d80.html#a803e3faedd3eb97e0db9847824a14d80',1,'eosio::string::data() const']]], + ['data_5fas_1',['data_as',['../structeosio_1_1action_ab10f4621dd9e24a33642d8fb240b1a01.html#ab10f4621dd9e24a33642d8fb240b1a01',1,'eosio::action']]], + ['datastream_2',['datastream',['../classeosio_1_1datastream_a72befc5c1f51a601ad07e7c8e61856f4.html#a72befc5c1f51a601ad07e7c8e61856f4',1,'eosio::datastream::datastream()'],['../classeosio_1_1datastream_3_01size__t_01_4_abf5e113ace4a6bfa309fcecf3fc49f63.html#abf5e113ace4a6bfa309fcecf3fc49f63',1,'eosio::datastream< size_t >::datastream()']]], + ['days_3',['days',['../namespaceeosio_ae1538fa412576d5b367a62c2f0e38730.html#ae1538fa412576d5b367a62c2f0e38730',1,'eosio']]], + ['deserialize_4',['deserialize',['../namespaceeosio_a11247ca58ee8acf29f3486c0e2772788.html#a11247ca58ee8acf29f3486c0e2772788',1,'eosio']]], + ['dispatch_5',['dispatch',['../group__dispatcher_ga289285490058d17de4a6a052b52dd680.html#ga289285490058d17de4a6a052b52dd680',1,'eosio']]], + ['dispatch_5finline_6',['dispatch_inline',['../namespaceeosio_a0917f40ecb384d7934f7983351b397ce.html#a0917f40ecb384d7934f7983351b397ce',1,'eosio']]] +]; diff --git a/docs/cdt/search/functions_5.html b/docs/cdt/search/functions_5.html new file mode 100644 index 000000000..9a443f865 --- /dev/null +++ b/docs/cdt/search/functions_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_5.js b/docs/cdt/search/functions_5.js new file mode 100644 index 000000000..6aa88e811 --- /dev/null +++ b/docs/cdt/search/functions_5.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['ec_5fpoint_0',['ec_point',['../structeosio_1_1ec__point_ab8a58360bffb655455dbe52ca73f5047.html#ab8a58360bffb655455dbe52ca73f5047',1,'eosio::ec_point::ec_point(std::vector< char > &x_, std::vector< char > &y_)'],['../structeosio_1_1ec__point_ad7a71307ec985cd0208b5039050a024b.html#ad7a71307ec985cd0208b5039050a024b',1,'eosio::ec_point::ec_point(std::vector< char > &p)']]], + ['ec_5fpoint_5fview_1',['ec_point_view',['../structeosio_1_1ec__point__view_afefa3f51502d704de152914c137586a6.html#afefa3f51502d704de152914c137586a6',1,'eosio::ec_point_view::ec_point_view(const char *x_, uint32_t x_size, const char *y_, uint32_t y_size)'],['../structeosio_1_1ec__point__view_a219f776476a886286b805a038d50ae02.html#a219f776476a886286b805a038d50ae02',1,'eosio::ec_point_view::ec_point_view(const std::vector< char > &p)'],['../structeosio_1_1ec__point__view_ab2b81ba1368af5f272b0e325043f6742.html#ab2b81ba1368af5f272b0e325043f6742',1,'eosio::ec_point_view::ec_point_view(const ec_point< Size > &p)']]], + ['emplace_2',['emplace',['../group__multiindex_gab64fbf4dd04be357ec0cbbf125a3da5e.html#gab64fbf4dd04be357ec0cbbf125a3da5e',1,'eosio::multi_index']]], + ['empty_3',['empty',['../classeosio_1_1string_a153185b2a085cea1e6bf513cf66205d9.html#a153185b2a085cea1e6bf513cf66205d9',1,'eosio::string']]], + ['end_4',['end',['../classeosio_1_1string_a395ebf42a73b271ea68f9b8cb45bfdcf.html#a395ebf42a73b271ea68f9b8cb45bfdcf',1,'eosio::string::end()'],['../group__multiindex_ga748fcb4d6a08962ad8a7c92da359e3d7.html#ga748fcb4d6a08962ad8a7c92da359e3d7',1,'eosio::multi_index::end()']]], + ['eosio_5fexit_5',['eosio_exit',['../group__system_ga956ded6d541ae9e454b446f0d5d0b24c.html#ga956ded6d541ae9e454b446f0d5d0b24c',1,'eosio']]], + ['eoslib_5fserialize_6',['EOSLIB_SERIALIZE',['../structeosio_1_1code__hash__result_abff001c3c3671f6a82fa61136db62808.html#abff001c3c3671f6a82fa61136db62808',1,'eosio::code_hash_result']]], + ['erase_7',['erase',['../classeosio_1_1string_ad62910f1b924929fafcd862e8eb71e5b.html#ad62910f1b924929fafcd862e8eb71e5b',1,'eosio::string::erase()'],['../group__multiindex_gad28ac8d91e9af22cbbc12962a805d253.html#gad28ac8d91e9af22cbbc12962a805d253',1,'eosio::multi_index::erase(const_iterator itr)'],['../group__multiindex_gac5f84064eacb4265ad44f15cecebb4be.html#gac5f84064eacb4265ad44f15cecebb4be',1,'eosio::multi_index::erase(const T &obj)']]], + ['execute_5faction_8',['execute_action',['../group__dispatcher_ga8c4928c29096799ef6ddabf148dc9cf9.html#ga8c4928c29096799ef6ddabf148dc9cf9',1,'eosio']]], + ['exists_9',['exists',['../classeosio_1_1singleton_ae6eed2e5197e5b4216450e5940ab9141.html#ae6eed2e5197e5b4216450e5940ab9141',1,'eosio::singleton']]], + ['expiration_10',['expiration',['../group__transaction_gaf1dda66d94fcc04a2b5fa7a8bffd75b0.html#gaf1dda66d94fcc04a2b5fa7a8bffd75b0',1,'eosio']]], + ['extended_5fasset_11',['extended_asset',['../structeosio_1_1extended__asset_a7747448ddea804e84fe72decd40ee3a2.html#a7747448ddea804e84fe72decd40ee3a2',1,'eosio::extended_asset::extended_asset()=default'],['../structeosio_1_1extended__asset_a831a169f25c972af14a01e0305ab8d74.html#a831a169f25c972af14a01e0305ab8d74',1,'eosio::extended_asset::extended_asset(int64_t v, extended_symbol s)'],['../structeosio_1_1extended__asset_a29f3c5f054f754ab4fac481cce633682.html#a29f3c5f054f754ab4fac481cce633682',1,'eosio::extended_asset::extended_asset(asset a, name c)']]], + ['extended_5fsymbol_12',['extended_symbol',['../classeosio_1_1extended__symbol_a56dc99d1a5b4a6edb9366d2b3f64b4f7.html#a56dc99d1a5b4a6edb9366d2b3f64b4f7',1,'eosio::extended_symbol::extended_symbol()'],['../classeosio_1_1extended__symbol_aa9ebafeb8a32c6b0965de82f407a9730.html#aa9ebafeb8a32c6b0965de82f407a9730',1,'eosio::extended_symbol::extended_symbol(symbol s, name con)']]], + ['extract_5fas_5fbyte_5farray_13',['extract_as_byte_array',['../classeosio_1_1fixed__bytes_a59c51be9c3779cd907b33af7d41d1d4c.html#a59c51be9c3779cd907b33af7d41d1d4c',1,'eosio::fixed_bytes']]] +]; diff --git a/docs/cdt/search/functions_6.html b/docs/cdt/search/functions_6.html new file mode 100644 index 000000000..e05b0831e --- /dev/null +++ b/docs/cdt/search/functions_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_6.js b/docs/cdt/search/functions_6.js new file mode 100644 index 000000000..bb3da68e6 --- /dev/null +++ b/docs/cdt/search/functions_6.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['find_0',['find',['../group__multiindex_ga93e51f6a53639f1a45c352f67f5ba3ae.html#ga93e51f6a53639f1a45c352f67f5ba3ae',1,'eosio::multi_index']]], + ['fixed_5fbytes_1',['fixed_bytes',['../classeosio_1_1fixed__bytes_abb272f4e962fa15dd78633053bb63d31.html#abb272f4e962fa15dd78633053bb63d31',1,'eosio::fixed_bytes::fixed_bytes()'],['../classeosio_1_1fixed__bytes_ad2ca84b3f4fcc67b99e6f7731825789d.html#ad2ca84b3f4fcc67b99e6f7731825789d',1,'eosio::fixed_bytes::fixed_bytes(const std::array< word_t, num_words()> &arr)'],['../classeosio_1_1fixed__bytes_a6d082b4eb4541d6b311849939b5a6ea5.html#a6d082b4eb4541d6b311849939b5a6ea5',1,'eosio::fixed_bytes::fixed_bytes(const std::array< Word, NumWords > &arr)'],['../classeosio_1_1fixed__bytes_abdc3879046e86eaaf6e867bce216a5fd.html#abdc3879046e86eaaf6e867bce216a5fd',1,'eosio::fixed_bytes::fixed_bytes(const Word(&arr)[NumWords])']]], + ['float_5fto_5fkey_2',['float_to_key',['../namespaceeosio_ae3b4a6109935f78a3754bd7db29357a4.html#ae3b4a6109935f78a3754bd7db29357a4',1,'eosio']]], + ['from_5fcurrent_5faction_3',['from_current_action',['../group__transaction_gabdf7bc0ef45beae2daf8cf3f08a7cd42.html#gabdf7bc0ef45beae2daf8cf3f08a7cd42',1,'eosio::onerror']]], + ['from_5fiso_5fstring_4',['from_iso_string',['../classeosio_1_1time__point_a6c42fb4f6f6ae1f893502b8b30571625.html#a6c42fb4f6f6ae1f893502b8b30571625',1,'eosio::time_point::from_iso_string()'],['../classeosio_1_1time__point__sec_a6911add79fa8b0e013f01a168c0af50e.html#a6911add79fa8b0e013f01a168c0af50e',1,'eosio::time_point_sec::from_iso_string()'],['../classeosio_1_1block__timestamp_abd89e2d752bce18f94f865426a16c5bf.html#abd89e2d752bce18f94f865426a16c5bf',1,'eosio::block_timestamp::from_iso_string()']]], + ['front_5',['front',['../classeosio_1_1string_a1665b4aff2487ecf7b5de5a539283e59.html#a1665b4aff2487ecf7b5de5a539283e59',1,'eosio::string::front()'],['../classeosio_1_1string_ace4cb4b04068b19569df2ddfd5072922.html#ace4cb4b04068b19569df2ddfd5072922',1,'eosio::string::front() const']]] +]; diff --git a/docs/cdt/search/functions_7.html b/docs/cdt/search/functions_7.html new file mode 100644 index 000000000..add3d00db --- /dev/null +++ b/docs/cdt/search/functions_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_7.js b/docs/cdt/search/functions_7.js new file mode 100644 index 000000000..cdae52159 --- /dev/null +++ b/docs/cdt/search/functions_7.js @@ -0,0 +1,28 @@ +var searchData= +[ + ['generate_5farray_0',['generate_array',['../namespaceeosio_1_1detail_a5e3d839eb6a9a68857d5f1c44d053057.html#a5e3d839eb6a9a68857d5f1c44d053057',1,'eosio::detail']]], + ['generate_5farray_5fhelper_1',['generate_array_helper',['../namespaceeosio_1_1detail_a8af0145503d43bda71e5644c5e9ae7ef.html#a8af0145503d43bda71e5644c5e9ae7ef',1,'eosio::detail']]], + ['get_2',['get',['../classeosio_1_1datastream_a001047d70942ab5beb836e498d9f9eab.html#a001047d70942ab5beb836e498d9f9eab',1,'eosio::datastream::get(unsigned char &c)'],['../classeosio_1_1datastream_a10ab58b7cc695366b42957f4b8ff56eb.html#a10ab58b7cc695366b42957f4b8ff56eb',1,'eosio::datastream::get(char &c)'],['../structeosio_1_1ignore__wrapper_adcb05b331265687383a2324c8e47c428.html#adcb05b331265687383a2324c8e47c428',1,'eosio::ignore_wrapper::get()'],['../group__multiindex_ga02c39a16f0ff568d297f25eb7ed88ac3.html#ga02c39a16f0ff568d297f25eb7ed88ac3',1,'eosio::multi_index::get()'],['../classeosio_1_1singleton_a53b56e4e8ed2fddd61175285afdf44d4.html#a53b56e4e8ed2fddd61175285afdf44d4',1,'eosio::singleton::get()']]], + ['get_5faccount_5fram_5fusage_3',['get_account_ram_usage',['../group__privileged_gabd00f6a2896d4156346eee44d6ac0193.html#gabd00f6a2896d4156346eee44d6ac0193',1,'eosio']]], + ['get_5faction_4',['get_action',['../group__transaction_gac01a00482f2dc95bf4850b2e8213ee90.html#gac01a00482f2dc95bf4850b2e8213ee90',1,'eosio']]], + ['get_5factive_5fproducers_5',['get_active_producers',['../group__producer__schedule_gabd7742a9a5cffa3eccae1accbd1ee771.html#gabd7742a9a5cffa3eccae1accbd1ee771',1,'eosio']]], + ['get_5factive_5fsecurity_5fgroup_6',['get_active_security_group',['../group__security__group_gaac778b25910d9c1a99deb182fea2543e.html#gaac778b25910d9c1a99deb182fea2543e',1,'eosio']]], + ['get_5farray_7',['get_array',['../classeosio_1_1fixed__bytes_ac24c51c323af1034b5453fb5f117051f.html#ac24c51c323af1034b5453fb5f117051f',1,'eosio::fixed_bytes']]], + ['get_5fblockchain_5fparameters_8',['get_blockchain_parameters',['../group__privileged_ga673da670d201ba73461eedd8bd1aec8f.html#ga673da670d201ba73461eedd8bd1aec8f',1,'eosio']]], + ['get_5fcode_9',['get_code',['../classeosio_1_1contract_a4efcd5638d26dad3e5dc075bad152d45.html#a4efcd5638d26dad3e5dc075bad152d45',1,'eosio::contract::get_code()'],['../group__multiindex_ga6ef0fb806ad6edf50b670a115fc3d5a1.html#ga6ef0fb806ad6edf50b670a115fc3d5a1',1,'eosio::multi_index::get_code()']]], + ['get_5fcode_5fhash_10',['get_code_hash',['../namespaceeosio_a42e0876d95586115725e60f81b684b9a.html#a42e0876d95586115725e60f81b684b9a',1,'eosio']]], + ['get_5fcontext_5ffree_5fdata_11',['get_context_free_data',['../group__transaction_ga0a8affaada54b4a722e819c9da056211.html#ga0a8affaada54b4a722e819c9da056211',1,'eosio']]], + ['get_5fcontract_12',['get_contract',['../classeosio_1_1extended__symbol_aa215d71db628ab457c8eff30912eae82.html#aa215d71db628ab457c8eff30912eae82',1,'eosio::extended_symbol']]], + ['get_5fdatastream_13',['get_datastream',['../classeosio_1_1contract_a025bbcfc537a64a72c6b41f1118559a0.html#a025bbcfc537a64a72c6b41f1118559a0',1,'eosio::contract::get_datastream()'],['../classeosio_1_1contract_ab2b6af0978586ae4e3a1c9c1699e660a.html#ab2b6af0978586ae4e3a1c9c1699e660a',1,'eosio::contract::get_datastream() const']]], + ['get_5fextended_5fsymbol_14',['get_extended_symbol',['../structeosio_1_1extended__asset_a7604109863c6d45bc54347c27bd632a4.html#a7604109863c6d45bc54347c27bd632a4',1,'eosio::extended_asset']]], + ['get_5ffirst_5freceiver_15',['get_first_receiver',['../classeosio_1_1contract_ac7c14f66e3d41904264d1c6558cf370b.html#ac7c14f66e3d41904264d1c6558cf370b',1,'eosio::contract']]], + ['get_5findex_16',['get_index',['../group__multiindex_ga98fecc3166ebb3746ee810f7f7d9beac.html#ga98fecc3166ebb3746ee810f7f7d9beac',1,'eosio::multi_index::get_index()'],['../group__multiindex_gae6e01877b9862c8193df27f05c305f2c.html#gae6e01877b9862c8193df27f05c305f2c',1,'eosio::multi_index::get_index() const']]], + ['get_5fmem_5fptr_17',['get_mem_ptr',['../structeosio_1_1variant__action__wrapper_acc8f5998ff5d156eae85f525b0cb17e0.html#acc8f5998ff5d156eae85f525b0cb17e0',1,'eosio::variant_action_wrapper::get_mem_ptr()'],['../structeosio_1_1action__wrapper_a44ef1255c5018cdffb249665017fde8c.html#a44ef1255c5018cdffb249665017fde8c',1,'eosio::action_wrapper::get_mem_ptr()']]], + ['get_5for_5fcreate_18',['get_or_create',['../classeosio_1_1singleton_a7e632785eac3f1d05e08b34c49cb35dc.html#a7e632785eac3f1d05e08b34c49cb35dc',1,'eosio::singleton']]], + ['get_5for_5fdefault_19',['get_or_default',['../classeosio_1_1singleton_a6a252d888f4c0b20bb3045a443267951.html#a6a252d888f4c0b20bb3045a443267951',1,'eosio::singleton']]], + ['get_5fresource_5flimits_20',['get_resource_limits',['../group__privileged_gab80245def6eafc07e7eff5207f604261.html#gab80245def6eafc07e7eff5207f604261',1,'eosio']]], + ['get_5fscope_21',['get_scope',['../group__multiindex_ga0690e9e9a30254240fa0cb6bb12bebf3.html#ga0690e9e9a30254240fa0cb6bb12bebf3',1,'eosio::multi_index']]], + ['get_5fself_22',['get_self',['../classeosio_1_1contract_a7564cad9be4ee5dcaac832511d9a0e05.html#a7564cad9be4ee5dcaac832511d9a0e05',1,'eosio::contract']]], + ['get_5fsender_23',['get_sender',['../group__system_gad4861c14350c38823173733ce00ba6ff.html#gad4861c14350c38823173733ce00ba6ff',1,'eosio']]], + ['get_5fsymbol_24',['get_symbol',['../classeosio_1_1extended__symbol_a81b0741a1705ad99855aa375fe004b9d.html#a81b0741a1705ad99855aa375fe004b9d',1,'eosio::extended_symbol']]] +]; diff --git a/docs/cdt/search/functions_8.html b/docs/cdt/search/functions_8.html new file mode 100644 index 000000000..9562295d9 --- /dev/null +++ b/docs/cdt/search/functions_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_8.js b/docs/cdt/search/functions_8.js new file mode 100644 index 000000000..ea3cf9521 --- /dev/null +++ b/docs/cdt/search/functions_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['has_5fauth_0',['has_auth',['../group__action_ga9e4650a61bbe0809cc62e6b2af8252d3.html#ga9e4650a61bbe0809cc62e6b2af8252d3',1,'eosio']]], + ['has_5fbitwise_5fserialization_1',['has_bitwise_serialization',['../namespaceeosio_1_1detail_a5cd71ed03fbb930b8da785011b4430fc.html#a5cd71ed03fbb930b8da785011b4430fc',1,'eosio::detail']]], + ['hours_2',['hours',['../namespaceeosio_a33b982404d2fd14a2618564ae69db447.html#a33b982404d2fd14a2618564ae69db447',1,'eosio']]] +]; diff --git a/docs/cdt/search/functions_9.html b/docs/cdt/search/functions_9.html new file mode 100644 index 000000000..0ab16ff71 --- /dev/null +++ b/docs/cdt/search/functions_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_9.js b/docs/cdt/search/functions_9.js new file mode 100644 index 000000000..0e0481ba9 --- /dev/null +++ b/docs/cdt/search/functions_9.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['ignore_5fwrapper_0',['ignore_wrapper',['../structeosio_1_1ignore__wrapper_a89db1ce457bcd345d9c0403ad6c4936f.html#a89db1ce457bcd345d9c0403ad6c4936f',1,'eosio::ignore_wrapper::ignore_wrapper()'],['../structeosio_1_1ignore__wrapper_ac6cf7a6be9c0cc5013c68c1e39a0bab8.html#ac6cf7a6be9c0cc5013c68c1e39a0bab8',1,'eosio::ignore_wrapper::ignore_wrapper(T val)'],['../structeosio_1_1ignore__wrapper_a0dcb6bbda0a915c87264dc0119fc9ded.html#a0dcb6bbda0a915c87264dc0119fc9ded',1,'eosio::ignore_wrapper::ignore_wrapper(ignore< T > val)']]], + ['in_5factive_5fsecurity_5fgroup_1',['in_active_security_group',['../group__security__group_ga9348bff666d401af321e1d67af264a3d.html#ga9348bff666d401af321e1d67af264a3d',1,'eosio']]], + ['insert_2',['insert',['../classeosio_1_1string_a237c8d55ce3141f492db1277f18a410b.html#a237c8d55ce3141f492db1277f18a410b',1,'eosio::string::insert(const size_t pos, const char *str)'],['../classeosio_1_1string_aede6037e2778f095d1dc51730d161573.html#aede6037e2778f095d1dc51730d161573',1,'eosio::string::insert(const size_t pos, const char *str, const size_t len)'],['../classeosio_1_1string_af587de1d8dc0628a4a3216d43e739f21.html#af587de1d8dc0628a4a3216d43e739f21',1,'eosio::string::insert(const size_t pos, const string &str)']]], + ['is_5faccount_3',['is_account',['../group__action_ga887cd0fed2350c5ae52565ba6e290db3.html#ga887cd0fed2350c5ae52565ba6e290db3',1,'eosio']]], + ['is_5famount_5fwithin_5frange_4',['is_amount_within_range',['../structeosio_1_1asset_a815b58378c8849fbb2a68f288edf5f31.html#a815b58378c8849fbb2a68f288edf5f31',1,'eosio::asset']]], + ['is_5ffeature_5factivated_5',['is_feature_activated',['../group__system_ga6a213f83fa0851779c32cfcf66c816a9.html#ga6a213f83fa0851779c32cfcf66c816a9',1,'eosio']]], + ['is_5fpointer_6',['is_pointer',['../namespaceeosio_1_1__datastream__detail_a756af9772c5c98915bbdacafa7165278.html#a756af9772c5c98915bbdacafa7165278',1,'eosio::_datastream_detail']]], + ['is_5fprimitive_7',['is_primitive',['../namespaceeosio_1_1__datastream__detail_ab1b99c65e9a4c3ec9a0077b17466043d.html#ab1b99c65e9a4c3ec9a0077b17466043d',1,'eosio::_datastream_detail']]], + ['is_5fprivileged_8',['is_privileged',['../group__privileged_gad2eb8389a1197594476ea9e41448481a.html#gad2eb8389a1197594476ea9e41448481a',1,'eosio']]], + ['is_5franged_5ftype_9',['is_ranged_type',['../namespaceeosio_1_1detail_a64b7b02e02888b43c508684f3939aa77.html#a64b7b02e02888b43c508684f3939aa77',1,'eosio::detail']]], + ['is_5fvalid_10',['is_valid',['../structeosio_1_1asset_aa2e8739bf534ea99199d121143ca7a0a.html#aa2e8739bf534ea99199d121143ca7a0a',1,'eosio::asset::is_valid()'],['../classeosio_1_1symbol__code_a87acfd4b3bd04ca4b9ba84f6ea12d5d0.html#a87acfd4b3bd04ca4b9ba84f6ea12d5d0',1,'eosio::symbol_code::is_valid()'],['../classeosio_1_1symbol_af52f86a82390abe6be09e9745df30815.html#af52f86a82390abe6be09e9745df30815',1,'eosio::symbol::is_valid()'],['../structeosio_1_1block__signing__authority__v0_aace9f3212e4df0db2511059a9c876886.html#aace9f3212e4df0db2511059a9c876886',1,'eosio::block_signing_authority_v0::is_valid()']]], + ['iterator_5fto_11',['iterator_to',['../group__multiindex_gad611e3ff51efdf038b934138d071cf83.html#gad611e3ff51efdf038b934138d071cf83',1,'eosio::multi_index']]] +]; diff --git a/docs/cdt/search/functions_a.html b/docs/cdt/search/functions_a.html new file mode 100644 index 000000000..d84f6e6ad --- /dev/null +++ b/docs/cdt/search/functions_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_a.js b/docs/cdt/search/functions_a.js new file mode 100644 index 000000000..5f0aff71b --- /dev/null +++ b/docs/cdt/search/functions_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['k1_5frecover_0',['k1_recover',['../group__crypto_gaa651eeb4147e53a045ccf1fd3c06f14d.html#gaa651eeb4147e53a045ccf1fd3c06f14d',1,'eosio']]], + ['keccak_1',['keccak',['../group__crypto_gaee42036696553a2aab82c8beadc949cc.html#gaee42036696553a2aab82c8beadc949cc',1,'eosio']]] +]; diff --git a/docs/cdt/search/functions_b.html b/docs/cdt/search/functions_b.html new file mode 100644 index 000000000..65f3b58c3 --- /dev/null +++ b/docs/cdt/search/functions_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_b.js b/docs/cdt/search/functions_b.js new file mode 100644 index 000000000..865e6dc67 --- /dev/null +++ b/docs/cdt/search/functions_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['length_0',['length',['../structeosio_1_1name_a757935f0931b482c554686c2ea2a42b2.html#a757935f0931b482c554686c2ea2a42b2',1,'eosio::name::length()'],['../classeosio_1_1rope_a55c20ad2f4bddfe33423fc078a33f478.html#a55c20ad2f4bddfe33423fc078a33f478',1,'eosio::rope::length()'],['../classeosio_1_1string_a5ac65214871aeb5aa277315e3730b478.html#a5ac65214871aeb5aa277315e3730b478',1,'eosio::string::length()'],['../classeosio_1_1symbol__code_adf291364853aa746ddc32942881b2e64.html#adf291364853aa746ddc32942881b2e64',1,'eosio::symbol_code::length()']]], + ['lower_5fbound_1',['lower_bound',['../group__multiindex_ga40c5a0709cff9dbeb7d9e79738d43f53.html#ga40c5a0709cff9dbeb7d9e79738d43f53',1,'eosio::multi_index']]] +]; diff --git a/docs/cdt/search/functions_c.html b/docs/cdt/search/functions_c.html new file mode 100644 index 000000000..4dfbd282f --- /dev/null +++ b/docs/cdt/search/functions_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_c.js b/docs/cdt/search/functions_c.js new file mode 100644 index 000000000..7371fcf45 --- /dev/null +++ b/docs/cdt/search/functions_c.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['make_5ffrom_5fword_5fsequence_0',['make_from_word_sequence',['../classeosio_1_1fixed__bytes_ab841ca6465a6867b18001738e01e5c22.html#ab841ca6465a6867b18001738e01e5c22',1,'eosio::fixed_bytes']]], + ['max_5fsize_1',['max_size',['../classeosio_1_1string_a78b71a3a602620d706457f4a68dbcd73.html#a78b71a3a602620d706457f4a68dbcd73',1,'eosio::string']]], + ['maximum_2',['maximum',['../classeosio_1_1time__point__sec_a7e1d564816b972cf8c5962fc3ad348a9.html#a7e1d564816b972cf8c5962fc3ad348a9',1,'eosio::time_point_sec::maximum()'],['../classeosio_1_1block__timestamp_a30ae0cff751d3f0ff01010f4a4f6d052.html#a30ae0cff751d3f0ff01010f4a4f6d052',1,'eosio::block_timestamp::maximum()']]], + ['member_5fpointer_5fclass_3',['member_pointer_class',['../namespaceeosio_1_1detail_a5cf83297746ac38942c4e6d515030884.html#a5cf83297746ac38942c4e6d515030884',1,'eosio::detail']]], + ['member_5fpointer_5ftype_4',['member_pointer_type',['../namespaceeosio_1_1detail_aaa5b3d6111b08badba51b37a8890e4f2.html#aaa5b3d6111b08badba51b37a8890e4f2',1,'eosio::detail']]], + ['microseconds_5',['microseconds',['../classeosio_1_1microseconds_a59aa821c27e2073ede1ddf759e26317f.html#a59aa821c27e2073ede1ddf759e26317f',1,'eosio::microseconds']]], + ['milliseconds_6',['milliseconds',['../namespaceeosio_a2b8d5b8f5a1829bd6967c3fe89eea506.html#a2b8d5b8f5a1829bd6967c3fe89eea506',1,'eosio']]], + ['min_7',['min',['../classeosio_1_1time__point__sec_a090e65b6dc831f54eed58059b1718714.html#a090e65b6dc831f54eed58059b1718714',1,'eosio::time_point_sec::min()'],['../classeosio_1_1block__timestamp_a97cc3a05e64223e6144fde0ccfac1abd.html#a97cc3a05e64223e6144fde0ccfac1abd',1,'eosio::block_timestamp::min()']]], + ['minutes_8',['minutes',['../namespaceeosio_a29a31fdb3cb6abce3f6abcf6840ea00c.html#a29a31fdb3cb6abce3f6abcf6840ea00c',1,'eosio']]], + ['mod_5fexp_9',['mod_exp',['../group__crypto_gafaa1bb4600feccd42acd799e76570291.html#gafaa1bb4600feccd42acd799e76570291',1,'eosio::mod_exp(const bigint &base, const bigint &exp, const bigint &mod, bigint &result)'],['../group__crypto_ga30e83b1ef7aa5db6dc580c850a02801c.html#ga30e83b1ef7aa5db6dc580c850a02801c',1,'eosio::mod_exp(const char *base, uint32_t base_len, const char *exp, uint32_t exp_len, const char *mod, uint32_t mod_len, char *result, uint32_t result_len)']]], + ['modify_10',['modify',['../group__multiindex_ga4b3556ef69c7faa917f185ae33a34442.html#ga4b3556ef69c7faa917f185ae33a34442',1,'eosio::multi_index::modify(const_iterator itr, name payer, Lambda &&updater)'],['../group__multiindex_gab44fb8b993970f1b3b7ac5f37cd2d2c9.html#gab44fb8b993970f1b3b7ac5f37cd2d2c9',1,'eosio::multi_index::modify(const T &obj, name payer, Lambda &&updater)']]], + ['multi_5findex_11',['multi_index',['../group__multiindex_gaa081f69f6fa288869d1d5881f0be04dd.html#gaa081f69f6fa288869d1d5881f0be04dd',1,'eosio::multi_index']]] +]; diff --git a/docs/cdt/search/functions_d.html b/docs/cdt/search/functions_d.html new file mode 100644 index 000000000..a006cac9a --- /dev/null +++ b/docs/cdt/search/functions_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_d.js b/docs/cdt/search/functions_d.js new file mode 100644 index 000000000..186151e46 --- /dev/null +++ b/docs/cdt/search/functions_d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['name_0',['name',['../structeosio_1_1name_a3e05c2f8c5eb5fa35dc1a99918d57c19.html#a3e05c2f8c5eb5fa35dc1a99918d57c19',1,'eosio::name::name()'],['../structeosio_1_1name_abc1f35add0a585ea60d6c7333b87f595.html#abc1f35add0a585ea60d6c7333b87f595',1,'eosio::name::name(uint64_t v)'],['../structeosio_1_1name_a4679582f6b187de123c5167db945b0fe.html#a4679582f6b187de123c5167db945b0fe',1,'eosio::name::name(name::raw r)'],['../structeosio_1_1name_a0ce912cd61e77f223ac1d252deec0d04.html#a0ce912cd61e77f223ac1d252deec0d04',1,'eosio::name::name(std::string_view str)']]], + ['next_1',['next',['../classeosio_1_1block__timestamp_a07825f36097aa846aecaa221239874d6.html#a07825f36097aa846aecaa221239874d6',1,'eosio::block_timestamp']]], + ['num_5fwords_2',['num_words',['../classeosio_1_1fixed__bytes_a624f3e2c6a33a0197b0d59c6995c47d8.html#a624f3e2c6a33a0197b0d59c6995c47d8',1,'eosio::fixed_bytes']]] +]; diff --git a/docs/cdt/search/functions_e.html b/docs/cdt/search/functions_e.html new file mode 100644 index 000000000..35e55190f --- /dev/null +++ b/docs/cdt/search/functions_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_e.js b/docs/cdt/search/functions_e.js new file mode 100644 index 000000000..59729f8b1 --- /dev/null +++ b/docs/cdt/search/functions_e.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['operator_20bool_0',['operator bool',['../structeosio_1_1name_a667462189a277a9f11f66fcd88af05df.html#a667462189a277a9f11f66fcd88af05df',1,'eosio::name::operator bool()'],['../classeosio_1_1symbol__code_a9b45275437c716ebc9ba95d199c04ed1.html#a9b45275437c716ebc9ba95d199c04ed1',1,'eosio::symbol_code::operator bool()'],['../classeosio_1_1symbol_a6c974f93f06131859376b75c4df03a53.html#a6c974f93f06131859376b75c4df03a53',1,'eosio::symbol::operator bool()']]], + ['operator_20ignore_3c_20t_20_3e_1',['operator ignore< T >',['../structeosio_1_1ignore__wrapper_a79d94e050efb9c7b3cd6a01fe1c8350b.html#a79d94e050efb9c7b3cd6a01fe1c8350b',1,'eosio::ignore_wrapper']]], + ['operator_20raw_2',['operator raw',['../structeosio_1_1name_afd3799cbd1bc276a81dba035599f535c.html#afd3799cbd1bc276a81dba035599f535c',1,'eosio::name']]], + ['operator_20t_3',['operator T',['../structeosio_1_1ignore__wrapper_ac438b2240f6513b7ccac4d7c6876bd95.html#ac438b2240f6513b7ccac4d7c6876bd95',1,'eosio::ignore_wrapper::operator T()'],['../structeosio_1_1unsigned__int_ab362b441320e0681f3283b03efa8568d.html#ab362b441320e0681f3283b03efa8568d',1,'eosio::unsigned_int::operator T()']]], + ['operator_20time_5fpoint_4',['operator time_point',['../classeosio_1_1time__point__sec_acd75205a33a0ccbb5e2d3ceea12182a7.html#acd75205a33a0ccbb5e2d3ceea12182a7',1,'eosio::time_point_sec::operator time_point()'],['../classeosio_1_1block__timestamp_abc0874625ff948fb8f23dd41644aee23.html#abc0874625ff948fb8f23dd41644aee23',1,'eosio::block_timestamp::operator time_point()']]], + ['operator_21_3d_5',['operator!=',['../namespaceeosio_a14b4435561885695942e8d60b7d5e7b7.html#a14b4435561885695942e8d60b7d5e7b7',1,'eosio']]], + ['operator_22_22_5fn_6',['operator""_n',['../group__name_ga2c559845072f8f8423f21c8c8f9c57ce.html#ga2c559845072f8f8423f21c8c8f9c57ce',1,'name.hpp']]], + ['operator_28_29_7',['operator()',['../structeosio_1_1const__mem__fun_a04df970f69c75d7fc9d4949c3c0b0d19.html#a04df970f69c75d7fc9d4949c3c0b0d19',1,'eosio::const_mem_fun::operator()(const Class &x) const'],['../structeosio_1_1const__mem__fun_a35e521958c3954d0eacac56ce37153d7.html#a35e521958c3954d0eacac56ce37153d7',1,'eosio::const_mem_fun::operator()(const std::reference_wrapper< const Class > &x) const'],['../structeosio_1_1const__mem__fun_a8191e327113ef08c101ae22d495315ae.html#a8191e327113ef08c101ae22d495315ae',1,'eosio::const_mem_fun::operator()(const std::reference_wrapper< Class > &x) const'],['../structeosio_1_1const__mem__fun_ad750b8c1fab65ea16ab50631ca9408da.html#ad750b8c1fab65ea16ab50631ca9408da',1,'eosio::const_mem_fun::operator()(const ChainedPtr &x) const -> std::enable_if_t<!std::is_convertible< const ChainedPtr &, const Class & >::value, Type >']]], + ['operator_2a_8',['operator*',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_afdc8e49cfd185bf193aefc5603704d26.html#afdc8e49cfd185bf193aefc5603704d26',1,'eosio::multi_index::index::const_iterator::operator*()'],['../structeosio_1_1multi__index_1_1const__iterator_af26c82fdb30dc0e6b3b1a51c60665fc7.html#af26c82fdb30dc0e6b3b1a51c60665fc7',1,'eosio::multi_index::const_iterator::operator*()']]], + ['operator_2b_9',['operator+',['../namespaceeosio_a76c9eef0a1a07d3dd3c924e6f302bf1c.html#a76c9eef0a1a07d3dd3c924e6f302bf1c',1,'eosio']]], + ['operator_2b_2b_10',['operator++',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_aaa017dc5dc3ecac344a590f409371216.html#aaa017dc5dc3ecac344a590f409371216',1,'eosio::multi_index::index::const_iterator::operator++(int)'],['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a7f45c8586749261bd679b6b9c10ebc1f.html#a7f45c8586749261bd679b6b9c10ebc1f',1,'eosio::multi_index::index::const_iterator::operator++()'],['../structeosio_1_1multi__index_1_1const__iterator_a829330bb82ce769116465eb450a34249.html#a829330bb82ce769116465eb450a34249',1,'eosio::multi_index::const_iterator::operator++()'],['../structeosio_1_1multi__index_1_1const__iterator_a751d1e7eedadb5b3033cedc6f8e8078e.html#a751d1e7eedadb5b3033cedc6f8e8078e',1,'eosio::multi_index::const_iterator::operator++(int)']]], + ['operator_2b_3d_11',['operator+=',['../classeosio_1_1rope_a9c52934d5f70e38a50a46bc4a8c3b889.html#a9c52934d5f70e38a50a46bc4a8c3b889',1,'eosio::rope::operator+=(const char *s)'],['../classeosio_1_1rope_afd7a932ec6f8603e333dc85f1284d6e2.html#afd7a932ec6f8603e333dc85f1284d6e2',1,'eosio::rope::operator+=(const rope &r)'],['../classeosio_1_1rope_a3ea975b0ce1bf20ad565745fb8fef46f.html#a3ea975b0ce1bf20ad565745fb8fef46f',1,'eosio::rope::operator+=(rope &&r)'],['../classeosio_1_1string_a96cbb276511418046dda2629673bbcc3.html#a96cbb276511418046dda2629673bbcc3',1,'eosio::string::operator+=(const char c)'],['../classeosio_1_1string_ac03654f5a94a384fc920af2a77a5e16a.html#ac03654f5a94a384fc920af2a77a5e16a',1,'eosio::string::operator+=(const char *rhs)'],['../classeosio_1_1string_a45e00f754d8166d1ecd15db8eed22285.html#a45e00f754d8166d1ecd15db8eed22285',1,'eosio::string::operator+=(const string &rhs)']]], + ['operator_2d_2d_12',['operator--',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a058bad034470139d1e1518d5533122bf.html#a058bad034470139d1e1518d5533122bf',1,'eosio::multi_index::index::const_iterator::operator--(int)'],['../structeosio_1_1multi__index_1_1index_1_1const__iterator_acf932249851e06ba1fb46ca374fef99f.html#acf932249851e06ba1fb46ca374fef99f',1,'eosio::multi_index::index::const_iterator::operator--()'],['../structeosio_1_1multi__index_1_1const__iterator_a3a0faabfa94970b0d94d9b2977c69f43.html#a3a0faabfa94970b0d94d9b2977c69f43',1,'eosio::multi_index::const_iterator::operator--(int)'],['../structeosio_1_1multi__index_1_1const__iterator_aa838b30a0fa169a6a507ef8fa725f7bd.html#aa838b30a0fa169a6a507ef8fa725f7bd',1,'eosio::multi_index::const_iterator::operator--()']]], + ['operator_2d_3e_13',['operator->',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a6b75028e93c74defe75ee6367d3172c9.html#a6b75028e93c74defe75ee6367d3172c9',1,'eosio::multi_index::index::const_iterator::operator->()'],['../structeosio_1_1multi__index_1_1const__iterator_a3ed82524c8a4f576a2f472b30f1fec6e.html#a3ed82524c8a4f576a2f472b30f1fec6e',1,'eosio::multi_index::const_iterator::operator->()']]], + ['operator_3c_14',['operator<',['../namespaceeosio_a3769e5e16987ccf2c510856696f38b9d.html#a3769e5e16987ccf2c510856696f38b9d',1,'eosio']]], + ['operator_3c_3c_15',['operator<<',['../namespaceeosio_a188287b053c352c204cf0ef83786cdcd.html#a188287b053c352c204cf0ef83786cdcd',1,'eosio::operator<<(datastream< Stream > &ds, const std::optional< T > &opt)'],['../namespaceeosio_a11b12cc37c10cfd1c3bf36c217aa29f6.html#a11b12cc37c10cfd1c3bf36c217aa29f6',1,'eosio::operator<<(DataStream &ds, const eosio::symbol_code sym_code)'],['../namespaceeosio_adc89fdc06750abc79c6893c84255bcce.html#adc89fdc06750abc79c6893c84255bcce',1,'eosio::operator<<(DataStream &ds, const eosio::symbol sym)'],['../namespaceeosio_afca27a6d080cc7375dce87cdc23457e3.html#afca27a6d080cc7375dce87cdc23457e3',1,'eosio::operator<<(DataStream &ds, const string &str)'],['../namespaceeosio_a71a6485bb43edd10491fc14e79dff5fa.html#a71a6485bb43edd10491fc14e79dff5fa',1,'eosio::operator<<(DataStream &ds, const ::eosio::ignore< T > &val)'],['../namespaceeosio_a73cd9c53f852d9d44d757259f38f10a8.html#a73cd9c53f852d9d44d757259f38f10a8',1,'eosio::operator<<(DataStream &ds, const ::eosio::ignore_wrapper< T > &val)'],['../namespaceeosio_ac9f0396ed775d5fe67df4b29bc7fc61f.html#ac9f0396ed775d5fe67df4b29bc7fc61f',1,'eosio::operator<<(datastream< Stream > &ds, const std::list< T > &l)'],['../namespaceeosio_a290409b4cb05910111f068b83f65018f.html#a290409b4cb05910111f068b83f65018f',1,'eosio::operator<<(datastream< Stream > &ds, const std::deque< T > &d)'],['../namespaceeosio_a0b5c48a772a3cc24ae76620483aceb23.html#a0b5c48a772a3cc24ae76620483aceb23',1,'eosio::operator<<(datastream< Stream > &ds, const std::variant< Ts... > &var)'],['../namespaceeosio_a97755f06683e48a1305a409ca3a6e9c3.html#a97755f06683e48a1305a409ca3a6e9c3',1,'eosio::operator<<(datastream< Stream > &ds, const std::pair< T1, T2 > &t)'],['../namespaceeosio_a79dc07b5d636c1c341dc595c0fda9a85.html#a79dc07b5d636c1c341dc595c0fda9a85',1,'eosio::operator<<(datastream< Stream > &ds, const T &v)'],['../namespaceeosio_afe4a7f3bd49b821a6b3f0a3b9c45a4a5.html#afe4a7f3bd49b821a6b3f0a3b9c45a4a5',1,'eosio::operator<<(datastream< Stream > &ds, const bool &d)'],['../namespaceeosio_a59e70f3361540d36ba192ca715a08adc.html#a59e70f3361540d36ba192ca715a08adc',1,'eosio::operator<<(datastream< Stream > &ds, const std::string &v)'],['../namespaceeosio_aea5451fc739da28dc1a006d3f72e18b4.html#aea5451fc739da28dc1a006d3f72e18b4',1,'eosio::operator<<(datastream< Stream > &ds, const std::array< T, N > &v)'],['../namespaceeosio_ae800a5c9a4c8d9ea2546535d1a91c95b.html#ae800a5c9a4c8d9ea2546535d1a91c95b',1,'eosio::operator<<(datastream< Stream > &ds, const T(&v)[N])'],['../namespaceeosio_a2c1d8a8d997953cd44283b2de8860c4a.html#a2c1d8a8d997953cd44283b2de8860c4a',1,'eosio::operator<<(datastream< Stream > &ds, const std::vector< T > &v)'],['../namespaceeosio_ae95c7ba8a4618dd4c006765742303329.html#ae95c7ba8a4618dd4c006765742303329',1,'eosio::operator<<(datastream< Stream > &ds, const std::basic_string< T > &s)'],['../namespaceeosio_a381a9f8735361fcbfb7b3a619764fad9.html#a381a9f8735361fcbfb7b3a619764fad9',1,'eosio::operator<<(datastream< Stream > &ds, const std::basic_string< uint8_t > &s)'],['../namespaceeosio_a34f484a1bd28d77948b4166d0b92b6f1.html#a34f484a1bd28d77948b4166d0b92b6f1',1,'eosio::operator<<(datastream< Stream > &ds, const std::set< T > &s)'],['../namespaceeosio_a3257302604d39723e60f3431e4fab38a.html#a3257302604d39723e60f3431e4fab38a',1,'eosio::operator<<(datastream< Stream > &ds, const std::map< K, V > &m)'],['../namespaceeosio_aabff7004d7cfc4fc8168bb0401f506e5.html#aabff7004d7cfc4fc8168bb0401f506e5',1,'eosio::operator<<(datastream< Stream > &ds, const std::tuple< Args... > &t)'],['../namespaceeosio_a59511f8552dbf4a2aced270041c17f04.html#a59511f8552dbf4a2aced270041c17f04',1,'eosio::operator<<(DataStream &ds, const T &v)']]], + ['operator_3c_3d_16',['operator<=',['../namespaceeosio_a80fdc59744805f578b1947990dc03372.html#a80fdc59744805f578b1947990dc03372',1,'eosio']]], + ['operator_3d_17',['operator=',['../classeosio_1_1string_a25817fd1b016911c9d93e991447ceb05.html#a25817fd1b016911c9d93e991447ceb05',1,'eosio::string::operator=(const string &str)'],['../classeosio_1_1string_a4794d6760c9ec69edaf7b3bfb4a63b3f.html#a4794d6760c9ec69edaf7b3bfb4a63b3f',1,'eosio::string::operator=(string &&str)'],['../classeosio_1_1string_a7eb1ef7915ed4be6078d6233bce6f12d.html#a7eb1ef7915ed4be6078d6233bce6f12d',1,'eosio::string::operator=(const char *str)']]], + ['operator_3d_3d_18',['operator==',['../namespaceeosio_a2f1c46cd699cf27d007b60f941edaca0.html#a2f1c46cd699cf27d007b60f941edaca0',1,'eosio']]], + ['operator_3e_19',['operator>',['../namespaceeosio_ab9a725e824a4b42a2a4a23b994289061.html#ab9a725e824a4b42a2a4a23b994289061',1,'eosio']]], + ['operator_3e_3d_20',['operator>=',['../namespaceeosio_ab403fc37b2c295133b5be19cfc548c4a.html#ab403fc37b2c295133b5be19cfc548c4a',1,'eosio']]], + ['operator_3e_3e_21',['operator>>',['../namespaceeosio_a9a3b6961efd68d456b206a0c8bbb498f.html#a9a3b6961efd68d456b206a0c8bbb498f',1,'eosio::operator>>(DataStream &ds, eosio::symbol_code &sym_code)'],['../namespaceeosio_ab432976d17c725306cbb3491917d71c2.html#ab432976d17c725306cbb3491917d71c2',1,'eosio::operator>>(DataStream &ds, eosio::symbol &sym)'],['../namespaceeosio_a46b78c005e5ed39960b2e040b06b4053.html#a46b78c005e5ed39960b2e040b06b4053',1,'eosio::operator>>(DataStream &ds, string &str)'],['../namespaceeosio_a0071f0e52a33e72d2b0da6fb69fd5a01.html#a0071f0e52a33e72d2b0da6fb69fd5a01',1,'eosio::operator>>(datastream< Stream > &ds, std::list< T > &l)'],['../namespaceeosio_a96515453c996337cf8a448415ea1997b.html#a96515453c996337cf8a448415ea1997b',1,'eosio::operator>>(datastream< Stream > &ds, std::deque< T > &d)'],['../namespaceeosio_a057c7fbba3a58e93208c3901359e5896.html#a057c7fbba3a58e93208c3901359e5896',1,'eosio::operator>>(datastream< Stream > &ds, std::variant< Ts... > &var)'],['../namespaceeosio_ada409d460d12c2d64ef2b02b3f99ddef.html#ada409d460d12c2d64ef2b02b3f99ddef',1,'eosio::operator>>(datastream< Stream > &ds, std::pair< T1, T2 > &t)'],['../namespaceeosio_a37421e74f3192dbb7ca11ff9b9c0864c.html#a37421e74f3192dbb7ca11ff9b9c0864c',1,'eosio::operator>>(datastream< Stream > &ds, std::optional< T > &opt)'],['../namespaceeosio_a9b454140b1bb214fbd65d75887098864.html#a9b454140b1bb214fbd65d75887098864',1,'eosio::operator>>(datastream< Stream > &ds, bool &d)'],['../namespaceeosio_abfb0796f4c681681dfc3e28b1f581c14.html#abfb0796f4c681681dfc3e28b1f581c14',1,'eosio::operator>>(datastream< Stream > &ds, std::string &v)'],['../namespaceeosio_af49a88acb71519dbd9e1c11c1e093625.html#af49a88acb71519dbd9e1c11c1e093625',1,'eosio::operator>>(datastream< Stream > &ds, std::array< T, N > &v)'],['../namespaceeosio_a92909b82c15215ec31eebe461e7d6403.html#a92909b82c15215ec31eebe461e7d6403',1,'eosio::operator>>(datastream< Stream > &ds, T)'],['../namespaceeosio_a8f65b4138ad6406630da2366a3f5b579.html#a8f65b4138ad6406630da2366a3f5b579',1,'eosio::operator>>(datastream< Stream > &ds, T(&v)[N])'],['../namespaceeosio_a3ea13490e88014aa37e0bd98d45b4858.html#a3ea13490e88014aa37e0bd98d45b4858',1,'eosio::operator>>(datastream< Stream > &ds, std::vector< T > &v)'],['../namespaceeosio_a513f0adb057b01a6f5b5e6a67fc9d212.html#a513f0adb057b01a6f5b5e6a67fc9d212',1,'eosio::operator>>(datastream< Stream > &ds, std::basic_string< T > &s)'],['../namespaceeosio_a58bac2858769a47b327004fb7dfacafa.html#a58bac2858769a47b327004fb7dfacafa',1,'eosio::operator>>(datastream< Stream > &ds, std::basic_string< uint8_t > &s)'],['../namespaceeosio_a47a47165efbcc2cb38f68e8db90c377a.html#a47a47165efbcc2cb38f68e8db90c377a',1,'eosio::operator>>(datastream< Stream > &ds, std::set< T > &s)'],['../namespaceeosio_a66bd481ffeae8e16fbeb6244f57fdaa4.html#a66bd481ffeae8e16fbeb6244f57fdaa4',1,'eosio::operator>>(datastream< Stream > &ds, std::map< K, V > &m)'],['../namespaceeosio_a1033bcb60718baa8636b8639205cbb79.html#a1033bcb60718baa8636b8639205cbb79',1,'eosio::operator>>(datastream< Stream > &ds, std::tuple< Args... > &t)'],['../namespaceeosio_a7d64e2f48bca13601cf6606934e6e8e6.html#a7d64e2f48bca13601cf6606934e6e8e6',1,'eosio::operator>>(DataStream &ds, T &v)'],['../namespaceeosio_a394cc26970e40b355b4c946fffc5fd78.html#a394cc26970e40b355b4c946fffc5fd78',1,'eosio::operator>>(datastream< Stream > &ds, T &v)'],['../namespaceeosio_aad4e9f9863a4d679c37dc04858b7c98a.html#aad4e9f9863a4d679c37dc04858b7c98a',1,'eosio::operator>>(DataStream &ds, ::eosio::ignore< T > &)']]], + ['operator_5b_5d_22',['operator[]',['../classeosio_1_1string_aeb96086b5c3611e1f4c195853ea9f5d8.html#aeb96086b5c3611e1f4c195853ea9f5d8',1,'eosio::string::operator[](const size_t n) const'],['../classeosio_1_1string_a580f518725730c3a2a6aa8ad7f525381.html#a580f518725730c3a2a6aa8ad7f525381',1,'eosio::string::operator[](const size_t n)'],['../classeosio_1_1rope_a4c40c4f43561b05f6fe16edf7adbaef8.html#a4c40c4f43561b05f6fe16edf7adbaef8',1,'eosio::rope::operator[]()']]], + ['overloaded_23',['overloaded',['../namespaceeosio_a3019314f98ba35c586a0d3c50747e7ee.html#a3019314f98ba35c586a0d3c50747e7ee',1,'eosio']]] +]; diff --git a/docs/cdt/search/functions_f.html b/docs/cdt/search/functions_f.html new file mode 100644 index 000000000..65a7325bb --- /dev/null +++ b/docs/cdt/search/functions_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/functions_f.js b/docs/cdt/search/functions_f.js new file mode 100644 index 000000000..c355f7b52 --- /dev/null +++ b/docs/cdt/search/functions_f.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['pack_0',['pack',['../group__datastream_ga13b3cd80e2641c0408f247c550e3d667.html#ga13b3cd80e2641c0408f247c550e3d667',1,'eosio']]], + ['pack_5fsize_1',['pack_size',['../group__datastream_ga30aa7d1c92792afc7f78af37372d68b7.html#ga30aa7d1c92792afc7f78af37372d68b7',1,'eosio']]], + ['padded_5fbytes_2',['padded_bytes',['../classeosio_1_1fixed__bytes_aeaa53faaa1a06cbc7693faeb57d3ed9a.html#aeaa53faaa1a06cbc7693faeb57d3ed9a',1,'eosio::fixed_bytes']]], + ['permission_5flevel_3',['permission_level',['../structeosio_1_1permission__level_a5b23258308433be05a03ab4e2fce9b36.html#a5b23258308433be05a03ab4e2fce9b36',1,'eosio::permission_level::permission_level(name a, name p)'],['../structeosio_1_1permission__level_a80e38737c6e727a27e9ff7a195f74d5d.html#a80e38737c6e727a27e9ff7a195f74d5d',1,'eosio::permission_level::permission_level()']]], + ['pop_5fback_4',['pop_back',['../classeosio_1_1string_a6cf5e0f41fcf2d8d9665fede53303e7a.html#a6cf5e0f41fcf2d8d9665fede53303e7a',1,'eosio::string']]], + ['pos_5',['pos',['../classeosio_1_1datastream_a090e80d1bddd21337b16b3fad76c551d.html#a090e80d1bddd21337b16b3fad76c551d',1,'eosio::datastream']]], + ['pow_6',['pow',['../namespaceeosio_1_1detail_a9f0e47cb61333aee2eaade34168b6422.html#a9f0e47cb61333aee2eaade34168b6422',1,'eosio::detail::pow()'],['../namespaceeosio_adea93ee4d60913259a084567ee672217.html#adea93ee4d60913259a084567ee672217',1,'eosio::pow()']]], + ['pow_5fgenerator_7',['pow_generator',['../namespaceeosio_1_1detail_a184c27c80cca8d2a18974859c0123f8a.html#a184c27c80cca8d2a18974859c0123f8a',1,'eosio::detail']]], + ['preactivate_5ffeature_8',['preactivate_feature',['../group__privileged_gaef817a1cfd765f9b0962f62897895243.html#gaef817a1cfd765f9b0962f62897895243',1,'eosio']]], + ['precision_9',['precision',['../classeosio_1_1symbol_af2153bf9cfc5bd79c3f1787f8028646a.html#af2153bf9cfc5bd79c3f1787f8028646a',1,'eosio::symbol']]], + ['prefix_10',['prefix',['../structeosio_1_1name_a5afd970dffff251b4137738542463c53.html#a5afd970dffff251b4137738542463c53',1,'eosio::name']]], + ['print_11',['print',['../structeosio_1_1asset_a111a52097d1761898d5641536c308416.html#a111a52097d1761898d5641536c308416',1,'eosio::asset::print()'],['../structeosio_1_1extended__asset_af5993cb01622505de48870ba728cec3b.html#af5993cb01622505de48870ba728cec3b',1,'eosio::extended_asset::print()'],['../classeosio_1_1fixed__bytes_afeaa78eb715d55b40c00e4c542de64db.html#afeaa78eb715d55b40c00e4c542de64db',1,'eosio::fixed_bytes::print()'],['../structeosio_1_1name_aa2b5455012ac1cc8bc9f615f305fa65e.html#aa2b5455012ac1cc8bc9f615f305fa65e',1,'eosio::name::print()'],['../classeosio_1_1rope_acee48b4685b912e110c24f4cbd9caa4d.html#acee48b4685b912e110c24f4cbd9caa4d',1,'eosio::rope::print()'],['../classeosio_1_1string_afe503d29eaae256ea611fbe5e1525b7e.html#afe503d29eaae256ea611fbe5e1525b7e',1,'eosio::string::print()'],['../classeosio_1_1symbol__code_aac85cf2211c7f763232ecc05d473f7ff.html#aac85cf2211c7f763232ecc05d473f7ff',1,'eosio::symbol_code::print()'],['../classeosio_1_1symbol_a9f8042d110a6fff15ea1813987c0fbe6.html#a9f8042d110a6fff15ea1813987c0fbe6',1,'eosio::symbol::print()'],['../classeosio_1_1extended__symbol_a2b1d5fafb307b27aab4274560a09866e.html#a2b1d5fafb307b27aab4274560a09866e',1,'eosio::extended_symbol::print()'],['../namespaceeosio_ab5232cf7452d463948eac1179f31d9f0.html#ab5232cf7452d463948eac1179f31d9f0',1,'eosio::print(Arg &&a, Args &&... args)'],['../group__console_gaccb44465b58c681e320b9cb9a6a78e62.html#gaccb44465b58c681e320b9cb9a6a78e62',1,'eosio::print(T &&t)'],['../group__console_ga2a3eea270ff4dbe4a15c2269a5c2cfec.html#ga2a3eea270ff4dbe4a15c2269a5c2cfec',1,'eosio::print(long double num)'],['../group__console_gaa0a56fe314d032d027a1565d93a68b21.html#gaa0a56fe314d032d027a1565d93a68b21',1,'eosio::print(const char *ptr)'],['../namespaceeosio_a6059b3dec50360c86d4098f81e70a286.html#a6059b3dec50360c86d4098f81e70a286',1,'eosio::print(T num)'],['../group__console_ga02d168bc05492d64cefea469dd114c12.html#ga02d168bc05492d64cefea469dd114c12',1,'eosio::print(float num)'],['../group__console_ga8753f6a7c7d5c518f6369cfebf5be1bb.html#ga8753f6a7c7d5c518f6369cfebf5be1bb',1,'eosio::print(double num)']]], + ['print_5ff_12',['print_f',['../namespaceeosio_afcfae01c6d714474da8407a1c195c836.html#afcfae01c6d714474da8407a1c195c836',1,'eosio::print_f(const char *s, Arg val, Args... rest)'],['../group__console_gab9715bf002b919701d38e3ff931feabf.html#gab9715bf002b919701d38e3ff931feabf',1,'eosio::print_f(const char *s)']]], + ['printhex_13',['printhex',['../group__console_gab8eb3bd97387854f71fd4a68d167b418.html#gab8eb3bd97387854f71fd4a68d167b418',1,'eosio']]], + ['printl_14',['printl',['../group__console_ga7abae4d32d4fec590c9988a6aec88cec.html#ga7abae4d32d4fec590c9988a6aec88cec',1,'eosio']]], + ['publication_5ftime_15',['publication_time',['../group__action_ga0005da20de567962c4357c18ba29bdf7.html#ga0005da20de567962c4357c18ba29bdf7',1,'eosio']]], + ['push_5fback_16',['push_back',['../classeosio_1_1string_a5f9020ff29f0631f18fcdd825e32f577.html#a5f9020ff29f0631f18fcdd825e32f577',1,'eosio::string']]], + ['put_17',['put',['../classeosio_1_1datastream_ad0a23aa024810028ce8669627577859d.html#ad0a23aa024810028ce8669627577859d',1,'eosio::datastream::put()'],['../classeosio_1_1datastream_3_01size__t_01_4_a4a1a95751dafd76aea580d80c84bf8bb.html#a4a1a95751dafd76aea580d80c84bf8bb',1,'eosio::datastream< size_t >::put()']]] +]; diff --git a/docs/cdt/search/groups_0.html b/docs/cdt/search/groups_0.html new file mode 100644 index 000000000..2bc52f5ac --- /dev/null +++ b/docs/cdt/search/groups_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_0.js b/docs/cdt/search/groups_0.js new file mode 100644 index 000000000..cdba76851 --- /dev/null +++ b/docs/cdt/search/groups_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['api_20контрактов_0',['API контрактов',['../group__contracts.html',1,'']]], + ['api_20ядра_1',['API ядра',['../group__core.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_1.html b/docs/cdt/search/groups_1.html new file mode 100644 index 000000000..e439e14f5 --- /dev/null +++ b/docs/cdt/search/groups_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_1.js b/docs/cdt/search/groups_1.js new file mode 100644 index 000000000..701101bb7 --- /dev/null +++ b/docs/cdt/search/groups_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['singleton_2dтаблица_0',['Singleton-таблица',['../group__singleton.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_2.html b/docs/cdt/search/groups_2.html new file mode 100644 index 000000000..65aced217 --- /dev/null +++ b/docs/cdt/search/groups_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_2.js b/docs/cdt/search/groups_2.js new file mode 100644 index 000000000..1aaaa236e --- /dev/null +++ b/docs/cdt/search/groups_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['актив_0',['Актив',['../group__asset.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_3.html b/docs/cdt/search/groups_3.html new file mode 100644 index 000000000..eee98325a --- /dev/null +++ b/docs/cdt/search/groups_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_3.js b/docs/cdt/search/groups_3.js new file mode 100644 index 000000000..59cf9cdbf --- /dev/null +++ b/docs/cdt/search/groups_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['время_0',['Время',['../group__time.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_4.html b/docs/cdt/search/groups_4.html new file mode 100644 index 000000000..cc6cd4fcb --- /dev/null +++ b/docs/cdt/search/groups_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_4.js b/docs/cdt/search/groups_4.js new file mode 100644 index 000000000..af5725108 --- /dev/null +++ b/docs/cdt/search/groups_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['группа_20безопасности_0',['Группа безопасности',['../group__security__group.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_5.html b/docs/cdt/search/groups_5.html new file mode 100644 index 000000000..a50f64ddc --- /dev/null +++ b/docs/cdt/search/groups_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_5.js b/docs/cdt/search/groups_5.js new file mode 100644 index 000000000..4371d29e5 --- /dev/null +++ b/docs/cdt/search/groups_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['действие_0',['Действие',['../group__action.html',1,'']]], + ['диспетчер_20_28dispatcher_29_1',['Диспетчер (Dispatcher)',['../group__dispatcher.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_6.html b/docs/cdt/search/groups_6.html new file mode 100644 index 000000000..b060e50b9 --- /dev/null +++ b/docs/cdt/search/groups_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_6.js b/docs/cdt/search/groups_6.js new file mode 100644 index 000000000..5393baf1a --- /dev/null +++ b/docs/cdt/search/groups_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['игнорирование_20типа_0',['Игнорирование типа',['../group__ignore.html',1,'']]], + ['имя_1',['Имя',['../group__name.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_7.html b/docs/cdt/search/groups_7.html new file mode 100644 index 000000000..e6831dada --- /dev/null +++ b/docs/cdt/search/groups_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_7.js b/docs/cdt/search/groups_7.js new file mode 100644 index 000000000..b9bfbc55e --- /dev/null +++ b/docs/cdt/search/groups_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['ключ_20производителя_0',['Ключ производителя',['../group__producer__key.html',1,'']]], + ['консоль_1',['Консоль',['../group__console.html',1,'']]], + ['контракт_20_28contract_29_2',['Контракт (Contract)',['../group__contract.html',1,'']]], + ['криптография_3',['Криптография',['../group__crypto.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_8.html b/docs/cdt/search/groups_8.html new file mode 100644 index 000000000..450fb0a3d --- /dev/null +++ b/docs/cdt/search/groups_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_8.js b/docs/cdt/search/groups_8.js new file mode 100644 index 000000000..bd817beca --- /dev/null +++ b/docs/cdt/search/groups_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['массив_20байт_20фиксированного_20размера_0',['Массив байт фиксированного размера',['../group__fixed__bytes.html',1,'']]], + ['многоиндексная_20таблица_20_28multi_20index_29_1',['Многоиндексная таблица (Multi Index)',['../group__multiindex.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_9.html b/docs/cdt/search/groups_9.html new file mode 100644 index 000000000..fb0485e43 --- /dev/null +++ b/docs/cdt/search/groups_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_9.js b/docs/cdt/search/groups_9.js new file mode 100644 index 000000000..ec94faec6 --- /dev/null +++ b/docs/cdt/search/groups_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['полномочие_20производителя_0',['Полномочие производителя',['../group__producer__authority.html',1,'']]], + ['поток_20данных_1',['Поток данных',['../group__datastream.html',1,'']]], + ['привилегированный_20api_2',['Привилегированный API',['../group__privileged.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_a.html b/docs/cdt/search/groups_a.html new file mode 100644 index 000000000..e776cb10a --- /dev/null +++ b/docs/cdt/search/groups_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_a.js b/docs/cdt/search/groups_a.js new file mode 100644 index 000000000..9e4053697 --- /dev/null +++ b/docs/cdt/search/groups_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['расписание_20производителей_0',['Расписание производителей',['../group__producer__schedule.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_b.html b/docs/cdt/search/groups_b.html new file mode 100644 index 000000000..57d50ef48 --- /dev/null +++ b/docs/cdt/search/groups_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_b.js b/docs/cdt/search/groups_b.js new file mode 100644 index 000000000..ebe692ed2 --- /dev/null +++ b/docs/cdt/search/groups_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['сериализация_0',['Сериализация',['../group__serialize.html',1,'']]], + ['символ_1',['Символ',['../group__symbol.html',1,'']]], + ['система_2',['Система',['../group__system.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_c.html b/docs/cdt/search/groups_c.html new file mode 100644 index 000000000..3c483f82c --- /dev/null +++ b/docs/cdt/search/groups_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_c.js b/docs/cdt/search/groups_c.js new file mode 100644 index 000000000..723afd0fb --- /dev/null +++ b/docs/cdt/search/groups_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['типы_0',['Типы',['../group__types.html',1,'']]], + ['транзакция_1',['Транзакция',['../group__transaction.html',1,'']]] +]; diff --git a/docs/cdt/search/groups_d.html b/docs/cdt/search/groups_d.html new file mode 100644 index 000000000..8e7d1ba82 --- /dev/null +++ b/docs/cdt/search/groups_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/groups_d.js b/docs/cdt/search/groups_d.js new file mode 100644 index 000000000..0b879214a --- /dev/null +++ b/docs/cdt/search/groups_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['целое_20переменной_20длины_0',['Целое переменной длины',['../group__varint.html',1,'']]] +]; diff --git a/docs/cdt/search/mag_sel.svg b/docs/cdt/search/mag_sel.svg new file mode 100644 index 000000000..03626f64a --- /dev/null +++ b/docs/cdt/search/mag_sel.svg @@ -0,0 +1,74 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/docs/cdt/search/namespaces_0.html b/docs/cdt/search/namespaces_0.html new file mode 100644 index 000000000..1154cfcbf --- /dev/null +++ b/docs/cdt/search/namespaces_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/namespaces_0.js b/docs/cdt/search/namespaces_0.js new file mode 100644 index 000000000..c202ea9f9 --- /dev/null +++ b/docs/cdt/search/namespaces_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['_5fdatastream_5fdetail_0',['_datastream_detail',['../namespaceeosio_1_1__datastream__detail.html',1,'eosio']]], + ['_5fmulti_5findex_5fdetail_1',['_multi_index_detail',['../namespaceeosio_1_1__multi__index__detail.html',1,'eosio']]], + ['detail_2',['detail',['../namespaceeosio_1_1detail.html',1,'eosio']]], + ['eosio_3',['eosio',['../namespaceeosio.html',1,'']]], + ['impl_4',['impl',['../namespaceeosio_1_1impl.html',1,'eosio']]], + ['internal_5fuse_5fdo_5fnot_5fuse_5',['internal_use_do_not_use',['../namespaceeosio_1_1internal__use__do__not__use.html',1,'eosio']]] +]; diff --git a/docs/cdt/search/nomatches.html b/docs/cdt/search/nomatches.html new file mode 100644 index 000000000..ee68e89f8 --- /dev/null +++ b/docs/cdt/search/nomatches.html @@ -0,0 +1,13 @@ + + + + + + + + +
    +
    Не найдено
    +
    + + diff --git a/docs/cdt/search/pages_0.html b/docs/cdt/search/pages_0.html new file mode 100644 index 000000000..b3a28acf5 --- /dev/null +++ b/docs/cdt/search/pages_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/pages_0.js b/docs/cdt/search/pages_0.js new file mode 100644 index 000000000..bc604ebb1 --- /dev/null +++ b/docs/cdt/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['cdt_20_28contract_20development_20toolkit_29_0',['CDT (Contract Development Toolkit)',['../index.html',1,'']]] +]; diff --git a/docs/cdt/search/related_0.html b/docs/cdt/search/related_0.html new file mode 100644 index 000000000..41b9d4222 --- /dev/null +++ b/docs/cdt/search/related_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/related_0.js b/docs/cdt/search/related_0.js new file mode 100644 index 000000000..ec21c11b5 --- /dev/null +++ b/docs/cdt/search/related_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['index_0',['index',['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a98d9477848d2c563b310010a4f7b8fed.html#a98d9477848d2c563b310010a4f7b8fed',1,'eosio::multi_index::index::const_iterator']]] +]; diff --git a/docs/cdt/search/related_1.html b/docs/cdt/search/related_1.html new file mode 100644 index 000000000..644ac6054 --- /dev/null +++ b/docs/cdt/search/related_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/related_1.js b/docs/cdt/search/related_1.js new file mode 100644 index 000000000..4b6bf8950 --- /dev/null +++ b/docs/cdt/search/related_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['multi_5findex_0',['multi_index',['../structeosio_1_1multi__index_1_1const__iterator_a474ad2ee1333aa717a29bb55a9d5fc44.html#a474ad2ee1333aa717a29bb55a9d5fc44',1,'eosio::multi_index::const_iterator']]] +]; diff --git a/docs/cdt/search/related_2.html b/docs/cdt/search/related_2.html new file mode 100644 index 000000000..3bfafcb20 --- /dev/null +++ b/docs/cdt/search/related_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/related_2.js b/docs/cdt/search/related_2.js new file mode 100644 index 000000000..5d966dd8e --- /dev/null +++ b/docs/cdt/search/related_2.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['operator_21_3d_0',['operator!=',['../classeosio_1_1string_ab8b27a889dc5ffef4a9cc7a1d1905b9c.html#ab8b27a889dc5ffef4a9cc7a1d1905b9c',1,'eosio::string::operator!=()'],['../classeosio_1_1symbol__code_acd21f55772dbdf25fe5dbc182683fee0.html#acd21f55772dbdf25fe5dbc182683fee0',1,'eosio::symbol_code::operator!=()'],['../classeosio_1_1symbol_a62adc71177b7a104162f7618cb0bac44.html#a62adc71177b7a104162f7618cb0bac44',1,'eosio::symbol::operator!=()'],['../classeosio_1_1extended__symbol_aafb631b64d0586016ca8ea499350820d.html#aafb631b64d0586016ca8ea499350820d',1,'eosio::extended_symbol::operator!=()'],['../structeosio_1_1multi__index_1_1index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html#a5fbca5b71055f2b793ae1607239b13a0',1,'eosio::multi_index::index::const_iterator::operator!=()'],['../structeosio_1_1multi__index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html#a5fbca5b71055f2b793ae1607239b13a0',1,'eosio::multi_index::const_iterator::operator!=()']]], + ['operator_2b_1',['operator+',['../classeosio_1_1rope_aa882baad43917693e1f93b5e546eb4d8.html#aa882baad43917693e1f93b5e546eb4d8',1,'eosio::rope::operator+()'],['../classeosio_1_1rope_a36e6c3ae93eb1350bd138347edebe939.html#a36e6c3ae93eb1350bd138347edebe939',1,'eosio::rope::operator+()'],['../classeosio_1_1rope_a7bb3cd3347e4718e40e175d6c76a5f2a.html#a7bb3cd3347e4718e40e175d6c76a5f2a',1,'eosio::rope::operator+()'],['../classeosio_1_1string_afea8d616a05e9815f57ad6b9740f846f.html#afea8d616a05e9815f57ad6b9740f846f',1,'eosio::string::operator+()']]], + ['operator_3c_2',['operator<',['../classeosio_1_1string_a91fd184cf0f9333c217130cebd4d7876.html#a91fd184cf0f9333c217130cebd4d7876',1,'eosio::string::operator<()'],['../classeosio_1_1symbol__code_a8dd79cc2a20dc7bf2788fd6416003891.html#a8dd79cc2a20dc7bf2788fd6416003891',1,'eosio::symbol_code::operator<()'],['../classeosio_1_1symbol_a5ffd3dd1dfad342b30aed2c53993c548.html#a5ffd3dd1dfad342b30aed2c53993c548',1,'eosio::symbol::operator<()'],['../classeosio_1_1extended__symbol_afeaa211627f6df2a4f4f31aefedc6077.html#afeaa211627f6df2a4f4f31aefedc6077',1,'eosio::extended_symbol::operator<()'],['../structeosio_1_1permission__level_a0e60ff070bbee22ee47e719e8b7757a1.html#a0e60ff070bbee22ee47e719e8b7757a1',1,'eosio::permission_level::operator<()'],['../structeosio_1_1producer__authority_aa26af3fe95014015f5501d41d997f6be.html#aa26af3fe95014015f5501d41d997f6be',1,'eosio::producer_authority::operator<()']]], + ['operator_3c_3d_3',['operator<=',['../classeosio_1_1string_a45321af08ebc945f2036e4208f6a3897.html#a45321af08ebc945f2036e4208f6a3897',1,'eosio::string']]], + ['operator_3d_3d_4',['operator==',['../classeosio_1_1string_a747feeacef8c26d89dafe7a9e32e2439.html#a747feeacef8c26d89dafe7a9e32e2439',1,'eosio::string::operator==()'],['../classeosio_1_1symbol__code_a679be838b5e39b806fa42577124a214a.html#a679be838b5e39b806fa42577124a214a',1,'eosio::symbol_code::operator==()'],['../classeosio_1_1symbol_aec9fbc4e4aff91276e8c1f71f113c494.html#aec9fbc4e4aff91276e8c1f71f113c494',1,'eosio::symbol::operator==()'],['../classeosio_1_1extended__symbol_ad306b3eaac29fba58441578b179398bc.html#ad306b3eaac29fba58441578b179398bc',1,'eosio::extended_symbol::operator==()'],['../structeosio_1_1permission__level_a40e360b0bfdb5aa413812d5cb171ff51.html#a40e360b0bfdb5aa413812d5cb171ff51',1,'eosio::permission_level::operator==()'],['../structeosio_1_1multi__index_1_1index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html#ab0ac7de651351823aece097eb3be1cfb',1,'eosio::multi_index::index::const_iterator::operator==()'],['../structeosio_1_1multi__index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html#ab0ac7de651351823aece097eb3be1cfb',1,'eosio::multi_index::const_iterator::operator==()']]], + ['operator_3e_5',['operator>',['../classeosio_1_1string_abf763aa94a8644b190f43d6b026893a2.html#abf763aa94a8644b190f43d6b026893a2',1,'eosio::string']]], + ['operator_3e_3d_6',['operator>=',['../classeosio_1_1string_a3d90c57bde93934ad912b1078a70b3e4.html#a3d90c57bde93934ad912b1078a70b3e4',1,'eosio::string']]] +]; diff --git a/docs/cdt/search/related_3.html b/docs/cdt/search/related_3.html new file mode 100644 index 000000000..1962f5573 --- /dev/null +++ b/docs/cdt/search/related_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/related_3.js b/docs/cdt/search/related_3.js new file mode 100644 index 000000000..d9db1c62b --- /dev/null +++ b/docs/cdt/search/related_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['time_5fpoint_0',['time_point',['../classeosio_1_1microseconds_aaba1d7b327cc33fcbaf19e870d0c1733.html#aaba1d7b327cc33fcbaf19e870d0c1733',1,'eosio::microseconds']]] +]; diff --git a/docs/cdt/search/search.css b/docs/cdt/search/search.css new file mode 100644 index 000000000..648a792f5 --- /dev/null +++ b/docs/cdt/search/search.css @@ -0,0 +1,263 @@ +/*---------------- Search Box */ + +#MSearchBox { + white-space : nowrap; + background: white; + border-radius: 0.65em; + box-shadow: inset 0.5px 0.5px 3px 0px #555; + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + height: 19px; + padding: 0 0 0 0.3em; + margin: 0; +} + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 19px; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: #909090; + outline: none; + font-family: Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + +@media(hover: none) { + /* to avoid zooming on iOS */ + #MSearchField { + font-size: 16px; + } +} + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + height: 1.4em; + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + /*width: 60ex;*/ + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: Arial, Verdana, sans-serif; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: Arial, Verdana, sans-serif; +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/docs/cdt/search/search.js b/docs/cdt/search/search.js new file mode 100644 index 000000000..ac8055d13 --- /dev/null +++ b/docs/cdt/search/search.js @@ -0,0 +1,794 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + this.extension; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches' + this.extension; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline-block'; + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + var maxWidth = document.body.clientWidth; + var width = 400; + if (left<10) left=10; + if (width+left+8>maxWidth) width=maxWidth-left-8; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + domPopupSearchResultsWindow.style.width = width + 'px'; + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/typedefs_0.js b/docs/cdt/search/typedefs_0.js new file mode 100644 index 000000000..4fd3e70b8 --- /dev/null +++ b/docs/cdt/search/typedefs_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['bigint_0',['bigint',['../group__crypto_ga3abd9c96d56e0547488cae1cd186cc6f.html#ga3abd9c96d56e0547488cae1cd186cc6f',1,'eosio']]], + ['block_5fnum_5ft_1',['block_num_t',['../namespaceeosio_abdbab72cb6a9b99ab917c317a385d28d.html#abdbab72cb6a9b99ab917c317a385d28d',1,'eosio']]], + ['block_5fsigning_5fauthority_2',['block_signing_authority',['../group__producer__authority_gac9f7f8b14b8fcc608e0af99ac46a2c98.html#gac9f7f8b14b8fcc608e0af99ac46a2c98',1,'eosio']]], + ['block_5ftimestamp_5ftype_3',['block_timestamp_type',['../group__time_ga4f8fa835ef0dc341addb6e51d0d840b3.html#ga4f8fa835ef0dc341addb6e51d0d840b3',1,'eosio']]] +]; diff --git a/docs/cdt/search/typedefs_1.html b/docs/cdt/search/typedefs_1.html new file mode 100644 index 000000000..4a7a7a2c3 --- /dev/null +++ b/docs/cdt/search/typedefs_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/typedefs_1.js b/docs/cdt/search/typedefs_1.js new file mode 100644 index 000000000..136efd866 --- /dev/null +++ b/docs/cdt/search/typedefs_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['const_5freverse_5fiterator_0',['const_reverse_iterator',['../classeosio_1_1multi__index_ab46b850d4d0d3da39cd96e77ec10c51e.html#ab46b850d4d0d3da39cd96e77ec10c51e',1,'eosio::multi_index']]] +]; diff --git a/docs/cdt/search/typedefs_2.html b/docs/cdt/search/typedefs_2.html new file mode 100644 index 000000000..be31e3512 --- /dev/null +++ b/docs/cdt/search/typedefs_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/typedefs_2.js b/docs/cdt/search/typedefs_2.js new file mode 100644 index 000000000..cb6fda9f6 --- /dev/null +++ b/docs/cdt/search/typedefs_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['extension_0',['extension',['../group__transaction_gaaf3ea17209c6d47129b2b232aede5439.html#gaaf3ea17209c6d47129b2b232aede5439',1,'eosio']]], + ['extensions_5ftype_1',['extensions_type',['../group__transaction_ga19c346b66f7145a5336177ac3eb0849e.html#ga19c346b66f7145a5336177ac3eb0849e',1,'eosio']]] +]; diff --git a/docs/cdt/search/typedefs_3.html b/docs/cdt/search/typedefs_3.html new file mode 100644 index 000000000..c7d88f2b8 --- /dev/null +++ b/docs/cdt/search/typedefs_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/typedefs_3.js b/docs/cdt/search/typedefs_3.js new file mode 100644 index 000000000..a2a8be0a7 --- /dev/null +++ b/docs/cdt/search/typedefs_3.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['g1_5fpoint_0',['g1_point',['../namespaceeosio_ae29c5ec8317e597280bc1073b514036a.html#ae29c5ec8317e597280bc1073b514036a',1,'eosio']]], + ['g1_5fpoint_5fview_1',['g1_point_view',['../namespaceeosio_a4df4bd625daf8e623fe79be6335657a0.html#a4df4bd625daf8e623fe79be6335657a0',1,'eosio']]], + ['g2_5fpoint_2',['g2_point',['../namespaceeosio_a4aff021c9a288ba2455ebe78af8fb8e1.html#a4aff021c9a288ba2455ebe78af8fb8e1',1,'eosio']]], + ['g2_5fpoint_5fview_3',['g2_point_view',['../namespaceeosio_a56573a7efad7729714195ac50d6c1a52.html#a56573a7efad7729714195ac50d6c1a52',1,'eosio']]] +]; diff --git a/docs/cdt/search/typedefs_4.html b/docs/cdt/search/typedefs_4.html new file mode 100644 index 000000000..b64bb5be6 --- /dev/null +++ b/docs/cdt/search/typedefs_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/typedefs_4.js b/docs/cdt/search/typedefs_4.js new file mode 100644 index 000000000..b58bf94e1 --- /dev/null +++ b/docs/cdt/search/typedefs_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_5ftype_0',['key_type',['../namespaceeosio_ac871966a2176ae48a0a85b6170e13592.html#ac871966a2176ae48a0a85b6170e13592',1,'eosio']]] +]; diff --git a/docs/cdt/search/typedefs_5.html b/docs/cdt/search/typedefs_5.html new file mode 100644 index 000000000..a8ba52097 --- /dev/null +++ b/docs/cdt/search/typedefs_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/typedefs_5.js b/docs/cdt/search/typedefs_5.js new file mode 100644 index 000000000..7b6949a60 --- /dev/null +++ b/docs/cdt/search/typedefs_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['result_5ftype_0',['result_type',['../structeosio_1_1const__mem__fun_a12f7a54a640c4224bccfbbe401ffb16f.html#a12f7a54a640c4224bccfbbe401ffb16f',1,'eosio::const_mem_fun']]], + ['rope_5fnode_1',['rope_node',['../namespaceeosio_1_1impl_ae6203fa7e000c25cb3f5eb731cd2139c.html#ae6203fa7e000c25cb3f5eb731cd2139c',1,'eosio::impl']]] +]; diff --git a/docs/cdt/search/typedefs_6.html b/docs/cdt/search/typedefs_6.html new file mode 100644 index 000000000..e5714bee7 --- /dev/null +++ b/docs/cdt/search/typedefs_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/typedefs_6.js b/docs/cdt/search/typedefs_6.js new file mode 100644 index 000000000..3c7169efe --- /dev/null +++ b/docs/cdt/search/typedefs_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['secondary_5fextractor_5ftype_0',['secondary_extractor_type',['../structeosio_1_1indexed__by_affd7e285b6b9435c7c2b0104a14b5791.html#affd7e285b6b9435c7c2b0104a14b5791',1,'eosio::indexed_by']]] +]; diff --git a/docs/cdt/search/typedefs_7.html b/docs/cdt/search/typedefs_7.html new file mode 100644 index 000000000..5738e60ac --- /dev/null +++ b/docs/cdt/search/typedefs_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/typedefs_7.js b/docs/cdt/search/typedefs_7.js new file mode 100644 index 000000000..7deacca5d --- /dev/null +++ b/docs/cdt/search/typedefs_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['word_5ft_0',['word_t',['../classeosio_1_1fixed__bytes_a33cae440afac79b5a925ac1eab43d41b.html#a33cae440afac79b5a925ac1eab43d41b',1,'eosio::fixed_bytes']]] +]; diff --git a/docs/cdt/search/variables_0.html b/docs/cdt/search/variables_0.html new file mode 100644 index 000000000..ef24851a3 --- /dev/null +++ b/docs/cdt/search/variables_0.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_0.js b/docs/cdt/search/variables_0.js new file mode 100644 index 000000000..eb78b66bf --- /dev/null +++ b/docs/cdt/search/variables_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['_5fds_0',['_ds',['../classeosio_1_1contract_a66b526b89bc6d35b63b874615f1d27b8.html#a66b526b89bc6d35b63b874615f1d27b8',1,'eosio::contract']]], + ['_5ffirst_5freceiver_1',['_first_receiver',['../classeosio_1_1contract_a98397119d8b0cf44f22a62967f8d030a.html#a98397119d8b0cf44f22a62967f8d030a',1,'eosio::contract']]], + ['_5fself_2',['_self',['../classeosio_1_1contract_a29c0c98c72ab578a5965d13b00dca0c0.html#a29c0c98c72ab578a5965d13b00dca0c0',1,'eosio::contract']]] +]; diff --git a/docs/cdt/search/variables_1.html b/docs/cdt/search/variables_1.html new file mode 100644 index 000000000..fe55c4192 --- /dev/null +++ b/docs/cdt/search/variables_1.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_1.js b/docs/cdt/search/variables_1.js new file mode 100644 index 000000000..9e54dadaa --- /dev/null +++ b/docs/cdt/search/variables_1.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['account_0',['account',['../structeosio_1_1action_a4fc65ee0b7c184e7fcb8cdf6242220af.html#a4fc65ee0b7c184e7fcb8cdf6242220af',1,'eosio::action']]], + ['action_5fname_1',['action_name',['../structeosio_1_1action__wrapper_a5e378f05ff213113e35b9be105ff40a6.html#a5e378f05ff213113e35b9be105ff40a6',1,'eosio::action_wrapper::action_name()'],['../structeosio_1_1variant__action__wrapper_a4b90e84304c51bd96e69c165ef68b4f9.html#a4b90e84304c51bd96e69c165ef68b4f9',1,'eosio::variant_action_wrapper::action_name()']]], + ['actions_2',['actions',['../classeosio_1_1transaction_ad53cc19e62742bf205934509c1363e42.html#ad53cc19e62742bf205934509c1363e42',1,'eosio::transaction']]], + ['actor_3',['actor',['../structeosio_1_1permission__level_ab5d07611f5ba5e7b5dff9e749c5696e0.html#ab5d07611f5ba5e7b5dff9e749c5696e0',1,'eosio::permission_level']]], + ['amount_4',['amount',['../structeosio_1_1asset_ac76c16a58851550706c6709698ed7255.html#ac76c16a58851550706c6709698ed7255',1,'eosio::asset']]], + ['authority_5',['authority',['../structeosio_1_1producer__authority_aaefed59167672831f79af2e1d3a2160e.html#aaefed59167672831f79af2e1d3a2160e',1,'eosio::producer_authority']]], + ['authorization_6',['authorization',['../structeosio_1_1action_a65851242b65f483e6b84d602d599f4e5.html#a65851242b65f483e6b84d602d599f4e5',1,'eosio::action']]] +]; diff --git a/docs/cdt/search/variables_10.html b/docs/cdt/search/variables_10.html new file mode 100644 index 000000000..514c31f4a --- /dev/null +++ b/docs/cdt/search/variables_10.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_10.js b/docs/cdt/search/variables_10.js new file mode 100644 index 000000000..079968c3a --- /dev/null +++ b/docs/cdt/search/variables_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['quantity_0',['quantity',['../structeosio_1_1extended__asset_aacd83a028c55e22db2e8f14027827ad7.html#aacd83a028c55e22db2e8f14027827ad7',1,'eosio::extended_asset']]] +]; diff --git a/docs/cdt/search/variables_11.html b/docs/cdt/search/variables_11.html new file mode 100644 index 000000000..77e74bf2c --- /dev/null +++ b/docs/cdt/search/variables_11.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_11.js b/docs/cdt/search/variables_11.js new file mode 100644 index 000000000..562ec4321 --- /dev/null +++ b/docs/cdt/search/variables_11.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['ram_5fbytes_0',['ram_bytes',['../namespaceeosio_1_1internal__use__do__not__use_a23f8d804101d000066f736d21bafd1c2.html#a23f8d804101d000066f736d21bafd1c2',1,'eosio::internal_use_do_not_use']]], + ['ref_5fblock_5fnum_1',['ref_block_num',['../classeosio_1_1transaction__header_a7bd1f446f3a9a212183787d223d89766.html#a7bd1f446f3a9a212183787d223d89766',1,'eosio::transaction_header']]], + ['ref_5fblock_5fprefix_2',['ref_block_prefix',['../classeosio_1_1transaction__header_aed4b528cd8a73ac9fa9cb5b7c429f90c.html#aed4b528cd8a73ac9fa9cb5b7c429f90c',1,'eosio::transaction_header']]], + ['result_3',['result',['../namespaceeosio_1_1internal__use__do__not__use_ab8c965fa59dd909d6c40c9663d0e88a9.html#ab8c965fa59dd909d6c40c9663d0e88a9',1,'eosio::internal_use_do_not_use']]], + ['result_5fbuffer_4',['result_buffer',['../namespaceeosio_1_1internal__use__do__not__use_a2ca0cdda4f780baef07a180db174398d.html#a2ca0cdda4f780baef07a180db174398d',1,'eosio::internal_use_do_not_use']]], + ['result_5flen_5',['result_len',['../namespaceeosio_1_1internal__use__do__not__use_ac6c4dae93eb41be759cf0b9b6b9cc8bc.html#ac6c4dae93eb41be759cf0b9b6b9cc8bc',1,'eosio::internal_use_do_not_use']]], + ['right_6',['right',['../structeosio_1_1impl_1_1concat__t_a344e265129ddb389e4340c9781a5eafb.html#a344e265129ddb389e4340c9781a5eafb',1,'eosio::impl::concat_t']]] +]; diff --git a/docs/cdt/search/variables_12.html b/docs/cdt/search/variables_12.html new file mode 100644 index 000000000..c7774690a --- /dev/null +++ b/docs/cdt/search/variables_12.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_12.js b/docs/cdt/search/variables_12.js new file mode 100644 index 000000000..dc7e56141 --- /dev/null +++ b/docs/cdt/search/variables_12.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['scalar_0',['scalar',['../namespaceeosio_1_1internal__use__do__not__use_a38efe6447fc3d3b0f3d27fc883cc6c5e.html#a38efe6447fc3d3b0f3d27fc883cc6c5e',1,'eosio::internal_use_do_not_use']]], + ['scalar_5flen_1',['scalar_len',['../namespaceeosio_1_1internal__use__do__not__use_a3177f19fc85c9e72ede34e3573a101e9.html#a3177f19fc85c9e72ede34e3573a101e9',1,'eosio::internal_use_do_not_use']]], + ['sender_5fid_2',['sender_id',['../structeosio_1_1onerror_ae6686bc621795ad87f257d0be72f345c.html#ae6686bc621795ad87f257d0be72f345c',1,'eosio::onerror']]], + ['sent_5ftrx_3',['sent_trx',['../structeosio_1_1onerror_a1cae304360f79394762ec5040046887e.html#a1cae304360f79394762ec5040046887e',1,'eosio::onerror']]], + ['sig_5flen_4',['sig_len',['../namespaceeosio_1_1internal__use__do__not__use_a5fd9f46e4c5ed043c0fbb72feb401b1a.html#a5fd9f46e4c5ed043c0fbb72feb401b1a',1,'eosio::internal_use_do_not_use']]], + ['size_5',['size',['../structeosio_1_1ec__point__view_ac94bfdc2f24d787628ab6b684b7b01a0.html#ac94bfdc2f24d787628ab6b684b7b01a0',1,'eosio::ec_point_view::size()'],['../structeosio_1_1impl_1_1str__t_a6a41a31c4b462547b26ff114e22cb8a2.html#a6a41a31c4b462547b26ff114e22cb8a2',1,'eosio::impl::str_t::size()'],['../namespaceeosio_1_1internal__use__do__not__use_a40f68c0fdc4874d206da23b1feccba91.html#a40f68c0fdc4874d206da23b1feccba91',1,'eosio::internal_use_do_not_use::size()']]], + ['size_5ft_6',['size_t',['../namespaceeosio_1_1internal__use__do__not__use_a3a794c5c2a2c47a98ae7b9e5732baeec.html#a3a794c5c2a2c47a98ae7b9e5732baeec',1,'eosio::internal_use_do_not_use']]], + ['state_7',['state',['../namespaceeosio_1_1internal__use__do__not__use_a68510fd663c8c85a2d88b27ac117d4a4.html#a68510fd663c8c85a2d88b27ac117d4a4',1,'eosio::internal_use_do_not_use']]], + ['state_5flen_8',['state_len',['../namespaceeosio_1_1internal__use__do__not__use_acca21e2be5ba5b6123e646f739e16ca0.html#acca21e2be5ba5b6123e646f739e16ca0',1,'eosio::internal_use_do_not_use']]], + ['struct_5fversion_9',['struct_version',['../structeosio_1_1code__hash__result_a7dc9ef8535a1a92d5a12945c023c1563.html#a7dc9ef8535a1a92d5a12945c023c1563',1,'eosio::code_hash_result::struct_version()'],['../namespaceeosio_1_1internal__use__do__not__use_aa87ebca610090d4846fdf11d9dc46e2d.html#aa87ebca610090d4846fdf11d9dc46e2d',1,'eosio::internal_use_do_not_use::struct_version()']]], + ['symbol_10',['symbol',['../structeosio_1_1asset_a374520d98a22f5a89a26025154944756.html#a374520d98a22f5a89a26025154944756',1,'eosio::asset']]] +]; diff --git a/docs/cdt/search/variables_13.html b/docs/cdt/search/variables_13.html new file mode 100644 index 000000000..06f589708 --- /dev/null +++ b/docs/cdt/search/variables_13.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_13.js b/docs/cdt/search/variables_13.js new file mode 100644 index 000000000..fe1759d93 --- /dev/null +++ b/docs/cdt/search/variables_13.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['t0_5flen_0',['t0_len',['../namespaceeosio_1_1internal__use__do__not__use_ac7be28ac54655c208de8137170324d33.html#ac7be28ac54655c208de8137170324d33',1,'eosio::internal_use_do_not_use']]], + ['t0_5foffset_1',['t0_offset',['../namespaceeosio_1_1internal__use__do__not__use_aacd0bea153b8b67c940c638ea8a088b0.html#aacd0bea153b8b67c940c638ea8a088b0',1,'eosio::internal_use_do_not_use']]], + ['t1_5flen_2',['t1_len',['../namespaceeosio_1_1internal__use__do__not__use_a2388251ff5bfa4a7132e5684d9f4ea7c.html#a2388251ff5bfa4a7132e5684d9f4ea7c',1,'eosio::internal_use_do_not_use']]], + ['t1_5foffset_3',['t1_offset',['../namespaceeosio_1_1internal__use__do__not__use_a469d875a2db46706f7df9f2896c4a53c.html#a469d875a2db46706f7df9f2896c4a53c',1,'eosio::internal_use_do_not_use']]], + ['target_5fblock_5fcpu_5fusage_5fpct_4',['target_block_cpu_usage_pct',['../structeosio_1_1blockchain__parameters_aa8e6bff1b7d255588fb31ccdf6035aba.html#aa8e6bff1b7d255588fb31ccdf6035aba',1,'eosio::blockchain_parameters']]], + ['target_5fblock_5fnet_5fusage_5fpct_5',['target_block_net_usage_pct',['../structeosio_1_1blockchain__parameters_a346f353931e0403d07e27da151a8af4d.html#a346f353931e0403d07e27da151a8af4d',1,'eosio::blockchain_parameters']]], + ['temp_6',['temp',['../structeosio_1_1impl_1_1str__t_a7a7645f3deaeb5e01124300c850d5f7e.html#a7a7645f3deaeb5e01124300c850d5f7e',1,'eosio::impl::str_t::temp()'],['../structeosio_1_1impl_1_1concat__t_a729e92e9c1ad1f1fcb4333a5dbd4e673.html#a729e92e9c1ad1f1fcb4333a5dbd4e673',1,'eosio::impl::concat_t::temp()']]], + ['temp_5fleft_7',['temp_left',['../structeosio_1_1impl_1_1concat__t_a66bf009cb8e646692287b254df119652.html#a66bf009cb8e646692287b254df119652',1,'eosio::impl::concat_t']]], + ['threshold_8',['threshold',['../structeosio_1_1block__signing__authority__v0_a9bd0140a33077b4179de56132205ebdd.html#a9bd0140a33077b4179de56132205ebdd',1,'eosio::block_signing_authority_v0']]], + ['transaction_5fextensions_9',['transaction_extensions',['../classeosio_1_1transaction_a445fd87e3465a1ca647c711c1ac0c711.html#a445fd87e3465a1ca647c711c1ac0c711',1,'eosio::transaction']]] +]; diff --git a/docs/cdt/search/variables_14.html b/docs/cdt/search/variables_14.html new file mode 100644 index 000000000..acc0246cb --- /dev/null +++ b/docs/cdt/search/variables_14.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_14.js b/docs/cdt/search/variables_14.js new file mode 100644 index 000000000..69c52b4ce --- /dev/null +++ b/docs/cdt/search/variables_14.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['uint32_5ft_0',['uint32_t',['../namespaceeosio_1_1internal__use__do__not__use_abc883019693b16f4ff37d33c0d1b61c4.html#abc883019693b16f4ff37d33c0d1b61c4',1,'eosio::internal_use_do_not_use']]], + ['uint64_5ft_1',['uint64_t',['../namespaceeosio_1_1internal__use__do__not__use_a02d21b61eb2a51a93d9af3e0a2a0989a.html#a02d21b61eb2a51a93d9af3e0a2a0989a',1,'eosio::internal_use_do_not_use']]], + ['used_5fram_5fbytes_2',['used_ram_bytes',['../namespaceeosio_1_1internal__use__do__not__use_a465fae2c786f7a3bfd4c9f0149d3dd0a.html#a465fae2c786f7a3bfd4c9f0149d3dd0a',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_15.html b/docs/cdt/search/variables_15.html new file mode 100644 index 000000000..9ed8dba7f --- /dev/null +++ b/docs/cdt/search/variables_15.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_15.js b/docs/cdt/search/variables_15.js new file mode 100644 index 000000000..c1a577f2d --- /dev/null +++ b/docs/cdt/search/variables_15.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['value_0',['value',['../structeosio_1_1__datastream__detail_1_1is__datastream_a46f5a1b821c0b8786607159ca6ccfccd.html#a46f5a1b821c0b8786607159ca6ccfccd',1,'eosio::_datastream_detail::is_datastream::value()'],['../structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4_aa4cc84f8f2a27b86c4d8d6106abf577e.html#aa4cc84f8f2a27b86c4d8d6106abf577e',1,'eosio::_datastream_detail::is_datastream< datastream< T > >::value()'],['../structeosio_1_1ignore__wrapper_a4f84e678095bec6a25ce72256b4cbfce.html#a4f84e678095bec6a25ce72256b4cbfce',1,'eosio::ignore_wrapper::value()'],['../structeosio_1_1name_adb309a6e132467ef2c53e953b56ebb52.html#adb309a6e132467ef2c53e953b56ebb52',1,'eosio::name::value()'],['../structeosio_1_1detail_1_1to__const__char__arr_a71dc7a7be969ca08eb741a16c738c707.html#a71dc7a7be969ca08eb741a16c738c707',1,'eosio::detail::to_const_char_arr::value()'],['../structeosio_1_1detail_1_1largest__power__helper_a51494080c1773c94ae8188fc9d1d72c9.html#a51494080c1773c94ae8188fc9d1d72c9',1,'eosio::detail::largest_power_helper::value()'],['../structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4_a646d056a1d3269d72683156bbb05b8b7.html#a646d056a1d3269d72683156bbb05b8b7',1,'eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >::value()'],['../structeosio_1_1detail_1_1largest__power_a1d89104c10a837261d6147c21de86b53.html#a1d89104c10a837261d6147c21de86b53',1,'eosio::detail::largest_power::value()'],['../structeosio_1_1unsigned__int_ae77bf5565f5fd33b99d944a78195185b.html#ae77bf5565f5fd33b99d944a78195185b',1,'eosio::unsigned_int::value()'],['../structeosio_1_1signed__int_a67cdbe3b1c5458c048006777b7cabccf.html#a67cdbe3b1c5458c048006777b7cabccf',1,'eosio::signed_int::value()']]], + ['version_1',['version',['../structeosio_1_1producer__schedule_a3958be89c877e9249710a8aafa155829.html#a3958be89c877e9249710a8aafa155829',1,'eosio::producer_schedule::version()'],['../structeosio_1_1security__group_af820dad499d430e6576e7d92ebde7f88.html#af820dad499d430e6576e7d92ebde7f88',1,'eosio::security_group::version()']]], + ['vm_5ftype_2',['vm_type',['../structeosio_1_1code__hash__result_a94c531f9b7fa14078b54df9bb892d5fa.html#a94c531f9b7fa14078b54df9bb892d5fa',1,'eosio::code_hash_result']]], + ['vm_5fversion_3',['vm_version',['../structeosio_1_1code__hash__result_a3c9159cb77ce8d15b1a0e5bfe73ffcbb.html#a3c9159cb77ce8d15b1a0e5bfe73ffcbb',1,'eosio::code_hash_result']]] +]; diff --git a/docs/cdt/search/variables_16.html b/docs/cdt/search/variables_16.html new file mode 100644 index 000000000..0a8db3915 --- /dev/null +++ b/docs/cdt/search/variables_16.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_16.js b/docs/cdt/search/variables_16.js new file mode 100644 index 000000000..116d29c4a --- /dev/null +++ b/docs/cdt/search/variables_16.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['weight_0',['weight',['../structeosio_1_1key__weight_a78bc9eff39c12ee18ba27206967c00a0.html#a78bc9eff39c12ee18ba27206967c00a0',1,'eosio::key_weight']]] +]; diff --git a/docs/cdt/search/variables_17.html b/docs/cdt/search/variables_17.html new file mode 100644 index 000000000..348257504 --- /dev/null +++ b/docs/cdt/search/variables_17.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_17.js b/docs/cdt/search/variables_17.js new file mode 100644 index 000000000..ee076c823 --- /dev/null +++ b/docs/cdt/search/variables_17.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['x_0',['x',['../structeosio_1_1ec__point_ac0ce980f3a4f3a910ba016449928d12e.html#ac0ce980f3a4f3a910ba016449928d12e',1,'eosio::ec_point::x()'],['../structeosio_1_1ec__point__view_a246d1354267f9229da09910aebed17a3.html#a246d1354267f9229da09910aebed17a3',1,'eosio::ec_point_view::x()']]] +]; diff --git a/docs/cdt/search/variables_18.html b/docs/cdt/search/variables_18.html new file mode 100644 index 000000000..b4158fd7b --- /dev/null +++ b/docs/cdt/search/variables_18.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_18.js b/docs/cdt/search/variables_18.js new file mode 100644 index 000000000..168b9b629 --- /dev/null +++ b/docs/cdt/search/variables_18.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['y_0',['y',['../structeosio_1_1ec__point_ae2a5451275a6e0f0bc24cce013c1df1d.html#ae2a5451275a6e0f0bc24cce013c1df1d',1,'eosio::ec_point::y()'],['../structeosio_1_1ec__point__view_ab8917551a1275db02a2faf141ef2c8b7.html#ab8917551a1275db02a2faf141ef2c8b7',1,'eosio::ec_point_view::y()']]] +]; diff --git a/docs/cdt/search/variables_2.html b/docs/cdt/search/variables_2.html new file mode 100644 index 000000000..98e80659c --- /dev/null +++ b/docs/cdt/search/variables_2.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_2.js b/docs/cdt/search/variables_2.js new file mode 100644 index 000000000..c0a0ee9bd --- /dev/null +++ b/docs/cdt/search/variables_2.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['base_5flen_0',['base_len',['../namespaceeosio_1_1internal__use__do__not__use_a8b7a014794e4538ddc62ad7773b10078.html#a8b7a014794e4538ddc62ad7773b10078',1,'eosio::internal_use_do_not_use']]], + ['base_5fper_5ftransaction_5fnet_5fusage_1',['base_per_transaction_net_usage',['../structeosio_1_1blockchain__parameters_a944e5020392feb3aa43452db31dd6c53.html#a944e5020392feb3aa43452db31dd6c53',1,'eosio::blockchain_parameters']]], + ['block_5fsigning_5fkey_2',['block_signing_key',['../group__producer__key_gaf5899a46ea38009f20643792af38d26b.html#gaf5899a46ea38009f20643792af38d26b',1,'eosio::producer_key']]], + ['buffer_5fsize_3',['buffer_size',['../namespaceeosio_1_1internal__use__do__not__use_ae6703efb9c09cd5c00bf70eee2bbd9e0.html#ae6703efb9c09cd5c00bf70eee2bbd9e0',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_3.html b/docs/cdt/search/variables_3.html new file mode 100644 index 000000000..16eb3b520 --- /dev/null +++ b/docs/cdt/search/variables_3.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_3.js b/docs/cdt/search/variables_3.js new file mode 100644 index 000000000..16349fda4 --- /dev/null +++ b/docs/cdt/search/variables_3.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['c_5fstr_0',['c_str',['../structeosio_1_1impl_1_1str__t_a1dd376f2e0c96d51fe51c5de1b2ce31b.html#a1dd376f2e0c96d51fe51c5de1b2ce31b',1,'eosio::impl::str_t']]], + ['code_1',['code',['../namespaceeosio_1_1internal__use__do__not__use_a810409b760301c0d32156f81dc2da130.html#a810409b760301c0d32156f81dc2da130',1,'eosio::internal_use_do_not_use']]], + ['code_5fhash_2',['code_hash',['../structeosio_1_1code__hash__result_aac6982ead02d5a1cd8a1213155b87857.html#aac6982ead02d5a1cd8a1213155b87857',1,'eosio::code_hash_result']]], + ['code_5fname_3',['code_name',['../structeosio_1_1action__wrapper_a8bbb70cfa7ca6965bed97142c3e1c10d.html#a8bbb70cfa7ca6965bed97142c3e1c10d',1,'eosio::action_wrapper::code_name()'],['../structeosio_1_1variant__action__wrapper_a171691c13edf4f6269bb1eec44e290f3.html#a171691c13edf4f6269bb1eec44e290f3',1,'eosio::variant_action_wrapper::code_name()']]], + ['code_5fsequence_4',['code_sequence',['../structeosio_1_1code__hash__result_aaf166f0f802cc87adc9f5986e191d051.html#aaf166f0f802cc87adc9f5986e191d051',1,'eosio::code_hash_result']]], + ['context_5ffree_5factions_5',['context_free_actions',['../classeosio_1_1transaction_a38263b68fda9925f2c6472777a04179c.html#a38263b68fda9925f2c6472777a04179c',1,'eosio::transaction']]], + ['context_5ffree_5fdiscount_5fnet_5fusage_5fden_6',['context_free_discount_net_usage_den',['../structeosio_1_1blockchain__parameters_a34aa31b25c026f190097d3b66b5d8b28.html#a34aa31b25c026f190097d3b66b5d8b28',1,'eosio::blockchain_parameters']]], + ['context_5ffree_5fdiscount_5fnet_5fusage_5fnum_7',['context_free_discount_net_usage_num',['../structeosio_1_1blockchain__parameters_a8ee23aba0c372b7d62b18e749e0e8798.html#a8ee23aba0c372b7d62b18e749e0e8798',1,'eosio::blockchain_parameters']]], + ['contract_8',['contract',['../structeosio_1_1extended__asset_acac503620c8c59864b065360fb50868b.html#acac503620c8c59864b065360fb50868b',1,'eosio::extended_asset']]], + ['cpu_5fweight_9',['cpu_weight',['../namespaceeosio_1_1internal__use__do__not__use_a28632f86cebf874025ec85cf5b9d0d84.html#a28632f86cebf874025ec85cf5b9d0d84',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_4.html b/docs/cdt/search/variables_4.html new file mode 100644 index 000000000..651021703 --- /dev/null +++ b/docs/cdt/search/variables_4.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_4.js b/docs/cdt/search/variables_4.js new file mode 100644 index 000000000..3229d4825 --- /dev/null +++ b/docs/cdt/search/variables_4.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['data_0',['data',['../structeosio_1_1action_a51845c4ffbe1c97fc8d05115d05a3ab1.html#a51845c4ffbe1c97fc8d05115d05a3ab1',1,'eosio::action']]], + ['data_5flen_1',['data_len',['../namespaceeosio_1_1internal__use__do__not__use_a2ff751e455a60d35e382a8736289a519.html#a2ff751e455a60d35e382a8736289a519',1,'eosio::internal_use_do_not_use']]], + ['datalen_2',['datalen',['../namespaceeosio_1_1internal__use__do__not__use_afe6f9d73dd3f9437b6244774206ac8fb.html#afe6f9d73dd3f9437b6244774206ac8fb',1,'eosio::internal_use_do_not_use']]], + ['deferred_5ftrx_5fexpiration_5fwindow_3',['deferred_trx_expiration_window',['../structeosio_1_1blockchain__parameters_a8cf445a327ffb230b9751f3b6764efaa.html#a8cf445a327ffb230b9751f3b6764efaa',1,'eosio::blockchain_parameters']]], + ['delay_5fsec_4',['delay_sec',['../classeosio_1_1transaction__header_adbe5ee5f38a82db68162188c49d62f39.html#adbe5ee5f38a82db68162188c49d62f39',1,'eosio::transaction_header']]], + ['dig_5',['dig',['../namespaceeosio_1_1internal__use__do__not__use_aabb8743640fb7b223160bb05c913b3e2.html#aabb8743640fb7b223160bb05c913b3e2',1,'eosio::internal_use_do_not_use']]], + ['dig_5flen_6',['dig_len',['../namespaceeosio_1_1internal__use__do__not__use_a8cf455f7e4857671db549f53ec502c95.html#a8cf455f7e4857671db549f53ec502c95',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_5.html b/docs/cdt/search/variables_5.html new file mode 100644 index 000000000..c1451b3b4 --- /dev/null +++ b/docs/cdt/search/variables_5.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_5.js b/docs/cdt/search/variables_5.js new file mode 100644 index 000000000..0fb08338a --- /dev/null +++ b/docs/cdt/search/variables_5.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['eosio_5fcontract_5fname_0',['eosio_contract_name',['../namespaceeosio_1_1internal__use__do__not__use_a795262482ae507e5517c19e1ddaa606f.html#a795262482ae507e5517c19e1ddaa606f',1,'eosio::internal_use_do_not_use']]], + ['exp_1',['exp',['../namespaceeosio_1_1internal__use__do__not__use_a7688a54920b50f9e80249718bc0bb2e1.html#a7688a54920b50f9e80249718bc0bb2e1',1,'eosio::internal_use_do_not_use']]], + ['exp_5flen_2',['exp_len',['../namespaceeosio_1_1internal__use__do__not__use_a91ba4c6181c491d6312d505e61227273.html#a91ba4c6181c491d6312d505e61227273',1,'eosio::internal_use_do_not_use']]], + ['expiration_3',['expiration',['../classeosio_1_1transaction__header_a32a532f21d5a5eeadd892723d9171e05.html#a32a532f21d5a5eeadd892723d9171e05',1,'eosio::transaction_header']]], + ['exponent_4',['exponent',['../structeosio_1_1detail_1_1largest__power__helper_a3dc63aed3405df72b9e8ff0754caf945.html#a3dc63aed3405df72b9e8ff0754caf945',1,'eosio::detail::largest_power_helper::exponent()'],['../structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4_ad44725908985e509b1a693dfa8573ae5.html#ad44725908985e509b1a693dfa8573ae5',1,'eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >::exponent()'],['../structeosio_1_1detail_1_1largest__power_ab8c47a158bca2546f08a0373cbb37ebb.html#ab8c47a158bca2546f08a0373cbb37ebb',1,'eosio::detail::largest_power::exponent()']]] +]; diff --git a/docs/cdt/search/variables_6.html b/docs/cdt/search/variables_6.html new file mode 100644 index 000000000..381d512f0 --- /dev/null +++ b/docs/cdt/search/variables_6.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_6.js b/docs/cdt/search/variables_6.js new file mode 100644 index 000000000..c00a2d4ec --- /dev/null +++ b/docs/cdt/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['final_0',['final',['../namespaceeosio_1_1internal__use__do__not__use_a841d16d09118f0268c4bbafced547818.html#a841d16d09118f0268c4bbafced547818',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_7.html b/docs/cdt/search/variables_7.html new file mode 100644 index 000000000..a1f5c2fe5 --- /dev/null +++ b/docs/cdt/search/variables_7.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_7.js b/docs/cdt/search/variables_7.js new file mode 100644 index 000000000..37e82d43d --- /dev/null +++ b/docs/cdt/search/variables_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['g1_5flen_0',['g1_len',['../namespaceeosio_1_1internal__use__do__not__use_a534eba603614762626318e8679af9759.html#a534eba603614762626318e8679af9759',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_8.html b/docs/cdt/search/variables_8.html new file mode 100644 index 000000000..91a60b2c8 --- /dev/null +++ b/docs/cdt/search/variables_8.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_8.js b/docs/cdt/search/variables_8.js new file mode 100644 index 000000000..6414abed2 --- /dev/null +++ b/docs/cdt/search/variables_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['hash_0',['hash',['../namespaceeosio_1_1internal__use__do__not__use_ad42bdd88a64a703b94a11a89e3345a7c.html#ad42bdd88a64a703b94a11a89e3345a7c',1,'eosio::internal_use_do_not_use']]], + ['hash_5flen_1',['hash_len',['../namespaceeosio_1_1internal__use__do__not__use_a30853e057dc485d7a41e6fc3ecadffe8.html#a30853e057dc485d7a41e6fc3ecadffe8',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_9.html b/docs/cdt/search/variables_9.html new file mode 100644 index 000000000..595a78cbb --- /dev/null +++ b/docs/cdt/search/variables_9.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_9.js b/docs/cdt/search/variables_9.js new file mode 100644 index 000000000..2d52b3e03 --- /dev/null +++ b/docs/cdt/search/variables_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['is_5fpriv_0',['is_priv',['../namespaceeosio_1_1internal__use__do__not__use_a41b6f2811e48e074d00c5b6366641ea9.html#a41b6f2811e48e074d00c5b6366641ea9',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_a.html b/docs/cdt/search/variables_a.html new file mode 100644 index 000000000..2c7901325 --- /dev/null +++ b/docs/cdt/search/variables_a.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_a.js b/docs/cdt/search/variables_a.js new file mode 100644 index 000000000..bf9bda688 --- /dev/null +++ b/docs/cdt/search/variables_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['keccak_0',['keccak',['../namespaceeosio_1_1internal__use__do__not__use_a80b6ad1bcafb20f5a29b03c22b52c748.html#a80b6ad1bcafb20f5a29b03c22b52c748',1,'eosio::internal_use_do_not_use']]], + ['key_1',['key',['../structeosio_1_1key__weight_a0716877105b0d4a6fca4c09f7e129800.html#a0716877105b0d4a6fca4c09f7e129800',1,'eosio::key_weight']]], + ['keys_2',['keys',['../structeosio_1_1block__signing__authority__v0_a3f0b70b44704cf738489e64cc6706859.html#a3f0b70b44704cf738489e64cc6706859',1,'eosio::block_signing_authority_v0']]] +]; diff --git a/docs/cdt/search/variables_b.html b/docs/cdt/search/variables_b.html new file mode 100644 index 000000000..5cfe7f360 --- /dev/null +++ b/docs/cdt/search/variables_b.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_b.js b/docs/cdt/search/variables_b.js new file mode 100644 index 000000000..429964111 --- /dev/null +++ b/docs/cdt/search/variables_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['left_0',['left',['../structeosio_1_1impl_1_1concat__t_aae6bb79b83cd6aaae6425af9ba4e61d2.html#aae6bb79b83cd6aaae6425af9ba4e61d2',1,'eosio::impl::concat_t']]], + ['len_1',['len',['../namespaceeosio_1_1internal__use__do__not__use_aa83533278bab525701fa405485bb5390.html#aa83533278bab525701fa405485bb5390',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_c.html b/docs/cdt/search/variables_c.html new file mode 100644 index 000000000..8f66580a5 --- /dev/null +++ b/docs/cdt/search/variables_c.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_c.js b/docs/cdt/search/variables_c.js new file mode 100644 index 000000000..58f5c6da8 --- /dev/null +++ b/docs/cdt/search/variables_c.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['max_5famount_0',['max_amount',['../structeosio_1_1asset_a478eb6a3bb302652748acfcf85738f5f.html#a478eb6a3bb302652748acfcf85738f5f',1,'eosio::asset']]], + ['max_5fauthority_5fdepth_1',['max_authority_depth',['../structeosio_1_1blockchain__parameters_aef65360380b879d1782d0b202b96c776.html#aef65360380b879d1782d0b202b96c776',1,'eosio::blockchain_parameters']]], + ['max_5fblock_5fcpu_5fusage_2',['max_block_cpu_usage',['../structeosio_1_1blockchain__parameters_af6a0f851f934100f4cfc5d7cce8c3542.html#af6a0f851f934100f4cfc5d7cce8c3542',1,'eosio::blockchain_parameters']]], + ['max_5fblock_5fnet_5fusage_3',['max_block_net_usage',['../structeosio_1_1blockchain__parameters_aaffe7d6c7437826f208c68e9ee2acf65.html#aaffe7d6c7437826f208c68e9ee2acf65',1,'eosio::blockchain_parameters']]], + ['max_5fcpu_5fusage_5fms_4',['max_cpu_usage_ms',['../classeosio_1_1transaction__header_a5fbc5f8eef0093ad65598953156d4359.html#a5fbc5f8eef0093ad65598953156d4359',1,'eosio::transaction_header']]], + ['max_5finline_5faction_5fdepth_5',['max_inline_action_depth',['../structeosio_1_1blockchain__parameters_a2a6f29f85a765e80fab44ca4c8bf4104.html#a2a6f29f85a765e80fab44ca4c8bf4104',1,'eosio::blockchain_parameters']]], + ['max_5finline_5faction_5fsize_6',['max_inline_action_size',['../structeosio_1_1blockchain__parameters_a7dbcbc6c005be48b9d42fe21ee3c034f.html#a7dbcbc6c005be48b9d42fe21ee3c034f',1,'eosio::blockchain_parameters']]], + ['max_5fnet_5fusage_5fwords_7',['max_net_usage_words',['../classeosio_1_1transaction__header_aad5eeaa9d26473ae8faa0d9c5cf44c0e.html#aad5eeaa9d26473ae8faa0d9c5cf44c0e',1,'eosio::transaction_header']]], + ['max_5ftransaction_5fcpu_5fusage_8',['max_transaction_cpu_usage',['../structeosio_1_1blockchain__parameters_a59893f31083ea0239eff0fdb47a3e9a2.html#a59893f31083ea0239eff0fdb47a3e9a2',1,'eosio::blockchain_parameters']]], + ['max_5ftransaction_5fdelay_9',['max_transaction_delay',['../structeosio_1_1blockchain__parameters_ac1ad602bce04bb7de2b83acf319605ac.html#ac1ad602bce04bb7de2b83acf319605ac',1,'eosio::blockchain_parameters']]], + ['max_5ftransaction_5flifetime_10',['max_transaction_lifetime',['../structeosio_1_1blockchain__parameters_ae9595da087ba46dbada5f785ec9191e6.html#ae9595da087ba46dbada5f785ec9191e6',1,'eosio::blockchain_parameters']]], + ['max_5ftransaction_5fnet_5fusage_11',['max_transaction_net_usage',['../structeosio_1_1blockchain__parameters_a07d6c92013fce008071d9b610544c4c6.html#a07d6c92013fce008071d9b610544c4c6',1,'eosio::blockchain_parameters']]], + ['min_5ftransaction_5fcpu_5fusage_12',['min_transaction_cpu_usage',['../structeosio_1_1blockchain__parameters_a5c15c7c28e28d93183e85639ddd3dd83.html#a5c15c7c28e28d93183e85639ddd3dd83',1,'eosio::blockchain_parameters']]], + ['mod_13',['mod',['../namespaceeosio_1_1internal__use__do__not__use_a027e383f00b6e7e1a84cbf1d748c497f.html#a027e383f00b6e7e1a84cbf1d748c497f',1,'eosio::internal_use_do_not_use']]], + ['mod_5flen_14',['mod_len',['../namespaceeosio_1_1internal__use__do__not__use_adb452b37e25d266414ded2a0bcec1b45.html#adb452b37e25d266414ded2a0bcec1b45',1,'eosio::internal_use_do_not_use']]], + ['msg_15',['msg',['../namespaceeosio_1_1internal__use__do__not__use_af2a181710ad035098993649b3dc97a0f.html#af2a181710ad035098993649b3dc97a0f',1,'eosio::internal_use_do_not_use']]], + ['msg_5flen_16',['msg_len',['../namespaceeosio_1_1internal__use__do__not__use_add8aff837dc2c0d88fde2e0cc395b869.html#add8aff837dc2c0d88fde2e0cc395b869',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_d.html b/docs/cdt/search/variables_d.html new file mode 100644 index 000000000..0049d6444 --- /dev/null +++ b/docs/cdt/search/variables_d.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_d.js b/docs/cdt/search/variables_d.js new file mode 100644 index 000000000..556076fa4 --- /dev/null +++ b/docs/cdt/search/variables_d.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['name_0',['name',['../structeosio_1_1action_a407ffb98514612d2e9683dd7d88af91a.html#a407ffb98514612d2e9683dd7d88af91a',1,'eosio::action']]], + ['net_5fusage_5fleeway_1',['net_usage_leeway',['../structeosio_1_1blockchain__parameters_a5066e04cd3a3d74459e810d253c29ebf.html#a5066e04cd3a3d74459e810d253c29ebf',1,'eosio::blockchain_parameters']]], + ['net_5fweight_2',['net_weight',['../namespaceeosio_1_1internal__use__do__not__use_a1e57a95287092eed7943f2d14e0dc5b1.html#a1e57a95287092eed7943f2d14e0dc5b1',1,'eosio::internal_use_do_not_use']]], + ['npos_3',['npos',['../classeosio_1_1string_a4f5cb8bf0e4336ffdcba55fb5073bfcf.html#a4f5cb8bf0e4336ffdcba55fb5073bfcf',1,'eosio::string']]] +]; diff --git a/docs/cdt/search/variables_e.html b/docs/cdt/search/variables_e.html new file mode 100644 index 000000000..a4e3502b8 --- /dev/null +++ b/docs/cdt/search/variables_e.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_e.js b/docs/cdt/search/variables_e.js new file mode 100644 index 000000000..ccc161eca --- /dev/null +++ b/docs/cdt/search/variables_e.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['op1_5flen_0',['op1_len',['../namespaceeosio_1_1internal__use__do__not__use_a1e7210a95265e4cc67895371e8e1d1a9.html#a1e7210a95265e4cc67895371e8e1d1a9',1,'eosio::internal_use_do_not_use']]], + ['op2_1',['op2',['../namespaceeosio_1_1internal__use__do__not__use_a3cf08e393da6ced475992073668ae916.html#a3cf08e393da6ced475992073668ae916',1,'eosio::internal_use_do_not_use']]], + ['op2_5flen_2',['op2_len',['../namespaceeosio_1_1internal__use__do__not__use_af8ebf8425f3a88d9f6fd90e0cc362a9c.html#af8ebf8425f3a88d9f6fd90e0cc362a9c',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/search/variables_f.html b/docs/cdt/search/variables_f.html new file mode 100644 index 000000000..c10fa9b94 --- /dev/null +++ b/docs/cdt/search/variables_f.html @@ -0,0 +1,37 @@ + + + + + + + + + + +
    +
    Загрузка...
    +
    + +
    Поиск...
    +
    Не найдено
    + +
    + + diff --git a/docs/cdt/search/variables_f.js b/docs/cdt/search/variables_f.js new file mode 100644 index 000000000..be0112878 --- /dev/null +++ b/docs/cdt/search/variables_f.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['pairs_5flen_0',['pairs_len',['../namespaceeosio_1_1internal__use__do__not__use_a3f4c3d55b6ee872679410d65c69d9793.html#a3f4c3d55b6ee872679410d65c69d9793',1,'eosio::internal_use_do_not_use']]], + ['participants_1',['participants',['../structeosio_1_1security__group_a973d5d82d74821e31a8cd813a3b9cb6f.html#a973d5d82d74821e31a8cd813a3b9cb6f',1,'eosio::security_group']]], + ['permission_2',['permission',['../structeosio_1_1permission__level_af30baa92f0b3d6b611967c0dfb7555a7.html#af30baa92f0b3d6b611967c0dfb7555a7',1,'eosio::permission_level::permission()'],['../namespaceeosio_1_1internal__use__do__not__use_ac956e7abe6f9a0aec8d5afce830c336a.html#ac956e7abe6f9a0aec8d5afce830c336a',1,'eosio::internal_use_do_not_use::permission()']]], + ['permissions_3',['permissions',['../structeosio_1_1action__wrapper_ae1e1b2dda09b7185e2f6ae7ec6acadf1.html#ae1e1b2dda09b7185e2f6ae7ec6acadf1',1,'eosio::action_wrapper::permissions()'],['../structeosio_1_1variant__action__wrapper_adec76a914d269cc458affb4c9a5123bd.html#adec76a914d269cc458affb4c9a5123bd',1,'eosio::variant_action_wrapper::permissions()']]], + ['powers_5fof_5fbase_4',['powers_of_base',['../namespaceeosio_a4f16ca40c7fd4cdde61b9e1f03d850de.html#a4f16ca40c7fd4cdde61b9e1f03d850de',1,'eosio']]], + ['producer_5fdata_5',['producer_data',['../namespaceeosio_1_1internal__use__do__not__use_ada902a227b77350f7f51b72a0a3db867.html#ada902a227b77350f7f51b72a0a3db867',1,'eosio::internal_use_do_not_use']]], + ['producer_5fdata_5fsize_6',['producer_data_size',['../namespaceeosio_1_1internal__use__do__not__use_a208a5e31ff7bb998c7a04b27569e4a62.html#a208a5e31ff7bb998c7a04b27569e4a62',1,'eosio::internal_use_do_not_use']]], + ['producer_5fname_7',['producer_name',['../group__producer__key_gabec477141e08f7648fbdb5d7c2e69824.html#gabec477141e08f7648fbdb5d7c2e69824',1,'eosio::producer_key::producer_name()'],['../structeosio_1_1producer__authority_a4b283812e4b5646e5c00b9009ccaa642.html#a4b283812e4b5646e5c00b9009ccaa642',1,'eosio::producer_authority::producer_name()']]], + ['producers_8',['producers',['../structeosio_1_1producer__schedule_a10628b8023f6db90687a54776d15a117.html#a10628b8023f6db90687a54776d15a117',1,'eosio::producer_schedule']]], + ['pub_9',['pub',['../namespaceeosio_1_1internal__use__do__not__use_a93a8561c5ce93a3662e230570b7c2dc3.html#a93a8561c5ce93a3662e230570b7c2dc3',1,'eosio::internal_use_do_not_use']]], + ['pub_5flen_10',['pub_len',['../namespaceeosio_1_1internal__use__do__not__use_a9eb916bf6dc3592b13ea43f058572fb1.html#a9eb916bf6dc3592b13ea43f058572fb1',1,'eosio::internal_use_do_not_use']]] +]; diff --git a/docs/cdt/security__group_8hpp.html b/docs/cdt/security__group_8hpp.html new file mode 100644 index 000000000..c20946d53 --- /dev/null +++ b/docs/cdt/security__group_8hpp.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/security_group.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Файл security_group.hpp
    +
    +
    +
    #include <set>
    +#include "../../core/eosio/name.hpp"
    +#include "../../core/eosio/serialize.hpp"
    +
    +

    См. исходные тексты.

    + + + + +

    +Классы

    struct  eosio::security_group
     
    + + + + + +

    +Пространства имен

    namespace  eosio
     
    namespace  eosio::internal_use_do_not_use
     
    + + + + + + + + + + + +

    +Функции

     eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
     
    int64_t eosio::add_security_group_participants (const std::set< name > &participants)
     
    int64_t eosio::remove_security_group_participants (const std::set< name > &participants)
     
    bool eosio::in_active_security_group (const std::set< name > &participants)
     
    security_group eosio::get_active_security_group ()
     
    +
    +
    + + + + + + diff --git a/docs/cdt/security__group_8hpp.js b/docs/cdt/security__group_8hpp.js new file mode 100644 index 000000000..f9c966fe9 --- /dev/null +++ b/docs/cdt/security__group_8hpp.js @@ -0,0 +1,9 @@ +var security__group_8hpp = +[ + [ "eosio::security_group", "structeosio_1_1security__group.html", "structeosio_1_1security__group" ], + [ "__attribute__", "security__group_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387", null ], + [ "add_security_group_participants", "security__group_8hpp.html#ga8a7cc14a1900bfbb2adc8af0193efe02", null ], + [ "get_active_security_group", "security__group_8hpp.html#gaac778b25910d9c1a99deb182fea2543e", null ], + [ "in_active_security_group", "security__group_8hpp.html#ga9348bff666d401af321e1d67af264a3d", null ], + [ "remove_security_group_participants", "security__group_8hpp.html#gadefafd73d733d635d8d844203120a58d", null ] +]; \ No newline at end of file diff --git a/docs/cdt/security__group_8hpp_source.html b/docs/cdt/security__group_8hpp_source.html new file mode 100644 index 000000000..666919aa9 --- /dev/null +++ b/docs/cdt/security__group_8hpp_source.html @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/security_group.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    security_group.hpp
    +
    +
    +См. документацию.
    1#pragma once
    +
    2#include <set>
    +
    3#include "../../core/eosio/name.hpp"
    +
    4#include "../../core/eosio/serialize.hpp"
    +
    5
    +
    6namespace eosio {
    +
    7
    +
    8namespace internal_use_do_not_use {
    +
    9extern "C" {
    +
    10__attribute__((eosio_wasm_import)) int64_t add_security_group_participants(const char* data, uint32_t datalen);
    +
    11
    +
    12__attribute__((eosio_wasm_import)) int64_t remove_security_group_participants(const char* data, uint32_t datalen);
    +
    13
    +
    14__attribute__((eosio_wasm_import)) bool in_active_security_group(const char* data, uint32_t datalen);
    +
    15
    +
    16__attribute__((eosio_wasm_import)) uint32_t get_active_security_group(char* data, uint32_t datalen);
    +
    17}
    +
    18} // namespace internal_use_do_not_use
    +
    19
    + + +
    28 std::set<name> participants;
    + +
    30};
    +
    31
    +
    40inline int64_t add_security_group_participants(const std::set<name>& participants) {
    +
    41 auto packed_participants = eosio::pack( participants );
    +
    42 return internal_use_do_not_use::add_security_group_participants( packed_participants.data(), packed_participants.size() );
    +
    43}
    +
    44
    +
    53inline int64_t remove_security_group_participants(const std::set<name>& participants){
    +
    54 auto packed_participants = eosio::pack( participants );
    +
    55 return internal_use_do_not_use::remove_security_group_participants( packed_participants.data(), packed_participants.size() );
    +
    56}
    +
    57
    +
    66inline bool in_active_security_group(const std::set<name>& participants){
    +
    67 auto packed_participants = eosio::pack( participants );
    +
    68 return internal_use_do_not_use::in_active_security_group( packed_participants.data(), packed_participants.size() );
    +
    69}
    +
    70
    + + +
    79 std::vector<char> buffer(buffer_size);
    + +
    81 return eosio::unpack<security_group>(buffer);
    +
    82}
    +
    83} // namespace eosio
    +
    +
    + + + + + + diff --git a/docs/cdt/serialize_8hpp.html b/docs/cdt/serialize_8hpp.html new file mode 100644 index 000000000..196a0b592 --- /dev/null +++ b/docs/cdt/serialize_8hpp.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/serialize.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Файл serialize.hpp
    +
    +
    +
    #include <bluegrass/meta/preprocessor.hpp>
    +
    +

    См. исходные тексты.

    + + + + + + + + +

    +Макросы

    #define EOSLIB_REFLECT_MEMBER_OP(OP, elem)    OP t.elem
     
    #define EOSLIB_SERIALIZE(TYPE, MEMBERS)
     
    #define EOSLIB_SERIALIZE_DERIVED(TYPE, BASE, MEMBERS)
     
    +
    +
    + + + + + + diff --git a/docs/cdt/serialize_8hpp.js b/docs/cdt/serialize_8hpp.js new file mode 100644 index 000000000..8f7fd4ff0 --- /dev/null +++ b/docs/cdt/serialize_8hpp.js @@ -0,0 +1,6 @@ +var serialize_8hpp = +[ + [ "EOSLIB_REFLECT_MEMBER_OP", "serialize_8hpp_a6feed62c5d17dc8c6a94845f1ea59b0b.html#a6feed62c5d17dc8c6a94845f1ea59b0b", null ], + [ "EOSLIB_SERIALIZE", "group__serialize_gac39bf93bca023cc19379279456dac31f.html#gac39bf93bca023cc19379279456dac31f", null ], + [ "EOSLIB_SERIALIZE_DERIVED", "group__serialize_gaca7a38eac7326c602930c79d2a25a602.html#gaca7a38eac7326c602930c79d2a25a602", null ] +]; \ No newline at end of file diff --git a/docs/cdt/serialize_8hpp_a6feed62c5d17dc8c6a94845f1ea59b0b.html b/docs/cdt/serialize_8hpp_a6feed62c5d17dc8c6a94845f1ea59b0b.html new file mode 100644 index 000000000..e388ef715 --- /dev/null +++ b/docs/cdt/serialize_8hpp_a6feed62c5d17dc8c6a94845f1ea59b0b.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: EOSLIB_REFLECT_MEMBER_OP + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ EOSLIB_REFLECT_MEMBER_OP

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define EOSLIB_REFLECT_MEMBER_OP( OP,
     elem 
    )    OP t.elem
    +
    + +

    См. определение в файле serialize.hpp строка 3

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/serialize_8hpp_source.html b/docs/cdt/serialize_8hpp_source.html new file mode 100644 index 000000000..f4de2f20c --- /dev/null +++ b/docs/cdt/serialize_8hpp_source.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/serialize.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    serialize.hpp
    +
    +
    +См. документацию.
    1#include <bluegrass/meta/preprocessor.hpp>
    +
    2
    +
    3#define EOSLIB_REFLECT_MEMBER_OP( OP, elem ) \
    +
    4 OP t.elem
    +
    5
    +
    19#define EOSLIB_SERIALIZE( TYPE, MEMBERS ) \
    +
    20 template<typename DataStream> \
    +
    21 friend DataStream& operator << ( DataStream& ds, const TYPE& t ){ \
    +
    22 return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, <<, MEMBERS );\
    +
    23 }\
    +
    24 template<typename DataStream> \
    +
    25 friend DataStream& operator >> ( DataStream& ds, TYPE& t ){ \
    +
    26 return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, >>, MEMBERS );\
    +
    27 }
    +
    28
    +
    38#define EOSLIB_SERIALIZE_DERIVED( TYPE, BASE, MEMBERS ) \
    +
    39 template<typename DataStream> \
    +
    40 friend DataStream& operator << ( DataStream& ds, const TYPE& t ){ \
    +
    41 ds << static_cast<const BASE&>(t); \
    +
    42 return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, <<, MEMBERS );\
    +
    43 }\
    +
    44 template<typename DataStream> \
    +
    45 friend DataStream& operator >> ( DataStream& ds, TYPE& t ){ \
    +
    46 ds >> static_cast<BASE&>(t); \
    +
    47 return ds BLUEGRASS_META_FOREACH_SEQ( EOSLIB_REFLECT_MEMBER_OP, >>, MEMBERS );\
    +
    48 }
    +
    +
    + + + + + + diff --git a/docs/cdt/singleton_8hpp.html b/docs/cdt/singleton_8hpp.html new file mode 100644 index 000000000..a3eb5f502 --- /dev/null +++ b/docs/cdt/singleton_8hpp.html @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/singleton.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Файл singleton.hpp
    +
    +
    +
    #include "multi_index.hpp"
    +#include "system.hpp"
    +
    +

    См. исходные тексты.

    + + + + +

    +Классы

    class  eosio::singleton< SingletonName, T >
     
    + + + +

    +Пространства имен

    namespace  eosio
     
    +
    +
    + + + + + + diff --git a/docs/cdt/singleton_8hpp_source.html b/docs/cdt/singleton_8hpp_source.html new file mode 100644 index 000000000..de7b94aa2 --- /dev/null +++ b/docs/cdt/singleton_8hpp_source.html @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/singleton.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    singleton.hpp
    +
    +
    +См. документацию.
    1#pragma once
    +
    2#include "multi_index.hpp"
    +
    3#include "system.hpp"
    +
    4
    +
    5namespace eosio {
    +
    6
    +
    20 template<name::raw SingletonName, typename T>
    + +
    22 {
    +
    26 constexpr static uint64_t pk_value = static_cast<uint64_t>(SingletonName);
    +
    27
    +
    31 struct row {
    +
    35 T value;
    +
    36
    +
    42 uint64_t primary_key() const { return pk_value; }
    +
    43
    +
    44 EOSLIB_SERIALIZE( row, (value) )
    +
    45 };
    +
    46
    + +
    48
    +
    49 public:
    +
    50
    +
    57 singleton( name code, uint64_t scope ) : _t( code, scope ) {}
    +
    58
    +
    65 bool exists() {
    +
    66 return _t.find( pk_value ) != _t.end();
    +
    67 }
    +
    68
    +
    75 T get() {
    +
    76 auto itr = _t.find( pk_value );
    +
    77 eosio::check( itr != _t.end(), "singleton does not exist" );
    +
    78 return itr->value;
    +
    79 }
    +
    80
    +
    87 T get_or_default( const T& def = T() ) {
    +
    88 auto itr = _t.find( pk_value );
    +
    89 return itr != _t.end() ? itr->value : def;
    +
    90 }
    +
    91
    +
    99 T get_or_create( name bill_to_account, const T& def = T() ) {
    +
    100 auto itr = _t.find( pk_value );
    +
    101 return itr != _t.end() ? itr->value
    +
    102 : _t.emplace(bill_to_account, [&](row& r) { r.value = def; })->value;
    +
    103 }
    +
    104
    +
    111 void set( const T& value, name bill_to_account ) {
    +
    112 auto itr = _t.find( pk_value );
    +
    113 if( itr != _t.end() ) {
    +
    114 _t.modify(itr, bill_to_account, [&](row& r) { r.value = value; });
    +
    115 } else {
    +
    116 _t.emplace(bill_to_account, [&](row& r) { r.value = value; });
    +
    117 }
    +
    118 }
    +
    119
    +
    123 void remove( ) {
    +
    124 auto itr = _t.find( pk_value );
    +
    125 if( itr != _t.end() ) {
    +
    126 _t.erase(itr);
    +
    127 }
    +
    128 }
    +
    129
    +
    130 private:
    +
    131 table _t;
    +
    132 };
    +
    133}
    +
    +
    + + + + + + diff --git a/docs/cdt/splitbar.png b/docs/cdt/splitbar.png new file mode 100644 index 000000000..fe895f2c5 Binary files /dev/null and b/docs/cdt/splitbar.png differ diff --git a/docs/cdt/string_8hpp.html b/docs/cdt/string_8hpp.html new file mode 100644 index 000000000..805f06716 --- /dev/null +++ b/docs/cdt/string_8hpp.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/string.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    +
    #include <cstring>
    +#include <algorithm>
    +#include <memory>
    +#include <variant>
    +#include <vector>
    +#include "datastream.hpp"
    +#include "varint.hpp"
    +
    +

    См. исходные тексты.

    + + + + +

    +Классы

    class  eosio::string
     
    + + + +

    +Пространства имен

    namespace  eosio
     
    + + + + + + + + + + + + + + + + + + + + + +

    +Функции

    bool eosio::operator< (const string &lhs, const string &rhs)
     
    bool eosio::operator> (const string &lhs, const string &rhs)
     
    bool eosio::operator<= (const string &lhs, const string &rhs)
     
    bool eosio::operator>= (const string &lhs, const string &rhs)
     
    bool eosio::operator== (const string &lhs, const string &rhs)
     
    bool eosio::operator!= (const string &lhs, const string &rhs)
     
    string eosio::operator+ (const string &lhs, const string &rhs)
     
    template<typename DataStream >
    DataStream & eosio::operator<< (DataStream &ds, const string &str)
     
    template<typename DataStream >
    DataStream & eosio::operator>> (DataStream &ds, string &str)
     
    +

    Подробное описание

    +
    + +

    См. определение в файле string.hpp

    +
    +
    + + + + + + diff --git a/docs/cdt/string_8hpp.js b/docs/cdt/string_8hpp.js new file mode 100644 index 000000000..da873205c --- /dev/null +++ b/docs/cdt/string_8hpp.js @@ -0,0 +1,13 @@ +var string_8hpp = +[ + [ "eosio::string", "classeosio_1_1string.html", "classeosio_1_1string" ], + [ "operator!=", "string_8hpp.html#a14b4435561885695942e8d60b7d5e7b7", null ], + [ "operator+", "string_8hpp.html#a76c9eef0a1a07d3dd3c924e6f302bf1c", null ], + [ "operator<", "string_8hpp.html#a3769e5e16987ccf2c510856696f38b9d", null ], + [ "operator<<", "string_8hpp.html#afca27a6d080cc7375dce87cdc23457e3", null ], + [ "operator<=", "string_8hpp.html#a80fdc59744805f578b1947990dc03372", null ], + [ "operator==", "string_8hpp.html#a2f1c46cd699cf27d007b60f941edaca0", null ], + [ "operator>", "string_8hpp.html#ab9a725e824a4b42a2a4a23b994289061", null ], + [ "operator>=", "string_8hpp.html#ab403fc37b2c295133b5be19cfc548c4a", null ], + [ "operator>>", "string_8hpp.html#a46b78c005e5ed39960b2e040b06b4053", null ] +]; \ No newline at end of file diff --git a/docs/cdt/string_8hpp_source.html b/docs/cdt/string_8hpp_source.html new file mode 100644 index 000000000..6a66ae451 --- /dev/null +++ b/docs/cdt/string_8hpp_source.html @@ -0,0 +1,632 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/string.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    string.hpp
    +
    +
    +См. документацию.
    1
    +
    6#pragma once
    +
    7
    +
    8#include <cstring> // memcpy, memset, strlen
    +
    9#include <algorithm> // std::swap
    +
    10#include <memory> // std::unique_ptr
    +
    11#include <variant> // std::variant
    +
    12#include <vector> // std::vector
    +
    13
    +
    14#include "datastream.hpp" // eosio::datastream
    +
    15#include "varint.hpp" // eosio::unsigned_int
    +
    16
    +
    17namespace eosio {
    +
    18
    +
    19 class string {
    +
    20 public:
    +
    21 static constexpr size_t npos = -1;
    +
    22
    +
    23 template <size_t N>
    +
    24 constexpr string(const char (&str)[N])
    +
    25 : _size{N-1}
    +
    26 , _capacity{_size}
    +
    27 , _begin{str}
    +
    28 {
    +
    29 }
    +
    30
    +
    31 constexpr string()
    +
    32 : _size{0}
    +
    33 , _capacity{0}
    +
    34 , _begin{""}
    +
    35 {
    +
    36 }
    +
    37
    +
    38 constexpr string(const char* str, const size_t n)
    +
    39 : _size{n}
    +
    40 , _capacity{_size*2}
    +
    41 {
    +
    42 char* begin{new char[_capacity]};
    +
    43 memcpy(begin, str, _size);
    +
    44 _begin = begin;
    +
    45 }
    +
    46
    +
    47 constexpr string(const size_t n, const char c)
    +
    48 : _size{n}
    +
    49 , _capacity{_size*2}
    +
    50 {
    +
    51 char* begin{new char[_capacity]};
    +
    52 memset(begin, c, _size);
    +
    53 _begin = begin;
    +
    54 }
    +
    55
    +
    56 constexpr string(const string& str, const size_t pos, const size_t n)
    +
    57 : _size{n}
    +
    58 , _capacity{_size*2}
    +
    59 {
    +
    60 if (n == string::npos || str._size < pos+n) {
    +
    61 _size = str._size;
    +
    62 _capacity = _size*2;
    +
    63 }
    +
    64
    +
    65 clone(_size, _capacity, str.data()+pos);
    +
    66 }
    +
    67
    +
    68 constexpr string(const string& str)
    +
    69 : _size{str._size}
    +
    70 , _capacity{str._capacity}
    +
    71 {
    +
    72 if (str.is_literal())
    +
    73 _begin = std::get<const char*>(str._begin);
    +
    74 else
    +
    75 clone(str._size, str._capacity, str.data());
    +
    76 }
    +
    77
    +
    78 constexpr string(string&& str)
    +
    79 : _size{str._size}
    +
    80 , _capacity{str._capacity}
    +
    81 {
    +
    82 if (str.is_literal())
    +
    83 _begin = std::get<const char*>(str._begin);
    +
    84 else
    +
    85 _begin = std::move(std::get<uptr>(str._begin));
    +
    86 }
    +
    87
    +
    88 string& operator=(const string& str) {
    +
    89 if (&str == this)
    +
    90 return *this;
    +
    91
    +
    92 _size = str._size;
    +
    93 _capacity = str._capacity;
    +
    94
    +
    95 if (str.is_literal())
    +
    96 _begin = std::get<const char*>(str._begin);
    +
    97 else
    +
    98 clone(_size, _capacity, str.data());
    +
    99
    +
    100 return *this;
    +
    101 }
    +
    102
    +
    103 string& operator=(string&& str) {
    +
    104 if (&str == this)
    +
    105 return *this;
    +
    106
    +
    107 _size = str._size;
    +
    108 _capacity = str._capacity;
    +
    109
    +
    110 if (str.is_literal())
    +
    111 _begin = std::get<const char*>(str._begin);
    +
    112 else
    +
    113 _begin = std::move(std::get<uptr>(str._begin));
    +
    114
    +
    115 return *this;
    +
    116 }
    +
    117
    +
    118 string& operator=(const char* str) {
    +
    119 _size = strlen(str);
    +
    120 _capacity = _size;
    +
    121 _begin = str;
    +
    122
    +
    123 return *this;
    +
    124 }
    +
    125
    +
    126 char& operator[](const size_t n) {
    +
    127 if (is_literal())
    +
    128 clone(_size, _capacity, std::get<const char*>(_begin));
    +
    129 return std::get<uptr>(_begin).get()[n];
    +
    130 }
    +
    131
    +
    132 const char operator[](const size_t n) const {
    +
    133 return (is_literal()) ? std::get<const char*>(_begin)[n] : std::get<uptr>(_begin).get()[n];
    +
    134 }
    +
    135
    +
    136 char& at(const size_t n) {
    +
    137 eosio::check(0 <= n && n < _size, "eosio::string::at");
    +
    138 return operator[](n);
    +
    139 }
    +
    140
    +
    141 const char at(const size_t n) const {
    +
    142 eosio::check(0 <= n && n < _size, "eosio::string::at const");
    +
    143 return operator[](n);
    +
    144 }
    +
    145
    +
    146 char& front() {
    +
    147 return at(0);
    +
    148 }
    +
    149
    +
    150 const char front() const {
    +
    151 return at(0);
    +
    152 }
    +
    153
    +
    154 char& back() {
    +
    155 return at(_size-1);
    +
    156 }
    +
    157
    +
    158 const char back() const {
    +
    159 return at(_size-1);
    +
    160 }
    +
    161
    +
    162 char* data() {
    +
    163 return begin();
    +
    164 }
    +
    165
    +
    166 const char* data() const {
    +
    167 return cbegin();
    +
    168 }
    +
    169
    +
    170 const char* c_str() const {
    +
    171 static size_t prev_size{0};
    +
    172 char* raw_ptr{nullptr};
    +
    173
    +
    174 if (is_literal())
    +
    175 return std::get<const char*>(_begin);
    +
    176
    +
    177 if (_size == prev_size)
    +
    178 return std::get<uptr>(_begin).get();
    +
    179 else if (_size < prev_size)
    +
    180 raw_ptr = std::get<uptr>(_begin).get();
    +
    181 else {
    +
    182 uptr tmp = std::make_unique<char[]>(_size+1);
    +
    183 raw_ptr = tmp.get();
    +
    184 prev_size = _size;
    +
    185 memcpy(raw_ptr, std::get<uptr>(_begin).get(), _size);
    +
    186 }
    +
    187
    +
    188 raw_ptr[_size+1] = '\0';
    +
    189 return raw_ptr;
    +
    190 }
    +
    191
    +
    192 char* begin() {
    +
    193 if (is_literal()) {
    +
    194 _capacity *= 2;
    +
    195 clone(_size, _capacity, std::get<const char*>(_begin));
    +
    196 }
    +
    197
    +
    198 return std::get<uptr>(_begin).get();
    +
    199 }
    +
    200
    +
    201 const char* cbegin() const {
    +
    202 return (is_literal()) ? std::get<const char*>(_begin) : std::get<uptr>(_begin).get();
    +
    203 }
    +
    204
    +
    205 char* end() {
    +
    206 return begin()+_size;
    +
    207 }
    +
    208
    +
    209 const char* cend() const {
    +
    210 return cbegin()+_size;
    +
    211 }
    +
    212
    +
    213 bool empty() const {
    +
    214 return !_size;
    +
    215 }
    +
    216
    +
    217 size_t size() const {
    +
    218 return _size;
    +
    219 }
    +
    220
    +
    221 size_t length() const {
    +
    222 return _size;
    +
    223 }
    +
    224
    +
    225 size_t capacity() const {
    +
    226 return _capacity;
    +
    227 }
    +
    228
    +
    229 size_t max_size() const {
    +
    230 return npos;
    +
    231 }
    +
    232
    +
    233 void reserve(const size_t n) {
    +
    234 if (_capacity < n) {
    +
    235 _capacity = n;
    +
    236
    +
    237 const char* tmp{(is_literal()) ? std::get<const char*>(_begin) : std::get<uptr>(_begin).get()};
    +
    238 clone(_size, _capacity, tmp);
    +
    239 }
    +
    240 else
    +
    241 return;
    +
    242 }
    +
    243
    + +
    245 _capacity = _size;
    +
    246 }
    +
    247
    +
    248 void clear() {
    +
    249 _size = 0;
    +
    250
    +
    251 if (is_literal())
    +
    252 clone(_size, _capacity, std::get<const char*>(_begin));
    +
    253 std::get<uptr>(_begin).get()[0] = '\0';
    +
    254 }
    +
    255
    +
    256 void resize(const size_t n) {
    +
    257 if (is_literal())
    +
    258 clone(n, _capacity, std::get<const char*>(_begin));
    +
    259 else {
    +
    260 _size = n;
    +
    261 if (n <= _capacity)
    +
    262 memset(std::get<uptr>(_begin).get()+_size, '\0', _capacity-_size);
    +
    263 else {
    +
    264 _capacity = _size*2;
    +
    265 clone(_size, _capacity, std::get<uptr>(_begin).get());
    +
    266 }
    +
    267 }
    +
    268 }
    +
    269
    +
    270 void swap(string& str) {
    +
    271 std::swap(*this, str);
    +
    272 }
    +
    273
    +
    274 void push_back(const char c) {
    +
    275 *this += c;
    +
    276 }
    +
    277
    +
    278 void pop_back() {
    +
    279 if (_size == 0)
    +
    280 return;
    +
    281 resize(--_size);
    +
    282 }
    +
    283
    +
    284 string substr(size_t pos = 0, size_t len = npos) const {
    +
    285 return string(*this, pos, len);
    +
    286 }
    +
    287
    +
    288 size_t copy(char* s, size_t len, size_t pos = 0) const {
    +
    289 eosio::check(pos <= _size, "eosio::string::copy");
    +
    290 len = (_size < pos+len) ? _size : len;
    +
    291
    +
    292 const char* tmp{(is_literal()) ? std::get<const char*>(_begin) : std::get<uptr>(_begin).get()};
    +
    293 memcpy(s, tmp+pos, len);
    +
    294
    +
    295 return (_size < pos+len) ? _size-pos : len;
    +
    296 }
    +
    297
    +
    298 string& insert(const size_t pos, const char* str) {
    +
    299 return insert(pos, str, strlen(str));
    +
    300 }
    +
    301
    +
    302 string& insert(const size_t pos, const char* str, const size_t len) {
    +
    303 eosio::check((str != nullptr) && (0 <= pos && pos <= _size), "eosio::string::insert");
    +
    304
    +
    305 if (_capacity < (_size+len)) {
    +
    306 _size += len;
    +
    307 _capacity = _size*2;
    +
    308
    +
    309 uptr begin{std::make_unique<char[]>(_capacity)};
    +
    310 const char* tmp{(is_literal()) ? std::get<const char*>(_begin) : std::get<uptr>(_begin).get()};
    +
    311
    +
    312 memcpy(begin.get(), tmp, pos);
    +
    313 memcpy(begin.get()+pos, str, len);
    +
    314 memcpy(begin.get()+len+pos, tmp+pos, _size-len-pos);
    +
    315
    +
    316 _begin = std::move(begin);
    +
    317 }
    +
    318 else {
    +
    319 if(is_literal())
    +
    320 clone(_size, _capacity, std::get<const char*>(_begin));
    +
    321 _size += len;
    +
    322 memmove(std::get<uptr>(_begin).get()+pos+len, std::get<uptr>(_begin).get()+pos, _size-pos);
    +
    323 memcpy(std::get<uptr>(_begin).get()+pos, str, len);
    +
    324 }
    +
    325
    +
    326 return *this;
    +
    327 }
    +
    328
    +
    329 string& insert(const size_t pos, const string& str) {
    +
    330 insert(pos, str.c_str());
    +
    331 return *this;
    +
    332 }
    +
    333
    +
    334 string& erase(size_t pos = 0, size_t len = npos) {
    +
    335 eosio::check(0 <= pos && pos <= _size, "eosio::string::erase");
    +
    336
    +
    337 if (len == string::npos)
    +
    338 len = _size-pos;
    +
    339
    +
    340 _size -= len;
    +
    341
    +
    342 if (is_literal())
    +
    343 clone(_size, _capacity, std::get<const char*>(_begin));
    +
    344 memmove(std::get<uptr>(_begin).get()+pos+len, std::get<uptr>(_begin).get(), len);
    +
    345 resize(_size);
    +
    346
    +
    347 return *this;
    +
    348 }
    +
    349
    +
    350 string& append(const char* str) {
    +
    351 eosio::check(str != nullptr, "eosio::string::append");
    +
    352 insert(_size, str);
    +
    353
    +
    354 return *this;
    +
    355 }
    +
    356
    +
    357 string& append(const string& str) {
    +
    358 insert(_size, str);
    +
    359 return *this;
    +
    360 }
    +
    361
    +
    362 string& operator+=(const char c) {
    +
    363 if (_capacity == 0) {
    +
    364 _size = 1;
    +
    365 _capacity = 2;
    +
    366 clone(1, _capacity, &c);
    +
    367 }
    +
    368 else if (_size == _capacity) {
    +
    369 _capacity = ++_size*2;
    +
    370
    +
    371 const char* tmp{(is_literal()) ? std::get<const char*>(_begin) : std::get<uptr>(_begin).get()};
    +
    372 clone(_size, _capacity, tmp);
    +
    373 std::get<uptr>(_begin).get()[_size-1] = c;
    +
    374 }
    +
    375 else
    +
    376 std::get<uptr>(_begin).get()[_size++] = c;
    +
    377
    +
    378 return *this;
    +
    379 }
    +
    380
    +
    381 string& operator+=(const char* rhs) {
    +
    382 append(rhs);
    +
    383 return *this;
    +
    384 }
    +
    385
    +
    386 string& operator+=(const string& rhs) {
    +
    387 append(rhs);
    +
    388 return *this;
    +
    389 }
    +
    390
    +
    391 inline void print() const {
    +
    392 const char* tmp{(is_literal()) ? std::get<const char*>(_begin) : std::get<uptr>(_begin).get()};
    +
    393 internal_use_do_not_use::prints_l(tmp, _size);
    +
    394 }
    +
    395
    +
    396 friend bool operator< (const string& lhs, const string& rhs);
    +
    397 friend bool operator> (const string& lhs, const string& rhs);
    +
    398 friend bool operator<=(const string& lhs, const string& rhs);
    +
    399 friend bool operator>=(const string& lhs, const string& rhs);
    +
    400 friend bool operator==(const string& lhs, const string& rhs);
    +
    401 friend bool operator!=(const string& lhs, const string& rhs);
    +
    402
    +
    403 friend string operator+ (const string& lhs, const string& rhs);
    +
    404
    +
    405 private:
    +
    406 using uptr = std::unique_ptr<char[]>;
    +
    407 using sso_str = std::variant<const char*, uptr>;
    +
    408
    +
    409 size_t _size = 0;
    +
    410 size_t _capacity = 0;
    +
    411 sso_str _begin = nullptr;
    +
    412
    +
    413 void clone(size_t size, size_t capacity, const char* str) {
    +
    414 _size = size;
    +
    415 _capacity = capacity;
    +
    416
    +
    417 uptr begin{std::make_unique<char[]>(capacity)};
    +
    418 memcpy(begin.get(), str, size);
    +
    419 _begin = std::move(begin);
    +
    420 }
    +
    421
    +
    422 constexpr bool is_literal() const {
    +
    423 return (std::holds_alternative<const char*>(_begin)) ? true : false;
    +
    424 }
    +
    425 };
    +
    426
    +
    427 inline bool operator< (const string& lhs, const string& rhs) {
    +
    428 const char* beg_lhs{lhs.cbegin()}; const char* end_lhs{lhs.cend()};
    +
    429 const char* beg_rhs{rhs.cbegin()}; const char* end_rhs{rhs.cend()};
    +
    430
    +
    431 for(; beg_lhs != end_lhs && beg_rhs != end_rhs; ++beg_lhs, ++beg_rhs) {
    +
    432 if (*beg_lhs < *beg_rhs)
    +
    433 return true;
    +
    434 if (*beg_rhs < *beg_lhs)
    +
    435 return false;
    +
    436 }
    +
    437
    +
    438 return beg_lhs == end_lhs && beg_rhs != end_rhs;
    +
    439 }
    +
    440
    +
    441 inline bool operator> (const string& lhs, const string& rhs) {
    +
    442 return (rhs < lhs);
    +
    443 }
    +
    444
    +
    445 inline bool operator<=(const string& lhs, const string& rhs) {
    +
    446 return !(rhs < lhs);
    +
    447 }
    +
    448
    +
    449 inline bool operator>=(const string& lhs, const string& rhs) {
    +
    450 return !(lhs < rhs);
    +
    451 }
    +
    452
    +
    453 inline bool operator==(const string& lhs, const string& rhs) {
    +
    454 return !(lhs < rhs) && !(rhs < lhs);
    +
    455 }
    +
    456
    +
    457 inline bool operator!=(const string& lhs, const string& rhs) {
    +
    458 return !(lhs == rhs);
    +
    459 }
    +
    460
    +
    461 inline string operator+(const string& lhs, const string& rhs) {
    +
    462 string res{lhs};
    +
    463 res += rhs;
    +
    464 return res;
    +
    465 }
    +
    466
    +
    467 template<typename DataStream>
    +
    468 DataStream& operator<<(DataStream& ds, const string& str) {
    +
    469 ds << unsigned_int(str.size());
    +
    470 if (str.size())
    +
    471 ds.write(str.data(), str.size());
    +
    472 return ds;
    +
    473 }
    +
    474
    +
    475 template<typename DataStream>
    +
    476 DataStream& operator>>(DataStream& ds, string& str) {
    +
    477 std::vector<char> tmp;
    +
    478 ds >> tmp;
    +
    479 str = (tmp.size()) ? string(tmp.data(), tmp.size()) : string();
    +
    480 return ds;
    +
    481 }
    +
    482
    +
    483} // namespace eosio
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream-members.html b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream-members.html new file mode 100644 index 000000000..bb60af38e --- /dev/null +++ b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream-members.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::_datastream_detail::is_datastream< T > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::_datastream_detail::is_datastream< T >, включая наследуемые из базового класса

    + + +
    valueeosio::_datastream_detail::is_datastream< T >static
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream.html b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream.html new file mode 100644 index 000000000..bfed48fdc --- /dev/null +++ b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream.html @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::_datastream_detail::is_datastream< T > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Шаблон структуры eosio::_datastream_detail::is_datastream< T >
    +
    +
    + +

    #include <datastream.hpp>

    + + + + +

    +Статические открытые данные

    static constexpr bool value = false
     
    +

    Подробное описание

    +
    template<typename T>
    +struct eosio::_datastream_detail::is_datastream< T >
    +

    См. определение в файле datastream.hpp строка 597

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4-members.html b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4-members.html new file mode 100644 index 000000000..2d0c6a8bb --- /dev/null +++ b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4-members.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::_datastream_detail::is_datastream< datastream< T > > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::_datastream_detail::is_datastream< datastream< T > >, включая наследуемые из базового класса

    + + +
    valueeosio::_datastream_detail::is_datastream< datastream< T > >static
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4.html b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4.html new file mode 100644 index 000000000..d869a085e --- /dev/null +++ b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4.html @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::_datastream_detail::is_datastream< datastream< T > > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Шаблон структуры eosio::_datastream_detail::is_datastream< datastream< T > >
    +
    +
    + +

    #include <datastream.hpp>

    + + + + +

    +Статические открытые данные

    static constexpr bool value = true
     
    +

    Подробное описание

    +
    template<typename T>
    +struct eosio::_datastream_detail::is_datastream< datastream< T > >
    +

    См. определение в файле datastream.hpp строка 599

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4_aa4cc84f8f2a27b86c4d8d6106abf577e.html b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4_aa4cc84f8f2a27b86c4d8d6106abf577e.html new file mode 100644 index 000000000..06d4e3bd8 --- /dev/null +++ b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_3_01datastream_3_01_t_01_4_01_4_aa4cc84f8f2a27b86c4d8d6106abf577e.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::_datastream_detail::is_datastream< datastream< T > >::value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ value

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    constexpr bool eosio::_datastream_detail::is_datastream< datastream< T > >::value = true
    +
    +staticconstexpr
    +
    + +

    См. определение в файле datastream.hpp строка 599

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_a46f5a1b821c0b8786607159ca6ccfccd.html b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_a46f5a1b821c0b8786607159ca6ccfccd.html new file mode 100644 index 000000000..ed75bfc72 --- /dev/null +++ b/docs/cdt/structeosio_1_1__datastream__detail_1_1is__datastream_a46f5a1b821c0b8786607159ca6ccfccd.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::_datastream_detail::is_datastream::value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ value

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    constexpr bool eosio::_datastream_detail::is_datastream< T >::value = false
    +
    +staticconstexpr
    +
    + +

    См. определение в файле datastream.hpp строка 597

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__index__db__functions.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__index__db__functions.html new file mode 100644 index 000000000..cd24b8c48 --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__index__db__functions.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::_multi_index_detail::secondary_index_db_functions< T > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Шаблон структуры eosio::_multi_index_detail::secondary_index_db_functions< T >
    +
    +
    +

    Подробное описание

    +
    template<typename T>
    +struct eosio::_multi_index_detail::secondary_index_db_functions< T >
    +

    См. определение в файле multi_index.hpp строка 308

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits.html new file mode 100644 index 000000000..f0104e5b4 --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::_multi_index_detail::secondary_key_traits< T > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Шаблон структуры eosio::_multi_index_detail::secondary_key_traits< T >
    +
    +
    +

    Подробное описание

    +
    template<typename T>
    +struct eosio::_multi_index_detail::secondary_key_traits< T >
    +

    См. определение в файле multi_index.hpp строка 311

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4-members.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4-members.html new file mode 100644 index 000000000..b08b60b3b --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4-members.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::_multi_index_detail::secondary_key_traits< double > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::_multi_index_detail::secondary_key_traits< double >, включая наследуемые из базового класса

    + + +
    true_lowest()eosio::_multi_index_detail::secondary_key_traits< double >inlinestatic
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4.html new file mode 100644 index 000000000..d8e328517 --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::_multi_index_detail::secondary_key_traits< double > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Структура eosio::_multi_index_detail::secondary_key_traits< double >
    +
    +
    + +

    #include <multi_index.hpp>

    + + + + +

    +Открытые статические члены

    static constexpr double true_lowest ()
     
    +

    Подробное описание

    +
    +

    См. определение в файле multi_index.hpp строка 321

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4_ac261d4e78ccebd3d107c0c4d2659c78b.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4_ac261d4e78ccebd3d107c0c4d2659c78b.html new file mode 100644 index 000000000..e7473dd37 --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01double_01_4_ac261d4e78ccebd3d107c0c4d2659c78b.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::_multi_index_detail::secondary_key_traits< double >::true_lowest + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ true_lowest()

    + +
    +
    + + + + + +
    + + + + + + + +
    static constexpr double eosio::_multi_index_detail::secondary_key_traits< double >::true_lowest ()
    +
    +inlinestaticconstexpr
    +
    + +

    См. определение в файле multi_index.hpp строка 322

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4-members.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4-members.html new file mode 100644 index 000000000..7e83a3faf --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4-members.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >, включая наследуемые из базового класса

    + + +
    true_lowest()eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >inlinestatic
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4.html new file mode 100644 index 000000000..09778e508 --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Структура eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >
    +
    +
    + +

    #include <multi_index.hpp>

    + + + + +

    +Открытые статические члены

    static constexpr eosio::fixed_bytes< 32 > true_lowest ()
     
    +

    Подробное описание

    +
    +

    См. определение в файле multi_index.hpp строка 333

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4_a3931d15383b69ef8b74a680168afa995.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4_a3931d15383b69ef8b74a680168afa995.html new file mode 100644 index 000000000..bf2307df6 --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01eosio_1_1fixed__bytes_3_0132_01_4_01_4_a3931d15383b69ef8b74a680168afa995.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >::true_lowest + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ true_lowest()

    + +
    +
    + + + + + +
    + + + + + + + +
    static constexpr eosio::fixed_bytes< 32 > eosio::_multi_index_detail::secondary_key_traits< eosio::fixed_bytes< 32 > >::true_lowest ()
    +
    +inlinestaticconstexpr
    +
    + +

    См. определение в файле multi_index.hpp строка 334

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4-members.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4-members.html new file mode 100644 index 000000000..5c73fd27b --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4-members.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::_multi_index_detail::secondary_key_traits< long double > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::_multi_index_detail::secondary_key_traits< long double >, включая наследуемые из базового класса

    + + +
    true_lowest()eosio::_multi_index_detail::secondary_key_traits< long double >inlinestatic
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4.html new file mode 100644 index 000000000..6c25be9a2 --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4.html @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::_multi_index_detail::secondary_key_traits< long double > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Структура eosio::_multi_index_detail::secondary_key_traits< long double >
    +
    +
    + +

    #include <multi_index.hpp>

    + + + + +

    +Открытые статические члены

    static constexpr long double true_lowest ()
     
    +

    Подробное описание

    +
    +

    См. определение в файле multi_index.hpp строка 327

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4_ada23ab5a6d6411da93274d3d48729285.html b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4_ada23ab5a6d6411da93274d3d48729285.html new file mode 100644 index 000000000..07eaa1122 --- /dev/null +++ b/docs/cdt/structeosio_1_1__multi__index__detail_1_1secondary__key__traits_3_01long_01double_01_4_ada23ab5a6d6411da93274d3d48729285.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::_multi_index_detail::secondary_key_traits< long double >::true_lowest + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ true_lowest()

    + +
    +
    + + + + + +
    + + + + + + + +
    static constexpr long double eosio::_multi_index_detail::secondary_key_traits< long double >::true_lowest ()
    +
    +inlinestaticconstexpr
    +
    + +

    См. определение в файле multi_index.hpp строка 328

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action-members.html b/docs/cdt/structeosio_1_1action-members.html new file mode 100644 index 000000000..709690aff --- /dev/null +++ b/docs/cdt/structeosio_1_1action-members.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::action Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::action, включая наследуемые из базового класса

    + + + + + + + + + + + +
    accounteosio::action
    action()=defaulteosio::action
    action(const permission_level &auth, struct name a, struct name n, T &&value)eosio::actioninline
    action(std::vector< permission_level > auths, struct name a, struct name n, T &&value)eosio::actioninline
    authorizationeosio::action
    dataeosio::action
    data_as()eosio::actioninline
    nameeosio::action
    send() consteosio::actioninline
    send_context_free() consteosio::actioninline
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action.html b/docs/cdt/structeosio_1_1action.html new file mode 100644 index 000000000..99dcd8e7e --- /dev/null +++ b/docs/cdt/structeosio_1_1action.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::action + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <action.hpp>

    + + + + + + + + + + + + + + + + + +

    +Открытые члены

     action ()=default
     
    template<typename T >
     action (const permission_level &auth, struct name a, struct name n, T &&value)
     
    template<typename T >
     action (std::vector< permission_level > auths, struct name a, struct name n, T &&value)
     
    void send () const
     
    void send_context_free () const
     
    template<typename T >
    data_as ()
     
    + + + + + + + + + +

    +Открытые атрибуты

    name account
     
    name name
     
    std::vector< permission_levelauthorization
     
    std::vector< char > data
     
    +

    Подробное описание

    +

    Упакованное представление действия вместе с метаданными об уровнях авторизации.

    + +

    См. определение в файле action.hpp строка 322

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action.js b/docs/cdt/structeosio_1_1action.js new file mode 100644 index 000000000..b95c93660 --- /dev/null +++ b/docs/cdt/structeosio_1_1action.js @@ -0,0 +1,13 @@ +var structeosio_1_1action = +[ + [ "action", "structeosio_1_1action_aebc29a38547efa71db8ec20cc56d69a4.html#aebc29a38547efa71db8ec20cc56d69a4", null ], + [ "action", "structeosio_1_1action_a9ef6c7fc0a06f53c754a1cc8af513d00.html#a9ef6c7fc0a06f53c754a1cc8af513d00", null ], + [ "action", "structeosio_1_1action_aa6b336f4f7a8c61d68e14d99a0a9cd9d.html#aa6b336f4f7a8c61d68e14d99a0a9cd9d", null ], + [ "data_as", "structeosio_1_1action_ab10f4621dd9e24a33642d8fb240b1a01.html#ab10f4621dd9e24a33642d8fb240b1a01", null ], + [ "send", "structeosio_1_1action_a447f36a63208c2d138b7109b3e13e55f.html#a447f36a63208c2d138b7109b3e13e55f", null ], + [ "send_context_free", "structeosio_1_1action_a984a41daf2d1c4d6506cac0c98ac7a2a.html#a984a41daf2d1c4d6506cac0c98ac7a2a", null ], + [ "account", "structeosio_1_1action_a4fc65ee0b7c184e7fcb8cdf6242220af.html#a4fc65ee0b7c184e7fcb8cdf6242220af", null ], + [ "authorization", "structeosio_1_1action_a65851242b65f483e6b84d602d599f4e5.html#a65851242b65f483e6b84d602d599f4e5", null ], + [ "data", "structeosio_1_1action_a51845c4ffbe1c97fc8d05115d05a3ab1.html#a51845c4ffbe1c97fc8d05115d05a3ab1", null ], + [ "name", "structeosio_1_1action_a407ffb98514612d2e9683dd7d88af91a.html#a407ffb98514612d2e9683dd7d88af91a", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1action__wrapper-members.html b/docs/cdt/structeosio_1_1action__wrapper-members.html new file mode 100644 index 000000000..1677ca080 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper-members.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::action_wrapper< Name, Action > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::action_wrapper< Name, Action >, включая наследуемые из базового класса

    + + + + + + + + + + + + + +
    action_nameeosio::action_wrapper< Name, Action >static
    action_wrapper(Code &&code, std::vector< eosio::permission_level > &&perms)eosio::action_wrapper< Name, Action >inline
    action_wrapper(Code &&code, const std::vector< eosio::permission_level > &perms)eosio::action_wrapper< Name, Action >inline
    action_wrapper(Code &&code, eosio::permission_level &&perm)eosio::action_wrapper< Name, Action >inline
    action_wrapper(Code &&code, const eosio::permission_level &perm)eosio::action_wrapper< Name, Action >inline
    action_wrapper(Code &&code)eosio::action_wrapper< Name, Action >inline
    code_nameeosio::action_wrapper< Name, Action >
    get_mem_ptr()eosio::action_wrapper< Name, Action >inlinestatic
    permissionseosio::action_wrapper< Name, Action >
    send(Args &&... args) consteosio::action_wrapper< Name, Action >inline
    send_context_free(Args &&... args) consteosio::action_wrapper< Name, Action >inline
    to_action(Args &&... args) consteosio::action_wrapper< Name, Action >inline
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper.html b/docs/cdt/structeosio_1_1action__wrapper.html new file mode 100644 index 000000000..c2af30494 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper.html @@ -0,0 +1,225 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::action_wrapper< Name, Action > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    Обёртка для конкретного действия, упрощающая отправку встроенных (inline) действий к этому действию из других контрактов. Пример: + Подробнее...

    + +

    #include <action.hpp>

    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Открытые члены

    template<typename Code >
    constexpr action_wrapper (Code &&code, std::vector< eosio::permission_level > &&perms)
     
    template<typename Code >
    constexpr action_wrapper (Code &&code, const std::vector< eosio::permission_level > &perms)
     
    template<typename Code >
    constexpr action_wrapper (Code &&code, eosio::permission_level &&perm)
     
    template<typename Code >
    constexpr action_wrapper (Code &&code, const eosio::permission_level &perm)
     
    template<typename Code >
    constexpr action_wrapper (Code &&code)
     
    template<typename... Args>
    action to_action (Args &&... args) const
     
    template<typename... Args>
    void send (Args &&... args) const
     
    template<typename... Args>
    void send_context_free (Args &&... args) const
     
    + + + +

    +Открытые статические члены

    static constexpr auto get_mem_ptr ()
     
    + + + + + +

    +Открытые атрибуты

    eosio::name code_name
     
    std::vector< eosio::permission_levelpermissions
     
    + + + +

    +Статические открытые данные

    static constexpr eosio::name action_name = eosio::name(Name)
     
    +

    Подробное описание

    +
    template<eosio::name::raw Name, auto Action>
    +struct eosio::action_wrapper< Name, Action >

    Обёртка для конкретного действия, упрощающая отправку встроенных (inline) действий к этому действию из других контрактов. Пример:

    +

    Обёртка над объектом действия.

    +
    // defined by contract writer of the actions
    +
    using transfer_act = action_wrapper<"transfer"_n, &token::transfer>;
    +
    // usage by different contract writer
    +
    transfer_act{"eosio.token"_n, {st.issuer, "active"_n}}.send(st.issuer, to, quantity, memo);
    +
    // or
    +
    transfer_act trans_action{ "eosio.token"_n, {st.issuer, "active"_n}};
    +
    trans_action.send(st.issuer, to, quantity, memo);
    +
    +

    См. определение в файле action.hpp строка 506

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper.js b/docs/cdt/structeosio_1_1action__wrapper.js new file mode 100644 index 000000000..7f50f4e06 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper.js @@ -0,0 +1,13 @@ +var structeosio_1_1action__wrapper = +[ + [ "action_wrapper", "structeosio_1_1action__wrapper_a12ef4e4f5e9459ee02ea7113706f3147.html#a12ef4e4f5e9459ee02ea7113706f3147", null ], + [ "action_wrapper", "structeosio_1_1action__wrapper_a333abd92bf1c6c965759a93ee9dc280b.html#a333abd92bf1c6c965759a93ee9dc280b", null ], + [ "action_wrapper", "structeosio_1_1action__wrapper_af1be67f4109fb82bfcc18ad47a3f30ea.html#af1be67f4109fb82bfcc18ad47a3f30ea", null ], + [ "action_wrapper", "structeosio_1_1action__wrapper_a8b3fbccd819478987dbcba4362b1357f.html#a8b3fbccd819478987dbcba4362b1357f", null ], + [ "action_wrapper", "structeosio_1_1action__wrapper_a5a8a0453c4d0e1233c05cb0749ae7807.html#a5a8a0453c4d0e1233c05cb0749ae7807", null ], + [ "send", "structeosio_1_1action__wrapper_aa7f4781b065eda40ba6803410f1b2eb1.html#aa7f4781b065eda40ba6803410f1b2eb1", null ], + [ "send_context_free", "structeosio_1_1action__wrapper_ae9fc18e5e6a4ca8a70120594aaab73e5.html#ae9fc18e5e6a4ca8a70120594aaab73e5", null ], + [ "to_action", "structeosio_1_1action__wrapper_ae422e0f1f06d13925a29dcac8f4457f1.html#ae422e0f1f06d13925a29dcac8f4457f1", null ], + [ "code_name", "structeosio_1_1action__wrapper_a8bbb70cfa7ca6965bed97142c3e1c10d.html#a8bbb70cfa7ca6965bed97142c3e1c10d", null ], + [ "permissions", "structeosio_1_1action__wrapper_ae1e1b2dda09b7185e2f6ae7ec6acadf1.html#ae1e1b2dda09b7185e2f6ae7ec6acadf1", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1action__wrapper_a12ef4e4f5e9459ee02ea7113706f3147.html b/docs/cdt/structeosio_1_1action__wrapper_a12ef4e4f5e9459ee02ea7113706f3147.html new file mode 100644 index 000000000..a268d1bb3 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_a12ef4e4f5e9459ee02ea7113706f3147.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::action_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action_wrapper() [1/5]

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    +
    +template<typename Code >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr eosio::action_wrapper< Name, Action >::action_wrapper (Code && code,
    std::vector< eosio::permission_level > && perms 
    )
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле action.hpp строка 508

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_a333abd92bf1c6c965759a93ee9dc280b.html b/docs/cdt/structeosio_1_1action__wrapper_a333abd92bf1c6c965759a93ee9dc280b.html new file mode 100644 index 000000000..3890ac906 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_a333abd92bf1c6c965759a93ee9dc280b.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::action_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action_wrapper() [2/5]

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    +
    +template<typename Code >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr eosio::action_wrapper< Name, Action >::action_wrapper (Code && code,
    const std::vector< eosio::permission_level > & perms 
    )
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле action.hpp строка 512

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_a44ef1255c5018cdffb249665017fde8c.html b/docs/cdt/structeosio_1_1action__wrapper_a44ef1255c5018cdffb249665017fde8c.html new file mode 100644 index 000000000..b489401e0 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_a44ef1255c5018cdffb249665017fde8c.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::get_mem_ptr + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ get_mem_ptr()

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    + + + + + +
    + + + + + + + +
    static constexpr auto eosio::action_wrapper< Name, Action >::get_mem_ptr ()
    +
    +inlinestaticconstexpr
    +
    + +

    См. определение в файле action.hpp строка 531

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_a5a8a0453c4d0e1233c05cb0749ae7807.html b/docs/cdt/structeosio_1_1action__wrapper_a5a8a0453c4d0e1233c05cb0749ae7807.html new file mode 100644 index 000000000..4e2ea70a9 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_a5a8a0453c4d0e1233c05cb0749ae7807.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::action_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action_wrapper() [5/5]

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    +
    +template<typename Code >
    + + + + + +
    + + + + + + + + +
    constexpr eosio::action_wrapper< Name, Action >::action_wrapper (Code && code)
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле action.hpp строка 524

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_a5e378f05ff213113e35b9be105ff40a6.html b/docs/cdt/structeosio_1_1action__wrapper_a5e378f05ff213113e35b9be105ff40a6.html new file mode 100644 index 000000000..e7bb6d422 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_a5e378f05ff213113e35b9be105ff40a6.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::action_name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action_name

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    + + + + + +
    + + + + +
    constexpr eosio::name eosio::action_wrapper< Name, Action >::action_name = eosio::name(Name)
    +
    +staticconstexpr
    +
    + +

    См. определение в файле action.hpp строка 527

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_a8b3fbccd819478987dbcba4362b1357f.html b/docs/cdt/structeosio_1_1action__wrapper_a8b3fbccd819478987dbcba4362b1357f.html new file mode 100644 index 000000000..db0f8cb3b --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_a8b3fbccd819478987dbcba4362b1357f.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::action_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action_wrapper() [4/5]

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    +
    +template<typename Code >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr eosio::action_wrapper< Name, Action >::action_wrapper (Code && code,
    const eosio::permission_levelperm 
    )
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле action.hpp строка 520

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_a8bbb70cfa7ca6965bed97142c3e1c10d.html b/docs/cdt/structeosio_1_1action__wrapper_a8bbb70cfa7ca6965bed97142c3e1c10d.html new file mode 100644 index 000000000..8a2c21db7 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_a8bbb70cfa7ca6965bed97142c3e1c10d.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::code_name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ code_name

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    + + + + +
    eosio::name eosio::action_wrapper< Name, Action >::code_name
    +
    + +

    См. определение в файле action.hpp строка 528

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_aa7f4781b065eda40ba6803410f1b2eb1.html b/docs/cdt/structeosio_1_1action__wrapper_aa7f4781b065eda40ba6803410f1b2eb1.html new file mode 100644 index 000000000..b34d1cf3f --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_aa7f4781b065eda40ba6803410f1b2eb1.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::send + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ send()

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    +
    +template<typename... Args>
    + + + + + +
    + + + + + + + + +
    void eosio::action_wrapper< Name, Action >::send (Args &&... args) const
    +
    +inline
    +
    + +

    См. определение в файле action.hpp строка 541

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_ae1e1b2dda09b7185e2f6ae7ec6acadf1.html b/docs/cdt/structeosio_1_1action__wrapper_ae1e1b2dda09b7185e2f6ae7ec6acadf1.html new file mode 100644 index 000000000..e9e0784ef --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_ae1e1b2dda09b7185e2f6ae7ec6acadf1.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::permissions + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ permissions

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    + + + + +
    std::vector<eosio::permission_level> eosio::action_wrapper< Name, Action >::permissions
    +
    + +

    См. определение в файле action.hpp строка 529

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_ae422e0f1f06d13925a29dcac8f4457f1.html b/docs/cdt/structeosio_1_1action__wrapper_ae422e0f1f06d13925a29dcac8f4457f1.html new file mode 100644 index 000000000..3735dafd9 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_ae422e0f1f06d13925a29dcac8f4457f1.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::to_action + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_action()

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    +
    +template<typename... Args>
    + + + + + +
    + + + + + + + + +
    action eosio::action_wrapper< Name, Action >::to_action (Args &&... args) const
    +
    +inline
    +
    + +

    См. определение в файле action.hpp строка 536

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_ae9fc18e5e6a4ca8a70120594aaab73e5.html b/docs/cdt/structeosio_1_1action__wrapper_ae9fc18e5e6a4ca8a70120594aaab73e5.html new file mode 100644 index 000000000..f17491060 --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_ae9fc18e5e6a4ca8a70120594aaab73e5.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::send_context_free + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ send_context_free()

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    +
    +template<typename... Args>
    + + + + + +
    + + + + + + + + +
    void eosio::action_wrapper< Name, Action >::send_context_free (Args &&... args) const
    +
    +inline
    +
    + +

    См. определение в файле action.hpp строка 546

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action__wrapper_af1be67f4109fb82bfcc18ad47a3f30ea.html b/docs/cdt/structeosio_1_1action__wrapper_af1be67f4109fb82bfcc18ad47a3f30ea.html new file mode 100644 index 000000000..76227353e --- /dev/null +++ b/docs/cdt/structeosio_1_1action__wrapper_af1be67f4109fb82bfcc18ad47a3f30ea.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action_wrapper::action_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action_wrapper() [3/5]

    + +
    +
    +
    +template<eosio::name::raw Name, auto Action>
    +
    +template<typename Code >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr eosio::action_wrapper< Name, Action >::action_wrapper (Code && code,
    eosio::permission_level && perm 
    )
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле action.hpp строка 516

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action_a407ffb98514612d2e9683dd7d88af91a.html b/docs/cdt/structeosio_1_1action_a407ffb98514612d2e9683dd7d88af91a.html new file mode 100644 index 000000000..a96aedee3 --- /dev/null +++ b/docs/cdt/structeosio_1_1action_a407ffb98514612d2e9683dd7d88af91a.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action::name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ name

    + +
    +
    + + + + +
    name eosio::action::name
    +
    +

    Имя действия

    + +

    См. определение в файле action.hpp строка 331

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action_a447f36a63208c2d138b7109b3e13e55f.html b/docs/cdt/structeosio_1_1action_a447f36a63208c2d138b7109b3e13e55f.html new file mode 100644 index 000000000..ccd1dd5c6 --- /dev/null +++ b/docs/cdt/structeosio_1_1action_a447f36a63208c2d138b7109b3e13e55f.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action::send + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ send()

    + +
    +
    + + + + + +
    + + + + + + + +
    void eosio::action::send () const
    +
    +inline
    +
    +

    Отправляет действие как встроенное (inline)

    + +

    См. определение в файле action.hpp строка 383

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action_a4fc65ee0b7c184e7fcb8cdf6242220af.html b/docs/cdt/structeosio_1_1action_a4fc65ee0b7c184e7fcb8cdf6242220af.html new file mode 100644 index 000000000..922377e10 --- /dev/null +++ b/docs/cdt/structeosio_1_1action_a4fc65ee0b7c184e7fcb8cdf6242220af.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action::account + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ account

    + +
    +
    + + + + +
    name eosio::action::account
    +
    +

    Имя аккаунта, для которого предназначено действие

    + +

    См. определение в файле action.hpp строка 326

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action_a51845c4ffbe1c97fc8d05115d05a3ab1.html b/docs/cdt/structeosio_1_1action_a51845c4ffbe1c97fc8d05115d05a3ab1.html new file mode 100644 index 000000000..441c7fee9 --- /dev/null +++ b/docs/cdt/structeosio_1_1action_a51845c4ffbe1c97fc8d05115d05a3ab1.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action::data + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ data

    + +
    +
    + + + + +
    std::vector<char> eosio::action::data
    +
    +

    Полезная нагрузка (данные)

    + +

    См. определение в файле action.hpp строка 341

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action_a65851242b65f483e6b84d602d599f4e5.html b/docs/cdt/structeosio_1_1action_a65851242b65f483e6b84d602d599f4e5.html new file mode 100644 index 000000000..8296572a3 --- /dev/null +++ b/docs/cdt/structeosio_1_1action_a65851242b65f483e6b84d602d599f4e5.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action::authorization + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ authorization

    + +
    +
    + + + + +
    std::vector<permission_level> eosio::action::authorization
    +
    +

    Список разрешений, авторизующих это действие

    + +

    См. определение в файле action.hpp строка 336

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action_a984a41daf2d1c4d6506cac0c98ac7a2a.html b/docs/cdt/structeosio_1_1action_a984a41daf2d1c4d6506cac0c98ac7a2a.html new file mode 100644 index 000000000..e14a854dd --- /dev/null +++ b/docs/cdt/structeosio_1_1action_a984a41daf2d1c4d6506cac0c98ac7a2a.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action::send_context_free + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ send_context_free()

    + +
    +
    + + + + + +
    + + + + + + + +
    void eosio::action::send_context_free () const
    +
    +inline
    +
    +

    Отправляет действие как встроенное контекстно-свободное (context free)

    +
    Предусловие
    это действие не должно содержать авторизаций
    + +

    См. определение в файле action.hpp строка 393

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action_a9ef6c7fc0a06f53c754a1cc8af513d00.html b/docs/cdt/structeosio_1_1action_a9ef6c7fc0a06f53c754a1cc8af513d00.html new file mode 100644 index 000000000..3ace7de25 --- /dev/null +++ b/docs/cdt/structeosio_1_1action_a9ef6c7fc0a06f53c754a1cc8af513d00.html @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action::action + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action() [2/3]

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    eosio::action::action (const permission_levelauth,
    struct name a,
    struct name n,
    T && value 
    )
    +
    +inline
    +
    +

    Создаёт объект действия с заданным разрешением, получателем действия, именем действия и структурой действия

    +
    Параметры шаблона
    + + +
    T— тип структуры действия, должен сериализоваться через pack(...)
    +
    +
    +
    Аргументы
    + + + + + +
    auth— разрешение, авторизующее это действие
    a— имя аккаунта-получателя действия
    n— имя действия
    value— структура действия, сериализуемая через pack в data
    +
    +
    + +

    См. определение в файле action.hpp строка 358

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action_aa6b336f4f7a8c61d68e14d99a0a9cd9d.html b/docs/cdt/structeosio_1_1action_aa6b336f4f7a8c61d68e14d99a0a9cd9d.html new file mode 100644 index 000000000..d688057bf --- /dev/null +++ b/docs/cdt/structeosio_1_1action_aa6b336f4f7a8c61d68e14d99a0a9cd9d.html @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action::action + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action() [3/3]

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    eosio::action::action (std::vector< permission_levelauths,
    struct name a,
    struct name n,
    T && value 
    )
    +
    +inline
    +
    +

    Создаёт объект действия с заданным списком разрешений, получателем, именем действия и структурой действия

    +
    Параметры шаблона
    + + +
    T— тип структуры действия, должен сериализоваться через pack(...)
    +
    +
    +
    Аргументы
    + + + + + +
    auths— список разрешений, авторизующих это действие
    a— имя аккаунта-получателя действия
    n— имя действия
    value— структура действия, сериализуемая через pack в data
    +
    +
    + +

    См. определение в файле action.hpp строка 371

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action_ab10f4621dd9e24a33642d8fb240b1a01.html b/docs/cdt/structeosio_1_1action_ab10f4621dd9e24a33642d8fb240b1a01.html new file mode 100644 index 000000000..af86b9b43 --- /dev/null +++ b/docs/cdt/structeosio_1_1action_ab10f4621dd9e24a33642d8fb240b1a01.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action::data_as + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ data_as()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    T eosio::action::data_as ()
    +
    +inline
    +
    +

    Возвращает распакованные данные как T

    +
    Параметры шаблона
    + + +
    Tожидаемый тип данных
    +
    +
    +
    Возвращает
    данные действия
    + +

    См. определение в файле action.hpp строка 406

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1action_aebc29a38547efa71db8ec20cc56d69a4.html b/docs/cdt/structeosio_1_1action_aebc29a38547efa71db8ec20cc56d69a4.html new file mode 100644 index 000000000..b87f0c1cd --- /dev/null +++ b/docs/cdt/structeosio_1_1action_aebc29a38547efa71db8ec20cc56d69a4.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::action::action + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action() [1/3]

    + +
    +
    + + + + + +
    + + + + + + + +
    eosio::action::action ()
    +
    +default
    +
    +

    Конструктор по умолчанию

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset-members.html b/docs/cdt/structeosio_1_1asset-members.html new file mode 100644 index 000000000..e2dfb4a53 --- /dev/null +++ b/docs/cdt/structeosio_1_1asset-members.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::asset Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::asset, включая наследуемые из базового класса

    + + + + + + + + + + + + +
    amounteosio::asset
    asset()eosio::assetinline
    asset(int64_t a, class symbol s)eosio::assetinline
    is_amount_within_range() consteosio::assetinline
    is_valid() consteosio::assetinline
    max_amounteosio::assetstatic
    print() consteosio::assetinline
    set_amount(int64_t a)eosio::assetinline
    symboleosio::asset
    to_string() consteosio::assetinline
    write_as_string(char *begin, char *end, bool dry_run=false) consteosio::assetinline
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset.html b/docs/cdt/structeosio_1_1asset.html new file mode 100644 index 000000000..bb0996b65 --- /dev/null +++ b/docs/cdt/structeosio_1_1asset.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::asset + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <asset.hpp>

    + + + + + + + + + + + + + + + + + + + + + +

    +Открытые члены

     asset ()
     
     asset (int64_t a, class symbol s)
     
    bool is_amount_within_range () const
     
    bool is_valid () const
     
    void set_amount (int64_t a)
     
    char * write_as_string (char *begin, char *end, bool dry_run=false) const
     Записывает asset в виде строки в переданный буфер char. Подробнее...
     
    std::string to_string () const
     Преобразование asset в std::string. Подробнее...
     
    void print () const
     Вывод asset. Подробнее...
     
    + + + + + +

    +Открытые атрибуты

    int64_t amount = 0
     
    symbol symbol
     
    + + + +

    +Статические открытые данные

    static constexpr int64_t max_amount = (1LL << 62) - 1
     
    +

    Подробное описание

    +

    Хранит данные актива (количество и символ) для владельца.

    + +

    См. определение в файле asset.hpp строка 26

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset.js b/docs/cdt/structeosio_1_1asset.js new file mode 100644 index 000000000..7726d2dc2 --- /dev/null +++ b/docs/cdt/structeosio_1_1asset.js @@ -0,0 +1,13 @@ +var structeosio_1_1asset = +[ + [ "asset", "structeosio_1_1asset_abdde8d4b53c1b8f1027ab6cb2b13b845.html#abdde8d4b53c1b8f1027ab6cb2b13b845", null ], + [ "asset", "structeosio_1_1asset_abb4cf1f370bb101c7d61910ff45d6b55.html#abb4cf1f370bb101c7d61910ff45d6b55", null ], + [ "is_amount_within_range", "structeosio_1_1asset_a815b58378c8849fbb2a68f288edf5f31.html#a815b58378c8849fbb2a68f288edf5f31", null ], + [ "is_valid", "structeosio_1_1asset_aa2e8739bf534ea99199d121143ca7a0a.html#aa2e8739bf534ea99199d121143ca7a0a", null ], + [ "print", "structeosio_1_1asset_a111a52097d1761898d5641536c308416.html#a111a52097d1761898d5641536c308416", null ], + [ "set_amount", "structeosio_1_1asset_a0b6c8ba10eedc0129364fc910e840d7f.html#a0b6c8ba10eedc0129364fc910e840d7f", null ], + [ "to_string", "structeosio_1_1asset_a1c0dbeb4348006fa622e2b5d06431554.html#a1c0dbeb4348006fa622e2b5d06431554", null ], + [ "write_as_string", "structeosio_1_1asset_a5e90d7716bca208014477a1e9c9af7dc.html#a5e90d7716bca208014477a1e9c9af7dc", null ], + [ "amount", "structeosio_1_1asset_ac76c16a58851550706c6709698ed7255.html#ac76c16a58851550706c6709698ed7255", null ], + [ "symbol", "structeosio_1_1asset_a374520d98a22f5a89a26025154944756.html#a374520d98a22f5a89a26025154944756", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1asset_a0b6c8ba10eedc0129364fc910e840d7f.html b/docs/cdt/structeosio_1_1asset_a0b6c8ba10eedc0129364fc910e840d7f.html new file mode 100644 index 000000000..51b4d12aa --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_a0b6c8ba10eedc0129364fc910e840d7f.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::set_amount + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ set_amount()

    + +
    +
    + + + + + +
    + + + + + + + + +
    void eosio::asset::set_amount (int64_t a)
    +
    +inline
    +
    +

    Задаёт количество актива

    +
    Аргументы
    + + +
    a— новое количество
    +
    +
    + +

    См. определение в файле asset.hpp строка 78

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset_a111a52097d1761898d5641536c308416.html b/docs/cdt/structeosio_1_1asset_a111a52097d1761898d5641536c308416.html new file mode 100644 index 000000000..c31e3ab56 --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_a111a52097d1761898d5641536c308416.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::print + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ print()

    + +
    +
    + + + + + +
    + + + + + + + +
    void eosio::asset::print () const
    +
    +inline
    +
    + +

    Вывод asset.

    +

    Вывод актива (печать в лог контракта COOPOS)

    + +

    См. определение в файле asset.hpp строка 374

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset_a1c0dbeb4348006fa622e2b5d06431554.html b/docs/cdt/structeosio_1_1asset_a1c0dbeb4348006fa622e2b5d06431554.html new file mode 100644 index 000000000..11a2ccb71 --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_a1c0dbeb4348006fa622e2b5d06431554.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::to_string + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_string()

    + +
    +
    + + + + + +
    + + + + + + + +
    std::string eosio::asset::to_string () const
    +
    +inline
    +
    + +

    Преобразование asset в std::string.

    +

    Преобразование asset в std::string

    + +

    См. определение в файле asset.hpp строка 360

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset_a374520d98a22f5a89a26025154944756.html b/docs/cdt/structeosio_1_1asset_a374520d98a22f5a89a26025154944756.html new file mode 100644 index 000000000..bdf0e9dbf --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_a374520d98a22f5a89a26025154944756.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::symbol + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ symbol

    + +
    +
    + + + + +
    symbol eosio::asset::symbol
    +
    +

    Символ актива

    + +

    См. определение в файле asset.hpp строка 35

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset_a478eb6a3bb302652748acfcf85738f5f.html b/docs/cdt/structeosio_1_1asset_a478eb6a3bb302652748acfcf85738f5f.html new file mode 100644 index 000000000..d58e7e4c4 --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_a478eb6a3bb302652748acfcf85738f5f.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::max_amount + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ max_amount

    + +
    +
    + + + + + +
    + + + + +
    constexpr int64_t eosio::asset::max_amount = (1LL << 62) - 1
    +
    +staticconstexpr
    +
    +

    Максимально допустимое значение количества для этого актива; ограничено 2^62 − 1

    + +

    См. определение в файле asset.hpp строка 40

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset_a5e90d7716bca208014477a1e9c9af7dc.html b/docs/cdt/structeosio_1_1asset_a5e90d7716bca208014477a1e9c9af7dc.html new file mode 100644 index 000000000..05973b67b --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_a5e90d7716bca208014477a1e9c9af7dc.html @@ -0,0 +1,210 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::write_as_string + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ write_as_string()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    char * eosio::asset::write_as_string (char * begin,
    char * end,
    bool dry_run = false 
    ) const
    +
    +inline
    +
    + +

    Записывает asset в виде строки в переданный буфер char.

    +

    Записывает представление актива в виде строки в буфер char

    +
    Предусловие
    is_valid() == true
    +
    +диапазон [begin, end) — допустимая область памяти для записи
    +
    Аргументы
    + + + + +
    begin— начало буфера
    end— конец буфера (не включая end)
    dry_run— если true, ничего не записывать, только вычислить длину
    +
    +
    +
    Возвращает
    char* — указатель сразу за последним символом, который был бы записан при dry_run == false и достаточном размере буфера (смысл только если возвращаемый указатель ≥ begin)
    +
    Постусловие
    если строка помещается в [begin, end) и dry_run == false, то [begin, возврат) содержит строковое представление актива; при dry_run == true, недостаточном месте или переполнении при расчёте конца запись не выполняется
    + +

    См. определение в файле asset.hpp строка 335

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset_a815b58378c8849fbb2a68f288edf5f31.html b/docs/cdt/structeosio_1_1asset_a815b58378c8849fbb2a68f288edf5f31.html new file mode 100644 index 000000000..78555227a --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_a815b58378c8849fbb2a68f288edf5f31.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::is_amount_within_range + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ is_amount_within_range()

    + +
    +
    + + + + + +
    + + + + + + + +
    bool eosio::asset::is_amount_within_range () const
    +
    +inline
    +
    +

    Проверяет, что количество не выходит за пределы максимума

    +
    Возвращает
    true — количество в допустимом диапазоне
    +
    +false — иначе
    + +

    См. определение в файле asset.hpp строка 63

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset_aa2e8739bf534ea99199d121143ca7a0a.html b/docs/cdt/structeosio_1_1asset_aa2e8739bf534ea99199d121143ca7a0a.html new file mode 100644 index 000000000..463337ee5 --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_aa2e8739bf534ea99199d121143ca7a0a.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::is_valid + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ is_valid()

    + +
    +
    + + + + + +
    + + + + + + + +
    bool eosio::asset::is_valid () const
    +
    +inline
    +
    +

    Проверяет корректность актива. Корректный актив: количество ≤ max_amount и допустимый символ

    +
    Возвращает
    true — актив корректен
    +
    +false — иначе
    + +

    См. определение в файле asset.hpp строка 71

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset_abb4cf1f370bb101c7d61910ff45d6b55.html b/docs/cdt/structeosio_1_1asset_abb4cf1f370bb101c7d61910ff45d6b55.html new file mode 100644 index 000000000..5cf34678f --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_abb4cf1f370bb101c7d61910ff45d6b55.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::asset + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ asset() [2/2]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    eosio::asset::asset (int64_t a,
    class symbol s 
    )
    +
    +inline
    +
    +

    Создаёт новый актив по символу и количеству

    +
    Аргументы
    + + + +
    a— количество актива
    s— символ
    +
    +
    + +

    См. определение в файле asset.hpp строка 50

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset_abdde8d4b53c1b8f1027ab6cb2b13b845.html b/docs/cdt/structeosio_1_1asset_abdde8d4b53c1b8f1027ab6cb2b13b845.html new file mode 100644 index 000000000..026873fc9 --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_abdde8d4b53c1b8f1027ab6cb2b13b845.html @@ -0,0 +1,177 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::asset + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ asset() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + +
    eosio::asset::asset ()
    +
    +inline
    +
    + +

    См. определение в файле asset.hpp строка 42

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1asset_ac76c16a58851550706c6709698ed7255.html b/docs/cdt/structeosio_1_1asset_ac76c16a58851550706c6709698ed7255.html new file mode 100644 index 000000000..be53b3e9b --- /dev/null +++ b/docs/cdt/structeosio_1_1asset_ac76c16a58851550706c6709698ed7255.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::asset::amount + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ amount

    + +
    +
    + + + + +
    int64_t eosio::asset::amount = 0
    +
    +

    Количество актива

    + +

    См. определение в файле asset.hpp строка 30

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1block__signing__authority__v0-members.html b/docs/cdt/structeosio_1_1block__signing__authority__v0-members.html new file mode 100644 index 000000000..cbb642731 --- /dev/null +++ b/docs/cdt/structeosio_1_1block__signing__authority__v0-members.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::block_signing_authority_v0 Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::block_signing_authority_v0, включая наследуемые из базового класса

    + + + + + +
    CDT_REFLECT(threshold, keys)eosio::block_signing_authority_v0
    is_valid() consteosio::block_signing_authority_v0
    keyseosio::block_signing_authority_v0
    thresholdeosio::block_signing_authority_v0
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1block__signing__authority__v0.html b/docs/cdt/structeosio_1_1block__signing__authority__v0.html new file mode 100644 index 000000000..248e056de --- /dev/null +++ b/docs/cdt/structeosio_1_1block__signing__authority__v0.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::block_signing_authority_v0 + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    взвешенное пороговое полномочие с несколькими подписями (multi-sig) + Подробнее...

    + +

    #include <producer_schedule.hpp>

    + + + + + + +

    +Открытые члены

    bool is_valid () const
     
     CDT_REFLECT (threshold, keys)
     
    + + + + + + + +

    +Открытые атрибуты

    uint32_t threshold
     минимальный порог суммы весов компонентных ключей, при котором полномочие считается удовлетворённым Подробнее...
     
    std::vector< key_weightkeys
     компонентные ключи и связанные с ними веса Подробнее...
     
    +

    Подробное описание

    +

    взвешенное пороговое полномочие с несколькими подписями (multi-sig)

    +

    Полномочие подписи блока, версия 0: взвешенный пороговый multi-sig на производителя

    + +

    См. определение в файле producer_schedule.hpp строка 110

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1block__signing__authority__v0.js b/docs/cdt/structeosio_1_1block__signing__authority__v0.js new file mode 100644 index 000000000..b106e9c9e --- /dev/null +++ b/docs/cdt/structeosio_1_1block__signing__authority__v0.js @@ -0,0 +1,7 @@ +var structeosio_1_1block__signing__authority__v0 = +[ + [ "CDT_REFLECT", "structeosio_1_1block__signing__authority__v0_ac69f3c98104be7264396dd0e9af3706f.html#ac69f3c98104be7264396dd0e9af3706f", null ], + [ "is_valid", "structeosio_1_1block__signing__authority__v0_aace9f3212e4df0db2511059a9c876886.html#aace9f3212e4df0db2511059a9c876886", null ], + [ "keys", "structeosio_1_1block__signing__authority__v0_a3f0b70b44704cf738489e64cc6706859.html#a3f0b70b44704cf738489e64cc6706859", null ], + [ "threshold", "structeosio_1_1block__signing__authority__v0_a9bd0140a33077b4179de56132205ebdd.html#a9bd0140a33077b4179de56132205ebdd", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1block__signing__authority__v0_a3f0b70b44704cf738489e64cc6706859.html b/docs/cdt/structeosio_1_1block__signing__authority__v0_a3f0b70b44704cf738489e64cc6706859.html new file mode 100644 index 000000000..48b5dc7e3 --- /dev/null +++ b/docs/cdt/structeosio_1_1block__signing__authority__v0_a3f0b70b44704cf738489e64cc6706859.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_signing_authority_v0::keys + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ keys

    + +
    +
    + + + + +
    std::vector<key_weight> eosio::block_signing_authority_v0::keys
    +
    + +

    компонентные ключи и связанные с ними веса

    +

    Компонентные ключи и связанные с ними веса

    + +

    См. определение в файле producer_schedule.hpp строка 123

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1block__signing__authority__v0_a9bd0140a33077b4179de56132205ebdd.html b/docs/cdt/structeosio_1_1block__signing__authority__v0_a9bd0140a33077b4179de56132205ebdd.html new file mode 100644 index 000000000..7d96a6849 --- /dev/null +++ b/docs/cdt/structeosio_1_1block__signing__authority__v0_a9bd0140a33077b4179de56132205ebdd.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_signing_authority_v0::threshold + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ threshold

    + +
    +
    + + + + +
    uint32_t eosio::block_signing_authority_v0::threshold
    +
    + +

    минимальный порог суммы весов компонентных ключей, при котором полномочие считается удовлетворённым

    +

    Минимальный порог суммы весов компонентных ключей, при котором полномочие считается удовлетворённым

    + +

    См. определение в файле producer_schedule.hpp строка 116

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1block__signing__authority__v0_aace9f3212e4df0db2511059a9c876886.html b/docs/cdt/structeosio_1_1block__signing__authority__v0_aace9f3212e4df0db2511059a9c876886.html new file mode 100644 index 000000000..6dde03380 --- /dev/null +++ b/docs/cdt/structeosio_1_1block__signing__authority__v0_aace9f3212e4df0db2511059a9c876886.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_signing_authority_v0::is_valid + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ is_valid()

    + +
    +
    + + + + + + + +
    bool eosio::block_signing_authority_v0::is_valid () const
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1block__signing__authority__v0_ac69f3c98104be7264396dd0e9af3706f.html b/docs/cdt/structeosio_1_1block__signing__authority__v0_ac69f3c98104be7264396dd0e9af3706f.html new file mode 100644 index 000000000..0e442bd34 --- /dev/null +++ b/docs/cdt/structeosio_1_1block__signing__authority__v0_ac69f3c98104be7264396dd0e9af3706f.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::block_signing_authority_v0::CDT_REFLECT + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ CDT_REFLECT()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    eosio::block_signing_authority_v0::CDT_REFLECT (threshold ,
    keys  
    )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters-members.html b/docs/cdt/structeosio_1_1blockchain__parameters-members.html new file mode 100644 index 000000000..e7536ef6d --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters-members.html @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters.html b/docs/cdt/structeosio_1_1blockchain__parameters.html new file mode 100644 index 000000000..7c3892f6f --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters.html @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::blockchain_parameters + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <privileged.hpp>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Открытые атрибуты

    uint64_t max_block_net_usage
     максимальное использование сети в инструкциях для блока Подробнее...
     
    uint32_t target_block_net_usage_pct
     целевой процент (1% == 100, 100% == 10 000) от максимального использования сети; превышение включает обработку перегрузки Подробнее...
     
    uint32_t max_transaction_net_usage
     максимальное объективно измеряемое использование сети, которое цепочка допускает независимо от лимитов аккаунтов Подробнее...
     
    uint32_t base_per_transaction_net_usage
     
    uint32_t net_usage_leeway
     запас по использованию сети при выполнении транзакции (в конце транзакции проверка всё равно выполняется по новым лимитам без запаса) Подробнее...
     
    uint32_t context_free_discount_net_usage_num
     числитель скидки на использование сети для данных без контекста (context-free) Подробнее...
     
    uint32_t context_free_discount_net_usage_den
     знаменатель скидки на использование сети для данных без контекста (context-free) Подробнее...
     
    uint32_t max_block_cpu_usage
     максимальная тарифицируемая нагрузка CPU (в микросекундах) для блока Подробнее...
     
    uint32_t target_block_cpu_usage_pct
     целевой процент (1% == 100, 100% == 10 000) от максимального использования CPU; превышение включает обработку перегрузки Подробнее...
     
    uint32_t max_transaction_cpu_usage
     максимальная тарифицируемая нагрузка CPU (в микросекундах), которую цепочка допускает независимо от лимитов аккаунтов Подробнее...
     
    uint32_t min_transaction_cpu_usage
     минимальная тарифицируемая нагрузка CPU (в микросекундах), которую требует цепочка Подробнее...
     
    uint32_t max_transaction_lifetime
     максимальное время жизни транзакции Подробнее...
     
    uint32_t deferred_trx_expiration_window
     число секунд от момента, когда отложенная транзакция может впервые выполниться, до её истечения Подробнее...
     
    uint32_t max_transaction_delay
     максимальное число секунд задержки, которое могут потребовать проверки авторизации Подробнее...
     
    uint32_t max_inline_action_size
     максимальный размер встроенного (inline) действия Подробнее...
     
    uint16_t max_inline_action_depth
     максимальная глубина вложенности встроенных (inline) действий Подробнее...
     
    uint16_t max_authority_depth
     максимальная глубина полномочий (authority) Подробнее...
     
    +

    Подробное описание

    +

    Настраиваемые параметры цепочки COOPOS, изменяемые по консенсусу

    + +

    См. определение в файле privileged.hpp строка 54

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters.js b/docs/cdt/structeosio_1_1blockchain__parameters.js new file mode 100644 index 000000000..a4b48bf88 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters.js @@ -0,0 +1,20 @@ +var structeosio_1_1blockchain__parameters = +[ + [ "base_per_transaction_net_usage", "structeosio_1_1blockchain__parameters_a944e5020392feb3aa43452db31dd6c53.html#a944e5020392feb3aa43452db31dd6c53", null ], + [ "context_free_discount_net_usage_den", "structeosio_1_1blockchain__parameters_a34aa31b25c026f190097d3b66b5d8b28.html#a34aa31b25c026f190097d3b66b5d8b28", null ], + [ "context_free_discount_net_usage_num", "structeosio_1_1blockchain__parameters_a8ee23aba0c372b7d62b18e749e0e8798.html#a8ee23aba0c372b7d62b18e749e0e8798", null ], + [ "deferred_trx_expiration_window", "structeosio_1_1blockchain__parameters_a8cf445a327ffb230b9751f3b6764efaa.html#a8cf445a327ffb230b9751f3b6764efaa", null ], + [ "max_authority_depth", "structeosio_1_1blockchain__parameters_aef65360380b879d1782d0b202b96c776.html#aef65360380b879d1782d0b202b96c776", null ], + [ "max_block_cpu_usage", "structeosio_1_1blockchain__parameters_af6a0f851f934100f4cfc5d7cce8c3542.html#af6a0f851f934100f4cfc5d7cce8c3542", null ], + [ "max_block_net_usage", "structeosio_1_1blockchain__parameters_aaffe7d6c7437826f208c68e9ee2acf65.html#aaffe7d6c7437826f208c68e9ee2acf65", null ], + [ "max_inline_action_depth", "structeosio_1_1blockchain__parameters_a2a6f29f85a765e80fab44ca4c8bf4104.html#a2a6f29f85a765e80fab44ca4c8bf4104", null ], + [ "max_inline_action_size", "structeosio_1_1blockchain__parameters_a7dbcbc6c005be48b9d42fe21ee3c034f.html#a7dbcbc6c005be48b9d42fe21ee3c034f", null ], + [ "max_transaction_cpu_usage", "structeosio_1_1blockchain__parameters_a59893f31083ea0239eff0fdb47a3e9a2.html#a59893f31083ea0239eff0fdb47a3e9a2", null ], + [ "max_transaction_delay", "structeosio_1_1blockchain__parameters_ac1ad602bce04bb7de2b83acf319605ac.html#ac1ad602bce04bb7de2b83acf319605ac", null ], + [ "max_transaction_lifetime", "structeosio_1_1blockchain__parameters_ae9595da087ba46dbada5f785ec9191e6.html#ae9595da087ba46dbada5f785ec9191e6", null ], + [ "max_transaction_net_usage", "structeosio_1_1blockchain__parameters_a07d6c92013fce008071d9b610544c4c6.html#a07d6c92013fce008071d9b610544c4c6", null ], + [ "min_transaction_cpu_usage", "structeosio_1_1blockchain__parameters_a5c15c7c28e28d93183e85639ddd3dd83.html#a5c15c7c28e28d93183e85639ddd3dd83", null ], + [ "net_usage_leeway", "structeosio_1_1blockchain__parameters_a5066e04cd3a3d74459e810d253c29ebf.html#a5066e04cd3a3d74459e810d253c29ebf", null ], + [ "target_block_cpu_usage_pct", "structeosio_1_1blockchain__parameters_aa8e6bff1b7d255588fb31ccdf6035aba.html#aa8e6bff1b7d255588fb31ccdf6035aba", null ], + [ "target_block_net_usage_pct", "structeosio_1_1blockchain__parameters_a346f353931e0403d07e27da151a8af4d.html#a346f353931e0403d07e27da151a8af4d", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a07d6c92013fce008071d9b610544c4c6.html b/docs/cdt/structeosio_1_1blockchain__parameters_a07d6c92013fce008071d9b610544c4c6.html new file mode 100644 index 000000000..289bb5c72 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a07d6c92013fce008071d9b610544c4c6.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::max_transaction_net_usage + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ max_transaction_net_usage

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::max_transaction_net_usage
    +
    + +

    максимальное объективно измеряемое использование сети, которое цепочка допускает независимо от лимитов аккаунтов

    +

    Максимальное объективно измеряемое использование сети, которое цепочка COOPOS допускает независимо от лимитов аккаунтов

    + +

    См. определение в файле privileged.hpp строка 72

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a2a6f29f85a765e80fab44ca4c8bf4104.html b/docs/cdt/structeosio_1_1blockchain__parameters_a2a6f29f85a765e80fab44ca4c8bf4104.html new file mode 100644 index 000000000..7090db328 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a2a6f29f85a765e80fab44ca4c8bf4104.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::max_inline_action_depth + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ max_inline_action_depth

    + +
    +
    + + + + +
    uint16_t eosio::blockchain_parameters::max_inline_action_depth
    +
    + +

    максимальная глубина вложенности встроенных (inline) действий

    +

    Максимальная глубина вложенности встроенных (inline) действий

    + +

    См. определение в файле privileged.hpp строка 150

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a346f353931e0403d07e27da151a8af4d.html b/docs/cdt/structeosio_1_1blockchain__parameters_a346f353931e0403d07e27da151a8af4d.html new file mode 100644 index 000000000..32aa3ff73 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a346f353931e0403d07e27da151a8af4d.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::target_block_net_usage_pct + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ target_block_net_usage_pct

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::target_block_net_usage_pct
    +
    + +

    целевой процент (1% == 100, 100% == 10 000) от максимального использования сети; превышение включает обработку перегрузки

    +

    Целевой процент (1% == 100, 100% == 10 000) от максимального использования сети; при превышении включается обработка перегрузки

    + +

    См. определение в файле privileged.hpp строка 66

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a34aa31b25c026f190097d3b66b5d8b28.html b/docs/cdt/structeosio_1_1blockchain__parameters_a34aa31b25c026f190097d3b66b5d8b28.html new file mode 100644 index 000000000..61a0f743e --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a34aa31b25c026f190097d3b66b5d8b28.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::context_free_discount_net_usage_den + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ context_free_discount_net_usage_den

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::context_free_discount_net_usage_den
    +
    + +

    знаменатель скидки на использование сети для данных без контекста (context-free)

    +

    Знаменатель скидки на использование сети для данных без контекста (context-free)

    + +

    См. определение в файле privileged.hpp строка 95

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a5066e04cd3a3d74459e810d253c29ebf.html b/docs/cdt/structeosio_1_1blockchain__parameters_a5066e04cd3a3d74459e810d253c29ebf.html new file mode 100644 index 000000000..99d99ef5a --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a5066e04cd3a3d74459e810d253c29ebf.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::net_usage_leeway + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ net_usage_leeway

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::net_usage_leeway
    +
    + +

    запас по использованию сети при выполнении транзакции (в конце транзакции проверка всё равно выполняется по новым лимитам без запаса)

    +

    Запас по использованию сети при выполнении транзакции (в конце транзакции проверка выполняется по новым лимитам без запаса)

    + +

    См. определение в файле privileged.hpp строка 83

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a59893f31083ea0239eff0fdb47a3e9a2.html b/docs/cdt/structeosio_1_1blockchain__parameters_a59893f31083ea0239eff0fdb47a3e9a2.html new file mode 100644 index 000000000..0edac93a0 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a59893f31083ea0239eff0fdb47a3e9a2.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::max_transaction_cpu_usage + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ max_transaction_cpu_usage

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::max_transaction_cpu_usage
    +
    + +

    максимальная тарифицируемая нагрузка CPU (в микросекундах), которую цепочка допускает независимо от лимитов аккаунтов

    +

    Максимальная тарифицируемая нагрузка CPU (в микросекундах), которую цепочка COOPOS допускает независимо от лимитов аккаунтов

    + +

    См. определение в файле privileged.hpp строка 113

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a5c15c7c28e28d93183e85639ddd3dd83.html b/docs/cdt/structeosio_1_1blockchain__parameters_a5c15c7c28e28d93183e85639ddd3dd83.html new file mode 100644 index 000000000..dbaf8d996 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a5c15c7c28e28d93183e85639ddd3dd83.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::min_transaction_cpu_usage + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ min_transaction_cpu_usage

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::min_transaction_cpu_usage
    +
    + +

    минимальная тарифицируемая нагрузка CPU (в микросекундах), которую требует цепочка

    +

    Минимальная тарифицируемая нагрузка CPU (в микросекундах), которую требует цепочка COOPOS

    + +

    См. определение в файле privileged.hpp строка 119

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a7dbcbc6c005be48b9d42fe21ee3c034f.html b/docs/cdt/structeosio_1_1blockchain__parameters_a7dbcbc6c005be48b9d42fe21ee3c034f.html new file mode 100644 index 000000000..13d8865c0 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a7dbcbc6c005be48b9d42fe21ee3c034f.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::max_inline_action_size + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ max_inline_action_size

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::max_inline_action_size
    +
    + +

    максимальный размер встроенного (inline) действия

    +

    Максимальный размер встроенного (inline) действия

    + +

    См. определение в файле privileged.hpp строка 144

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a8cf445a327ffb230b9751f3b6764efaa.html b/docs/cdt/structeosio_1_1blockchain__parameters_a8cf445a327ffb230b9751f3b6764efaa.html new file mode 100644 index 000000000..07e1be494 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a8cf445a327ffb230b9751f3b6764efaa.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::deferred_trx_expiration_window + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ deferred_trx_expiration_window

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::deferred_trx_expiration_window
    +
    + +

    число секунд от момента, когда отложенная транзакция может впервые выполниться, до её истечения

    +

    Число секунд от момента, когда отложенная транзакция может впервые выполниться, до её истечения

    + +

    См. определение в файле privileged.hpp строка 131

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a8ee23aba0c372b7d62b18e749e0e8798.html b/docs/cdt/structeosio_1_1blockchain__parameters_a8ee23aba0c372b7d62b18e749e0e8798.html new file mode 100644 index 000000000..548418746 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a8ee23aba0c372b7d62b18e749e0e8798.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::context_free_discount_net_usage_num + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ context_free_discount_net_usage_num

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::context_free_discount_net_usage_num
    +
    + +

    числитель скидки на использование сети для данных без контекста (context-free)

    +

    Числитель скидки на использование сети для данных без контекста (context-free)

    + +

    См. определение в файле privileged.hpp строка 89

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_a944e5020392feb3aa43452db31dd6c53.html b/docs/cdt/structeosio_1_1blockchain__parameters_a944e5020392feb3aa43452db31dd6c53.html new file mode 100644 index 000000000..9837c202e --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_a944e5020392feb3aa43452db31dd6c53.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::base_per_transaction_net_usage + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ base_per_transaction_net_usage

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::base_per_transaction_net_usage
    +
    +

    Базовый объём использования сети, тарифицируемый для транзакции (накладные расходы)

    + +

    См. определение в файле privileged.hpp строка 77

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_aa8e6bff1b7d255588fb31ccdf6035aba.html b/docs/cdt/structeosio_1_1blockchain__parameters_aa8e6bff1b7d255588fb31ccdf6035aba.html new file mode 100644 index 000000000..c54d01072 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_aa8e6bff1b7d255588fb31ccdf6035aba.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::target_block_cpu_usage_pct + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ target_block_cpu_usage_pct

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::target_block_cpu_usage_pct
    +
    + +

    целевой процент (1% == 100, 100% == 10 000) от максимального использования CPU; превышение включает обработку перегрузки

    +

    Целевой процент (1% == 100, 100% == 10 000) от максимального использования CPU; при превышении включается обработка перегрузки

    + +

    См. определение в файле privileged.hpp строка 107

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_aaffe7d6c7437826f208c68e9ee2acf65.html b/docs/cdt/structeosio_1_1blockchain__parameters_aaffe7d6c7437826f208c68e9ee2acf65.html new file mode 100644 index 000000000..4ccf1a50e --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_aaffe7d6c7437826f208c68e9ee2acf65.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::max_block_net_usage + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ max_block_net_usage

    + +
    +
    + + + + +
    uint64_t eosio::blockchain_parameters::max_block_net_usage
    +
    + +

    максимальное использование сети в инструкциях для блока

    +

    Максимальное использование сети в инструкциях для блока

    + +

    См. определение в файле privileged.hpp строка 60

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_ac1ad602bce04bb7de2b83acf319605ac.html b/docs/cdt/structeosio_1_1blockchain__parameters_ac1ad602bce04bb7de2b83acf319605ac.html new file mode 100644 index 000000000..da1893c69 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_ac1ad602bce04bb7de2b83acf319605ac.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::max_transaction_delay + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ max_transaction_delay

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::max_transaction_delay
    +
    + +

    максимальное число секунд задержки, которое могут потребовать проверки авторизации

    +

    Максимальное число секунд задержки, которое могут потребовать проверки авторизации

    + +

    См. определение в файле privileged.hpp строка 138

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_ae9595da087ba46dbada5f785ec9191e6.html b/docs/cdt/structeosio_1_1blockchain__parameters_ae9595da087ba46dbada5f785ec9191e6.html new file mode 100644 index 000000000..50d6bf435 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_ae9595da087ba46dbada5f785ec9191e6.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::max_transaction_lifetime + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ max_transaction_lifetime

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::max_transaction_lifetime
    +
    + +

    максимальное время жизни транзакции

    +

    Максимальное время жизни транзакции

    + +

    См. определение в файле privileged.hpp строка 125

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_aef65360380b879d1782d0b202b96c776.html b/docs/cdt/structeosio_1_1blockchain__parameters_aef65360380b879d1782d0b202b96c776.html new file mode 100644 index 000000000..895b048d8 --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_aef65360380b879d1782d0b202b96c776.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::max_authority_depth + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ max_authority_depth

    + +
    +
    + + + + +
    uint16_t eosio::blockchain_parameters::max_authority_depth
    +
    + +

    максимальная глубина полномочий (authority)

    +

    Максимальная глубина полномочий (authority)

    + +

    См. определение в файле privileged.hpp строка 156

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1blockchain__parameters_af6a0f851f934100f4cfc5d7cce8c3542.html b/docs/cdt/structeosio_1_1blockchain__parameters_af6a0f851f934100f4cfc5d7cce8c3542.html new file mode 100644 index 000000000..1baf5586d --- /dev/null +++ b/docs/cdt/structeosio_1_1blockchain__parameters_af6a0f851f934100f4cfc5d7cce8c3542.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::blockchain_parameters::max_block_cpu_usage + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ max_block_cpu_usage

    + +
    +
    + + + + +
    uint32_t eosio::blockchain_parameters::max_block_cpu_usage
    +
    + +

    максимальная тарифицируемая нагрузка CPU (в микросекундах) для блока

    +

    Максимальная тарифицируемая нагрузка CPU (в микросекундах) для блока

    + +

    См. определение в файле privileged.hpp строка 101

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1code__hash__result-members.html b/docs/cdt/structeosio_1_1code__hash__result-members.html new file mode 100644 index 000000000..28e1f6ced --- /dev/null +++ b/docs/cdt/structeosio_1_1code__hash__result-members.html @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::code_hash_result Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::code_hash_result, включая наследуемые из базового класса

    + + + + + + + + +
    CDT_REFLECT(struct_version, code_sequence, code_hash, vm_type, vm_version)eosio::code_hash_result
    code_hasheosio::code_hash_result
    code_sequenceeosio::code_hash_result
    EOSLIB_SERIALIZE(code_hash_result,(struct_version)(code_sequence)(code_hash)(vm_type)(vm_version))eosio::code_hash_result
    struct_versioneosio::code_hash_result
    vm_typeeosio::code_hash_result
    vm_versioneosio::code_hash_result
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1code__hash__result.html b/docs/cdt/structeosio_1_1code__hash__result.html new file mode 100644 index 000000000..a46df593d --- /dev/null +++ b/docs/cdt/structeosio_1_1code__hash__result.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::code_hash_result + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <action.hpp>

    + + + + + + +

    +Открытые члены

     CDT_REFLECT (struct_version, code_sequence, code_hash, vm_type, vm_version)
     
     EOSLIB_SERIALIZE (code_hash_result,(struct_version)(code_sequence)(code_hash)(vm_type)(vm_version))
     
    + + + + + + + + + + + +

    +Открытые атрибуты

    unsigned_int struct_version
     
    uint64_t code_sequence
     
    checksum256 code_hash
     
    uint8_t vm_type
     
    uint8_t vm_version
     
    +

    Подробное описание

    +
    +

    См. определение в файле action.hpp строка 58

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1code__hash__result.js b/docs/cdt/structeosio_1_1code__hash__result.js new file mode 100644 index 000000000..3329adf45 --- /dev/null +++ b/docs/cdt/structeosio_1_1code__hash__result.js @@ -0,0 +1,10 @@ +var structeosio_1_1code__hash__result = +[ + [ "CDT_REFLECT", "structeosio_1_1code__hash__result_ac41b77f5fb3e7ca7004af3701c411976.html#ac41b77f5fb3e7ca7004af3701c411976", null ], + [ "EOSLIB_SERIALIZE", "structeosio_1_1code__hash__result_abff001c3c3671f6a82fa61136db62808.html#abff001c3c3671f6a82fa61136db62808", null ], + [ "code_hash", "structeosio_1_1code__hash__result_aac6982ead02d5a1cd8a1213155b87857.html#aac6982ead02d5a1cd8a1213155b87857", null ], + [ "code_sequence", "structeosio_1_1code__hash__result_aaf166f0f802cc87adc9f5986e191d051.html#aaf166f0f802cc87adc9f5986e191d051", null ], + [ "struct_version", "structeosio_1_1code__hash__result_a7dc9ef8535a1a92d5a12945c023c1563.html#a7dc9ef8535a1a92d5a12945c023c1563", null ], + [ "vm_type", "structeosio_1_1code__hash__result_a94c531f9b7fa14078b54df9bb892d5fa.html#a94c531f9b7fa14078b54df9bb892d5fa", null ], + [ "vm_version", "structeosio_1_1code__hash__result_a3c9159cb77ce8d15b1a0e5bfe73ffcbb.html#a3c9159cb77ce8d15b1a0e5bfe73ffcbb", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1code__hash__result_a3c9159cb77ce8d15b1a0e5bfe73ffcbb.html b/docs/cdt/structeosio_1_1code__hash__result_a3c9159cb77ce8d15b1a0e5bfe73ffcbb.html new file mode 100644 index 000000000..5fe1f0d50 --- /dev/null +++ b/docs/cdt/structeosio_1_1code__hash__result_a3c9159cb77ce8d15b1a0e5bfe73ffcbb.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::code_hash_result::vm_version + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ vm_version

    + +
    +
    + + + + +
    uint8_t eosio::code_hash_result::vm_version
    +
    + +

    См. определение в файле action.hpp строка 63

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1code__hash__result_a7dc9ef8535a1a92d5a12945c023c1563.html b/docs/cdt/structeosio_1_1code__hash__result_a7dc9ef8535a1a92d5a12945c023c1563.html new file mode 100644 index 000000000..444ec00ad --- /dev/null +++ b/docs/cdt/structeosio_1_1code__hash__result_a7dc9ef8535a1a92d5a12945c023c1563.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::code_hash_result::struct_version + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ struct_version

    + +
    +
    + + + + +
    unsigned_int eosio::code_hash_result::struct_version
    +
    + +

    См. определение в файле action.hpp строка 59

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1code__hash__result_a94c531f9b7fa14078b54df9bb892d5fa.html b/docs/cdt/structeosio_1_1code__hash__result_a94c531f9b7fa14078b54df9bb892d5fa.html new file mode 100644 index 000000000..a02ce1599 --- /dev/null +++ b/docs/cdt/structeosio_1_1code__hash__result_a94c531f9b7fa14078b54df9bb892d5fa.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::code_hash_result::vm_type + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ vm_type

    + +
    +
    + + + + +
    uint8_t eosio::code_hash_result::vm_type
    +
    + +

    См. определение в файле action.hpp строка 62

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1code__hash__result_aac6982ead02d5a1cd8a1213155b87857.html b/docs/cdt/structeosio_1_1code__hash__result_aac6982ead02d5a1cd8a1213155b87857.html new file mode 100644 index 000000000..e02e12aaa --- /dev/null +++ b/docs/cdt/structeosio_1_1code__hash__result_aac6982ead02d5a1cd8a1213155b87857.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::code_hash_result::code_hash + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ code_hash

    + +
    +
    + + + + +
    checksum256 eosio::code_hash_result::code_hash
    +
    + +

    См. определение в файле action.hpp строка 61

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1code__hash__result_aaf166f0f802cc87adc9f5986e191d051.html b/docs/cdt/structeosio_1_1code__hash__result_aaf166f0f802cc87adc9f5986e191d051.html new file mode 100644 index 000000000..0a6833f08 --- /dev/null +++ b/docs/cdt/structeosio_1_1code__hash__result_aaf166f0f802cc87adc9f5986e191d051.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::code_hash_result::code_sequence + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ code_sequence

    + +
    +
    + + + + +
    uint64_t eosio::code_hash_result::code_sequence
    +
    + +

    См. определение в файле action.hpp строка 60

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1code__hash__result_abff001c3c3671f6a82fa61136db62808.html b/docs/cdt/structeosio_1_1code__hash__result_abff001c3c3671f6a82fa61136db62808.html new file mode 100644 index 000000000..6485b6ec2 --- /dev/null +++ b/docs/cdt/structeosio_1_1code__hash__result_abff001c3c3671f6a82fa61136db62808.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::code_hash_result::EOSLIB_SERIALIZE + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ EOSLIB_SERIALIZE()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    eosio::code_hash_result::EOSLIB_SERIALIZE (code_hash_result ,
    (struct_version)(code_sequence)(code_hash)(vm_type)(vm_version 
    )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1code__hash__result_ac41b77f5fb3e7ca7004af3701c411976.html b/docs/cdt/structeosio_1_1code__hash__result_ac41b77f5fb3e7ca7004af3701c411976.html new file mode 100644 index 000000000..fafa9063c --- /dev/null +++ b/docs/cdt/structeosio_1_1code__hash__result_ac41b77f5fb3e7ca7004af3701c411976.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::code_hash_result::CDT_REFLECT + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ CDT_REFLECT()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    eosio::code_hash_result::CDT_REFLECT (struct_version ,
    code_sequence ,
    code_hash ,
    vm_type ,
    vm_version  
    )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1const__mem__fun-members.html b/docs/cdt/structeosio_1_1const__mem__fun-members.html new file mode 100644 index 000000000..dbcce39bf --- /dev/null +++ b/docs/cdt/structeosio_1_1const__mem__fun-members.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::const_mem_fun< Class, Type, PtrToMemberFunction > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::const_mem_fun< Class, Type, PtrToMemberFunction >, включая наследуемые из базового класса

    + + + + + + +
    operator()(const ChainedPtr &x) const -> std::enable_if_t<!std::is_convertible< const ChainedPtr &, const Class & >::value, Type >eosio::const_mem_fun< Class, Type, PtrToMemberFunction >inline
    operator()(const Class &x) consteosio::const_mem_fun< Class, Type, PtrToMemberFunction >inline
    operator()(const std::reference_wrapper< const Class > &x) consteosio::const_mem_fun< Class, Type, PtrToMemberFunction >inline
    operator()(const std::reference_wrapper< Class > &x) consteosio::const_mem_fun< Class, Type, PtrToMemberFunction >inline
    result_type typedefeosio::const_mem_fun< Class, Type, PtrToMemberFunction >
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1const__mem__fun.html b/docs/cdt/structeosio_1_1const__mem__fun.html new file mode 100644 index 000000000..c4586635d --- /dev/null +++ b/docs/cdt/structeosio_1_1const__mem__fun.html @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::const_mem_fun< Class, Type, PtrToMemberFunction > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Шаблон структуры eosio::const_mem_fun< Class, Type, PtrToMemberFunction >
    +
    +
    + +

    #include <multi_index.hpp>

    + + + + +

    +Открытые типы

    typedef std::remove_reference< Type >::type result_type
     
    + + + + + + + + + + +

    +Открытые члены

    template<typename ChainedPtr >
    auto operator() (const ChainedPtr &x) const -> std::enable_if_t<!std::is_convertible< const ChainedPtr &, const Class & >::value, Type >
     
    Type operator() (const Class &x) const
     
    Type operator() (const std::reference_wrapper< const Class > &x) const
     
    Type operator() (const std::reference_wrapper< Class > &x) const
     
    +

    Подробное описание

    +
    template<class Class, typename Type, Type(Class::*)() const PtrToMemberFunction>
    +struct eosio::const_mem_fun< Class, Type, PtrToMemberFunction >
    +

    См. определение в файле multi_index.hpp строка 217

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1const__mem__fun.js b/docs/cdt/structeosio_1_1const__mem__fun.js new file mode 100644 index 000000000..e67553494 --- /dev/null +++ b/docs/cdt/structeosio_1_1const__mem__fun.js @@ -0,0 +1,8 @@ +var structeosio_1_1const__mem__fun = +[ + [ "result_type", "structeosio_1_1const__mem__fun_a12f7a54a640c4224bccfbbe401ffb16f.html#a12f7a54a640c4224bccfbbe401ffb16f", null ], + [ "operator()", "structeosio_1_1const__mem__fun_ad750b8c1fab65ea16ab50631ca9408da.html#ad750b8c1fab65ea16ab50631ca9408da", null ], + [ "operator()", "structeosio_1_1const__mem__fun_a04df970f69c75d7fc9d4949c3c0b0d19.html#a04df970f69c75d7fc9d4949c3c0b0d19", null ], + [ "operator()", "structeosio_1_1const__mem__fun_a8191e327113ef08c101ae22d495315ae.html#a8191e327113ef08c101ae22d495315ae", null ], + [ "operator()", "structeosio_1_1const__mem__fun_a35e521958c3954d0eacac56ce37153d7.html#a35e521958c3954d0eacac56ce37153d7", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1const__mem__fun_a04df970f69c75d7fc9d4949c3c0b0d19.html b/docs/cdt/structeosio_1_1const__mem__fun_a04df970f69c75d7fc9d4949c3c0b0d19.html new file mode 100644 index 000000000..f88559c9a --- /dev/null +++ b/docs/cdt/structeosio_1_1const__mem__fun_a04df970f69c75d7fc9d4949c3c0b0d19.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::const_mem_fun::operator() + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator()() [2/4]

    + +
    +
    +
    +template<class Class , typename Type , Type(Class::*)() const PtrToMemberFunction>
    + + + + + +
    + + + + + + + + +
    Type eosio::const_mem_fun< Class, Type, PtrToMemberFunction >::operator() (const Class & x) const
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 228

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1const__mem__fun_a12f7a54a640c4224bccfbbe401ffb16f.html b/docs/cdt/structeosio_1_1const__mem__fun_a12f7a54a640c4224bccfbbe401ffb16f.html new file mode 100644 index 000000000..b931bea0c --- /dev/null +++ b/docs/cdt/structeosio_1_1const__mem__fun_a12f7a54a640c4224bccfbbe401ffb16f.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::const_mem_fun::result_type + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ result_type

    + +
    +
    +
    +template<class Class , typename Type , Type(Class::*)() const PtrToMemberFunction>
    + + + + +
    typedef std::remove_reference<Type>::type eosio::const_mem_fun< Class, Type, PtrToMemberFunction >::result_type
    +
    + +

    См. определение в файле multi_index.hpp строка 219

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1const__mem__fun_a35e521958c3954d0eacac56ce37153d7.html b/docs/cdt/structeosio_1_1const__mem__fun_a35e521958c3954d0eacac56ce37153d7.html new file mode 100644 index 000000000..f8ab8f1cb --- /dev/null +++ b/docs/cdt/structeosio_1_1const__mem__fun_a35e521958c3954d0eacac56ce37153d7.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::const_mem_fun::operator() + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator()() [4/4]

    + +
    +
    +
    +template<class Class , typename Type , Type(Class::*)() const PtrToMemberFunction>
    + + + + + +
    + + + + + + + + +
    Type eosio::const_mem_fun< Class, Type, PtrToMemberFunction >::operator() (const std::reference_wrapper< const Class > & x) const
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 233

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1const__mem__fun_a8191e327113ef08c101ae22d495315ae.html b/docs/cdt/structeosio_1_1const__mem__fun_a8191e327113ef08c101ae22d495315ae.html new file mode 100644 index 000000000..8d6b2e322 --- /dev/null +++ b/docs/cdt/structeosio_1_1const__mem__fun_a8191e327113ef08c101ae22d495315ae.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::const_mem_fun::operator() + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator()() [3/4]

    + +
    +
    +
    +template<class Class , typename Type , Type(Class::*)() const PtrToMemberFunction>
    + + + + + +
    + + + + + + + + +
    Type eosio::const_mem_fun< Class, Type, PtrToMemberFunction >::operator() (const std::reference_wrapper< Class > & x) const
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 238

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1const__mem__fun_ad750b8c1fab65ea16ab50631ca9408da.html b/docs/cdt/structeosio_1_1const__mem__fun_ad750b8c1fab65ea16ab50631ca9408da.html new file mode 100644 index 000000000..99dc76cd3 --- /dev/null +++ b/docs/cdt/structeosio_1_1const__mem__fun_ad750b8c1fab65ea16ab50631ca9408da.html @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::const_mem_fun::operator() + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator()() [1/4]

    + +
    +
    +
    +template<class Class , typename Type , Type(Class::*)() const PtrToMemberFunction>
    +
    +template<typename ChainedPtr >
    + + + + + +
    + + + + + + + + +
    auto eosio::const_mem_fun< Class, Type, PtrToMemberFunction >::operator() (const ChainedPtr & x) const -> std::enable_if_t<!std::is_convertible<const ChainedPtr&, const Class&>::value, Type> +
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 223

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power-members.html b/docs/cdt/structeosio_1_1detail_1_1largest__power-members.html new file mode 100644 index 000000000..56684f704 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power-members.html @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::detail::largest_power< T, Base > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::detail::largest_power< T, Base >, включая наследуемые из базового класса

    + + + +
    exponenteosio::detail::largest_power< T, Base >static
    valueeosio::detail::largest_power< T, Base >static
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power.html b/docs/cdt/structeosio_1_1detail_1_1largest__power.html new file mode 100644 index 000000000..e13b9f817 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::detail::largest_power< T, Base > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Шаблон структуры eosio::detail::largest_power< T, Base >
    +
    +
    + +

    #include <powers.hpp>

    + + + + + + +

    +Статические открытые данные

    static constexpr T value = helper::value
     
    static constexpr uint8_t exponent = helper::exponent
     
    +

    Подробное описание

    +
    template<typename T, T Base>
    +struct eosio::detail::largest_power< T, Base >
    +

    См. определение в файле powers.hpp строка 49

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power__helper-members.html b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper-members.html new file mode 100644 index 000000000..29814c1a0 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper-members.html @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::detail::largest_power_helper< T, Base, Exponent, Value, Overflow > Cписок членов класса
    +
    + +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power__helper.html b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper.html new file mode 100644 index 000000000..f194a4bf8 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::detail::largest_power_helper< T, Base, Exponent, Value, Overflow > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Шаблон структуры eosio::detail::largest_power_helper< T, Base, Exponent, Value, Overflow >
    +
    +
    + +

    #include <powers.hpp>

    + + + + + + +

    +Статические открытые данные

    static constexpr T value = next::value
     
    static constexpr uint8_t exponent = next::exponent
     
    +

    Подробное описание

    +
    template<typename T, T Base, uint8_t Exponent, uint64_t Value, bool Overflow = (Value * Base < Value)>
    +struct eosio::detail::largest_power_helper< T, Base, Exponent, Value, Overflow >
    +

    См. определение в файле powers.hpp строка 26

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4-members.html b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4-members.html new file mode 100644 index 000000000..cd4d96398 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4-members.html @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::detail::largest_power_helper< T, Base, Exponent, Value, true > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >, включая наследуемые из базового класса

    + + + +
    exponenteosio::detail::largest_power_helper< T, Base, Exponent, Value, true >static
    valueeosio::detail::largest_power_helper< T, Base, Exponent, Value, true >static
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4.html b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4.html new file mode 100644 index 000000000..18d48b363 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::detail::largest_power_helper< T, Base, Exponent, Value, true > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Шаблон структуры eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >
    +
    +
    + +

    #include <powers.hpp>

    + + + + + + +

    +Статические открытые данные

    static constexpr T value = Value
     
    static constexpr uint8_t exponent = Exponent
     
    +

    Подробное описание

    +
    template<typename T, T Base, uint8_t Exponent, uint64_t Value>
    +struct eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >
    +

    См. определение в файле powers.hpp строка 38

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4_a646d056a1d3269d72683156bbb05b8b7.html b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4_a646d056a1d3269d72683156bbb05b8b7.html new file mode 100644 index 000000000..dad895383 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4_a646d056a1d3269d72683156bbb05b8b7.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >::value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ value

    + +
    +
    +
    +template<typename T , T Base, uint8_t Exponent, uint64_t Value>
    + + + + + +
    + + + + +
    constexpr T eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >::value = Value
    +
    +staticconstexpr
    +
    + +

    См. определение в файле powers.hpp строка 44

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4_ad44725908985e509b1a693dfa8573ae5.html b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4_ad44725908985e509b1a693dfa8573ae5.html new file mode 100644 index 000000000..f0f48adfb --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_3_01_t_00_01_base_00_01_exponent_00_01_value_00_01true_01_4_ad44725908985e509b1a693dfa8573ae5.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >::exponent + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ exponent

    + +
    +
    +
    +template<typename T , T Base, uint8_t Exponent, uint64_t Value>
    + + + + + +
    + + + + +
    constexpr uint8_t eosio::detail::largest_power_helper< T, Base, Exponent, Value, true >::exponent = Exponent
    +
    +staticconstexpr
    +
    + +

    См. определение в файле powers.hpp строка 45

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_a3dc63aed3405df72b9e8ff0754caf945.html b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_a3dc63aed3405df72b9e8ff0754caf945.html new file mode 100644 index 000000000..9816d693b --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_a3dc63aed3405df72b9e8ff0754caf945.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::largest_power_helper::exponent + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ exponent

    + +
    +
    +
    +template<typename T , T Base, uint8_t Exponent, uint64_t Value, bool Overflow = (Value * Base < Value)>
    + + + + + +
    + + + + +
    constexpr uint8_t eosio::detail::largest_power_helper< T, Base, Exponent, Value, Overflow >::exponent = next::exponent
    +
    +staticconstexpr
    +
    + +

    См. определение в файле powers.hpp строка 34

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_a51494080c1773c94ae8188fc9d1d72c9.html b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_a51494080c1773c94ae8188fc9d1d72c9.html new file mode 100644 index 000000000..488434af0 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power__helper_a51494080c1773c94ae8188fc9d1d72c9.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::largest_power_helper::value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ value

    + +
    +
    +
    +template<typename T , T Base, uint8_t Exponent, uint64_t Value, bool Overflow = (Value * Base < Value)>
    + + + + + +
    + + + + +
    constexpr T eosio::detail::largest_power_helper< T, Base, Exponent, Value, Overflow >::value = next::value
    +
    +staticconstexpr
    +
    + +

    См. определение в файле powers.hpp строка 33

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power_a1d89104c10a837261d6147c21de86b53.html b/docs/cdt/structeosio_1_1detail_1_1largest__power_a1d89104c10a837261d6147c21de86b53.html new file mode 100644 index 000000000..e8c463923 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power_a1d89104c10a837261d6147c21de86b53.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::largest_power::value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ value

    + +
    +
    +
    +template<typename T , T Base>
    + + + + + +
    + + + + +
    constexpr T eosio::detail::largest_power< T, Base >::value = helper::value
    +
    +staticconstexpr
    +
    + +

    См. определение в файле powers.hpp строка 53

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1largest__power_ab8c47a158bca2546f08a0373cbb37ebb.html b/docs/cdt/structeosio_1_1detail_1_1largest__power_ab8c47a158bca2546f08a0373cbb37ebb.html new file mode 100644 index 000000000..d115387c3 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1largest__power_ab8c47a158bca2546f08a0373cbb37ebb.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::largest_power::exponent + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ exponent

    + +
    +
    +
    +template<typename T , T Base>
    + + + + + +
    + + + + +
    constexpr uint8_t eosio::detail::largest_power< T, Base >::exponent = helper::exponent
    +
    +staticconstexpr
    +
    + +

    См. определение в файле powers.hpp строка 54

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1to__const__char__arr-members.html b/docs/cdt/structeosio_1_1detail_1_1to__const__char__arr-members.html new file mode 100644 index 000000000..78193f503 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1to__const__char__arr-members.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::detail::to_const_char_arr< Str > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::detail::to_const_char_arr< Str >, включая наследуемые из базового класса

    + + +
    valueeosio::detail::to_const_char_arr< Str >static
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1to__const__char__arr.html b/docs/cdt/structeosio_1_1detail_1_1to__const__char__arr.html new file mode 100644 index 000000000..79b0ff0da --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1to__const__char__arr.html @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::detail::to_const_char_arr< Str > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Шаблон структуры eosio::detail::to_const_char_arr< Str >
    +
    +
    + +

    #include <name.hpp>

    + + + + +

    +Статические открытые данные

    static constexpr const char value [] = {Str...}
     
    +

    Подробное описание

    +
    template<char... Str>
    +struct eosio::detail::to_const_char_arr< Str >
    +

    См. определение в файле name.hpp строка 308

    +

    Объявления и описания членов структуры находятся в файле:
      +
    • libraries/eosiolib/core/eosio/name.hpp
    • +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1detail_1_1to__const__char__arr_a71dc7a7be969ca08eb741a16c738c707.html b/docs/cdt/structeosio_1_1detail_1_1to__const__char__arr_a71dc7a7be969ca08eb741a16c738c707.html new file mode 100644 index 000000000..97fb9f1a6 --- /dev/null +++ b/docs/cdt/structeosio_1_1detail_1_1to__const__char__arr_a71dc7a7be969ca08eb741a16c738c707.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::detail::to_const_char_arr::value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ value

    + +
    +
    +
    +template<char... Str>
    + + + + + +
    + + + + +
    constexpr const char eosio::detail::to_const_char_arr< Str >::value[] = {Str...}
    +
    +staticconstexpr
    +
    + +

    См. определение в файле name.hpp строка 309

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point-members.html b/docs/cdt/structeosio_1_1ec__point-members.html new file mode 100644 index 000000000..6ea28beea --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point-members.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::ec_point< Size > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::ec_point< Size >, включая наследуемые из базового класса

    + + + + + + +
    ec_point(std::vector< char > &x_, std::vector< char > &y_)eosio::ec_point< Size >inline
    ec_point(std::vector< char > &p)eosio::ec_point< Size >inline
    serialized() consteosio::ec_point< Size >inline
    xeosio::ec_point< Size >
    yeosio::ec_point< Size >
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point.html b/docs/cdt/structeosio_1_1ec__point.html new file mode 100644 index 000000000..38360fced --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point.html @@ -0,0 +1,184 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::ec_point< Size > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <crypto_ext.hpp>

    + + + + + + + + +

    +Открытые члены

     ec_point (std::vector< char > &x_, std::vector< char > &y_)
     
     ec_point (std::vector< char > &p)
     
    std::vector< char > serialized () const
     
    + + + + + +

    +Открытые атрибуты

    std::vector< char > x
     
    std::vector< char > y
     
    +

    Подробное описание

    +
    template<std::size_t Size = 32>
    +struct eosio::ec_point< Size >

    Абстракция изменяемых точек G1 и G2

    + +

    См. определение в файле crypto_ext.hpp строка 66

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point.js b/docs/cdt/structeosio_1_1ec__point.js new file mode 100644 index 000000000..7426ab3c8 --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point.js @@ -0,0 +1,8 @@ +var structeosio_1_1ec__point = +[ + [ "ec_point", "structeosio_1_1ec__point_ab8a58360bffb655455dbe52ca73f5047.html#ab8a58360bffb655455dbe52ca73f5047", null ], + [ "ec_point", "structeosio_1_1ec__point_ad7a71307ec985cd0208b5039050a024b.html#ad7a71307ec985cd0208b5039050a024b", null ], + [ "serialized", "structeosio_1_1ec__point_a9d58791cea69d15014c97e8f4ca984a1.html#a9d58791cea69d15014c97e8f4ca984a1", null ], + [ "x", "structeosio_1_1ec__point_ac0ce980f3a4f3a910ba016449928d12e.html#ac0ce980f3a4f3a910ba016449928d12e", null ], + [ "y", "structeosio_1_1ec__point_ae2a5451275a6e0f0bc24cce013c1df1d.html#ae2a5451275a6e0f0bc24cce013c1df1d", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1ec__point__view-members.html b/docs/cdt/structeosio_1_1ec__point__view-members.html new file mode 100644 index 000000000..e0542705d --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point__view-members.html @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::ec_point_view< Size > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::ec_point_view< Size >, включая наследуемые из базового класса

    + + + + + + + + +
    ec_point_view(const char *x_, uint32_t x_size, const char *y_, uint32_t y_size)eosio::ec_point_view< Size >inline
    ec_point_view(const std::vector< char > &p)eosio::ec_point_view< Size >inline
    ec_point_view(const ec_point< Size > &p)eosio::ec_point_view< Size >inline
    serialized() consteosio::ec_point_view< Size >inline
    sizeeosio::ec_point_view< Size >
    xeosio::ec_point_view< Size >
    yeosio::ec_point_view< Size >
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point__view.html b/docs/cdt/structeosio_1_1ec__point__view.html new file mode 100644 index 000000000..01090108b --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point__view.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::ec_point_view< Size > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <crypto_ext.hpp>

    + + + + + + + + + + +

    +Открытые члены

     ec_point_view (const char *x_, uint32_t x_size, const char *y_, uint32_t y_size)
     
     ec_point_view (const std::vector< char > &p)
     
     ec_point_view (const ec_point< Size > &p)
     
    std::vector< char > serialized () const
     
    + + + + + + + +

    +Открытые атрибуты

    const char * x
     
    const char * y
     
    uint32_t size
     
    +

    Подробное описание

    +
    template<std::size_t Size = 32>
    +struct eosio::ec_point_view< Size >

    Абстракция точек G1 и G2 только для чтения

    + +

    См. определение в файле crypto_ext.hpp строка 117

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point__view.js b/docs/cdt/structeosio_1_1ec__point__view.js new file mode 100644 index 000000000..d53ec34e6 --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point__view.js @@ -0,0 +1,10 @@ +var structeosio_1_1ec__point__view = +[ + [ "ec_point_view", "structeosio_1_1ec__point__view_afefa3f51502d704de152914c137586a6.html#afefa3f51502d704de152914c137586a6", null ], + [ "ec_point_view", "structeosio_1_1ec__point__view_a219f776476a886286b805a038d50ae02.html#a219f776476a886286b805a038d50ae02", null ], + [ "ec_point_view", "structeosio_1_1ec__point__view_ab2b81ba1368af5f272b0e325043f6742.html#ab2b81ba1368af5f272b0e325043f6742", null ], + [ "serialized", "structeosio_1_1ec__point__view_a58db6d160530b793ff9313110ab7ee43.html#a58db6d160530b793ff9313110ab7ee43", null ], + [ "size", "structeosio_1_1ec__point__view_ac94bfdc2f24d787628ab6b684b7b01a0.html#ac94bfdc2f24d787628ab6b684b7b01a0", null ], + [ "x", "structeosio_1_1ec__point__view_a246d1354267f9229da09910aebed17a3.html#a246d1354267f9229da09910aebed17a3", null ], + [ "y", "structeosio_1_1ec__point__view_ab8917551a1275db02a2faf141ef2c8b7.html#ab8917551a1275db02a2faf141ef2c8b7", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1ec__point__view_a219f776476a886286b805a038d50ae02.html b/docs/cdt/structeosio_1_1ec__point__view_a219f776476a886286b805a038d50ae02.html new file mode 100644 index 000000000..6bccde340 --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point__view_a219f776476a886286b805a038d50ae02.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point_view::ec_point_view + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ ec_point_view() [2/3]

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + + +
    + + + + + + + + +
    eosio::ec_point_view< Size >::ec_point_view (const std::vector< char > & p)
    +
    +inline
    +
    +

    Создаёт представление точки из сериализованных данных

    +
    Аргументы
    + + +
    p- Сериализованная точка
    +
    +
    + +

    См. определение в файле crypto_ext.hpp строка 153

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point__view_a246d1354267f9229da09910aebed17a3.html b/docs/cdt/structeosio_1_1ec__point__view_a246d1354267f9229da09910aebed17a3.html new file mode 100644 index 000000000..2bd1045e8 --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point__view_a246d1354267f9229da09910aebed17a3.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point_view::x + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ x

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + +
    const char* eosio::ec_point_view< Size >::x
    +
    +

    Указатель на координату x

    + +

    См. определение в файле crypto_ext.hpp строка 121

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point__view_a58db6d160530b793ff9313110ab7ee43.html b/docs/cdt/structeosio_1_1ec__point__view_a58db6d160530b793ff9313110ab7ee43.html new file mode 100644 index 000000000..4c44e3f82 --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point__view_a58db6d160530b793ff9313110ab7ee43.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point_view::serialized + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ serialized()

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + + +
    + + + + + + + +
    std::vector< char > eosio::ec_point_view< Size >::serialized () const
    +
    +inline
    +
    +

    Возвращает сериализованную точку (только x и y)

    + +

    См. определение в файле crypto_ext.hpp строка 172

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point__view_ab2b81ba1368af5f272b0e325043f6742.html b/docs/cdt/structeosio_1_1ec__point__view_ab2b81ba1368af5f272b0e325043f6742.html new file mode 100644 index 000000000..e10a245bd --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point__view_ab2b81ba1368af5f272b0e325043f6742.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point_view::ec_point_view + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ ec_point_view() [3/3]

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + + +
    + + + + + + + + +
    eosio::ec_point_view< Size >::ec_point_view (const ec_point< Size > & p)
    +
    +inline
    +
    +

    Создаёт представление точки из объекта точки

    +
    Аргументы
    + + +
    p- Точка
    +
    +
    + +

    См. определение в файле crypto_ext.hpp строка 164

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point__view_ab8917551a1275db02a2faf141ef2c8b7.html b/docs/cdt/structeosio_1_1ec__point__view_ab8917551a1275db02a2faf141ef2c8b7.html new file mode 100644 index 000000000..d39620158 --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point__view_ab8917551a1275db02a2faf141ef2c8b7.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point_view::y + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ y

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + +
    const char* eosio::ec_point_view< Size >::y
    +
    +

    Указатель на координату y

    + +

    См. определение в файле crypto_ext.hpp строка 126

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point__view_ac94bfdc2f24d787628ab6b684b7b01a0.html b/docs/cdt/structeosio_1_1ec__point__view_ac94bfdc2f24d787628ab6b684b7b01a0.html new file mode 100644 index 000000000..9b9fc2ec9 --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point__view_ac94bfdc2f24d787628ab6b684b7b01a0.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point_view::size + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ size

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + +
    uint32_t eosio::ec_point_view< Size >::size
    +
    +

    Number of bytes in each of x and y

    + +

    См. определение в файле crypto_ext.hpp строка 131

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point__view_afefa3f51502d704de152914c137586a6.html b/docs/cdt/structeosio_1_1ec__point__view_afefa3f51502d704de152914c137586a6.html new file mode 100644 index 000000000..a299a3f9a --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point__view_afefa3f51502d704de152914c137586a6.html @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point_view::ec_point_view + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ ec_point_view() [1/3]

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    eosio::ec_point_view< Size >::ec_point_view (const char * x_,
    uint32_t x_size,
    const char * y_,
    uint32_t y_size 
    )
    +
    +inline
    +
    +

    Создаёт представление точки по x и y

    +
    Аргументы
    + + + + + +
    x_- Координата x, указатель на байты
    x_size- Размер x
    y_- Координата y, указатель на байты
    y_size- Размер y
    +
    +
    + +

    См. определение в файле crypto_ext.hpp строка 141

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point_a9d58791cea69d15014c97e8f4ca984a1.html b/docs/cdt/structeosio_1_1ec__point_a9d58791cea69d15014c97e8f4ca984a1.html new file mode 100644 index 000000000..4e4c41b7b --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point_a9d58791cea69d15014c97e8f4ca984a1.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point::serialized + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ serialized()

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + + +
    + + + + + + + +
    std::vector< char > eosio::ec_point< Size >::serialized () const
    +
    +inline
    +
    +

    Возвращает сериализованную точку (только x и y)

    + +

    См. определение в файле crypto_ext.hpp строка 104

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point_ab8a58360bffb655455dbe52ca73f5047.html b/docs/cdt/structeosio_1_1ec__point_ab8a58360bffb655455dbe52ca73f5047.html new file mode 100644 index 000000000..12a56d39c --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point_ab8a58360bffb655455dbe52ca73f5047.html @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point::ec_point + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ ec_point() [1/2]

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    eosio::ec_point< Size >::ec_point (std::vector< char > & x_,
    std::vector< char > & y_ 
    )
    +
    +inline
    +
    +

    Создаёт точку по координатам x и y

    +
    Аргументы
    + + + +
    x_- Координата x, вектор символов
    y_- Координата y, вектор символов
    +
    +
    + +

    См. определение в файле crypto_ext.hpp строка 83

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point_ac0ce980f3a4f3a910ba016449928d12e.html b/docs/cdt/structeosio_1_1ec__point_ac0ce980f3a4f3a910ba016449928d12e.html new file mode 100644 index 000000000..d0d108d1d --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point_ac0ce980f3a4f3a910ba016449928d12e.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point::x + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ x

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + +
    std::vector<char> eosio::ec_point< Size >::x
    +
    +

    Байты координаты x

    + +

    См. определение в файле crypto_ext.hpp строка 70

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point_ad7a71307ec985cd0208b5039050a024b.html b/docs/cdt/structeosio_1_1ec__point_ad7a71307ec985cd0208b5039050a024b.html new file mode 100644 index 000000000..3ce31b8ec --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point_ad7a71307ec985cd0208b5039050a024b.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point::ec_point + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ ec_point() [2/2]

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + + +
    + + + + + + + + +
    eosio::ec_point< Size >::ec_point (std::vector< char > & p)
    +
    +inline
    +
    +

    Создаёт точку из сериализованного представления

    +
    Аргументы
    + + +
    p- Сериализованная точка
    +
    +
    + +

    См. определение в файле crypto_ext.hpp строка 95

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ec__point_ae2a5451275a6e0f0bc24cce013c1df1d.html b/docs/cdt/structeosio_1_1ec__point_ae2a5451275a6e0f0bc24cce013c1df1d.html new file mode 100644 index 000000000..37bea561c --- /dev/null +++ b/docs/cdt/structeosio_1_1ec__point_ae2a5451275a6e0f0bc24cce013c1df1d.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ec_point::y + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ y

    + +
    +
    +
    +template<std::size_t Size = 32>
    + + + + +
    std::vector<char> eosio::ec_point< Size >::y
    +
    +

    Байты координаты y

    + +

    См. определение в файле crypto_ext.hpp строка 75

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1extended__asset-members.html b/docs/cdt/structeosio_1_1extended__asset-members.html new file mode 100644 index 000000000..4d42f1747 --- /dev/null +++ b/docs/cdt/structeosio_1_1extended__asset-members.html @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::extended_asset Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::extended_asset, включая наследуемые из базового класса

    + + + + + + + + +
    contracteosio::extended_asset
    extended_asset()=defaulteosio::extended_asset
    extended_asset(int64_t v, extended_symbol s)eosio::extended_assetinline
    extended_asset(asset a, name c)eosio::extended_assetinline
    get_extended_symbol() consteosio::extended_assetinline
    print() consteosio::extended_assetinline
    quantityeosio::extended_asset
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1extended__asset.html b/docs/cdt/structeosio_1_1extended__asset.html new file mode 100644 index 000000000..7dac27be1 --- /dev/null +++ b/docs/cdt/structeosio_1_1extended__asset.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::extended_asset + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <asset.hpp>

    + + + + + + + + + + + + +

    +Открытые члены

    extended_symbol get_extended_symbol () const
     
     extended_asset ()=default
     
     extended_asset (int64_t v, extended_symbol s)
     
     extended_asset (asset a, name c)
     
    void print () const
     
    + + + + + +

    +Открытые атрибуты

    asset quantity
     
    name contract
     
    +

    Подробное описание

    +

    Расширенный актив: количество и контракт-эмитент токена в сети COOPOS

    + +

    См. определение в файле asset.hpp строка 392

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1extended__asset.js b/docs/cdt/structeosio_1_1extended__asset.js new file mode 100644 index 000000000..0cd2f5656 --- /dev/null +++ b/docs/cdt/structeosio_1_1extended__asset.js @@ -0,0 +1,10 @@ +var structeosio_1_1extended__asset = +[ + [ "extended_asset", "structeosio_1_1extended__asset_a7747448ddea804e84fe72decd40ee3a2.html#a7747448ddea804e84fe72decd40ee3a2", null ], + [ "extended_asset", "structeosio_1_1extended__asset_a831a169f25c972af14a01e0305ab8d74.html#a831a169f25c972af14a01e0305ab8d74", null ], + [ "extended_asset", "structeosio_1_1extended__asset_a29f3c5f054f754ab4fac481cce633682.html#a29f3c5f054f754ab4fac481cce633682", null ], + [ "get_extended_symbol", "structeosio_1_1extended__asset_a7604109863c6d45bc54347c27bd632a4.html#a7604109863c6d45bc54347c27bd632a4", null ], + [ "print", "structeosio_1_1extended__asset_af5993cb01622505de48870ba728cec3b.html#af5993cb01622505de48870ba728cec3b", null ], + [ "contract", "structeosio_1_1extended__asset_acac503620c8c59864b065360fb50868b.html#acac503620c8c59864b065360fb50868b", null ], + [ "quantity", "structeosio_1_1extended__asset_aacd83a028c55e22db2e8f14027827ad7.html#aacd83a028c55e22db2e8f14027827ad7", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1extended__asset_a29f3c5f054f754ab4fac481cce633682.html b/docs/cdt/structeosio_1_1extended__asset_a29f3c5f054f754ab4fac481cce633682.html new file mode 100644 index 000000000..c00b809fe --- /dev/null +++ b/docs/cdt/structeosio_1_1extended__asset_a29f3c5f054f754ab4fac481cce633682.html @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_asset::extended_asset + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ extended_asset() [3/3]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    eosio::extended_asset::extended_asset (asset a,
    name c 
    )
    +
    +inline
    +
    +

    Создаёт расширенный актив по активу и имени контракта

    + +

    См. определение в файле asset.hpp строка 422

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1extended__asset_a7604109863c6d45bc54347c27bd632a4.html b/docs/cdt/structeosio_1_1extended__asset_a7604109863c6d45bc54347c27bd632a4.html new file mode 100644 index 000000000..c37ce64bb --- /dev/null +++ b/docs/cdt/structeosio_1_1extended__asset_a7604109863c6d45bc54347c27bd632a4.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_asset::get_extended_symbol + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ get_extended_symbol()

    + +
    +
    + + + + + +
    + + + + + + + +
    extended_symbol eosio::extended_asset::get_extended_symbol () const
    +
    +inline
    +
    +

    Возвращает расширенный символ (символ + контракт)

    +
    Возвращает
    extended_symbol — расширенный символ
    + +

    См. определение в файле asset.hpp строка 408

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1extended__asset_a7747448ddea804e84fe72decd40ee3a2.html b/docs/cdt/structeosio_1_1extended__asset_a7747448ddea804e84fe72decd40ee3a2.html new file mode 100644 index 000000000..eef288467 --- /dev/null +++ b/docs/cdt/structeosio_1_1extended__asset_a7747448ddea804e84fe72decd40ee3a2.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_asset::extended_asset + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ extended_asset() [1/3]

    + +
    +
    + + + + + +
    + + + + + + + +
    eosio::extended_asset::extended_asset ()
    +
    +default
    +
    +

    Конструктор по умолчанию

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1extended__asset_a831a169f25c972af14a01e0305ab8d74.html b/docs/cdt/structeosio_1_1extended__asset_a831a169f25c972af14a01e0305ab8d74.html new file mode 100644 index 000000000..c38502f2f --- /dev/null +++ b/docs/cdt/structeosio_1_1extended__asset_a831a169f25c972af14a01e0305ab8d74.html @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_asset::extended_asset + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ extended_asset() [2/3]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    eosio::extended_asset::extended_asset (int64_t v,
    extended_symbol s 
    )
    +
    +inline
    +
    +

    Создаёт расширенный актив по количеству и расширенному символу

    + +

    См. определение в файле asset.hpp строка 418

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1extended__asset_aacd83a028c55e22db2e8f14027827ad7.html b/docs/cdt/structeosio_1_1extended__asset_aacd83a028c55e22db2e8f14027827ad7.html new file mode 100644 index 000000000..61397efdd --- /dev/null +++ b/docs/cdt/structeosio_1_1extended__asset_aacd83a028c55e22db2e8f14027827ad7.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_asset::quantity + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ quantity

    + +
    +
    + + + + +
    asset eosio::extended_asset::quantity
    +
    +

    Сам актив (количество и символ)

    + +

    См. определение в файле asset.hpp строка 396

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1extended__asset_acac503620c8c59864b065360fb50868b.html b/docs/cdt/structeosio_1_1extended__asset_acac503620c8c59864b065360fb50868b.html new file mode 100644 index 000000000..8849d48cc --- /dev/null +++ b/docs/cdt/structeosio_1_1extended__asset_acac503620c8c59864b065360fb50868b.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_asset::contract + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ contract

    + +
    +
    + + + + +
    name eosio::extended_asset::contract
    +
    +

    Имя контракта, выпускающего токен

    + +

    См. определение в файле asset.hpp строка 401

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1extended__asset_af5993cb01622505de48870ba728cec3b.html b/docs/cdt/structeosio_1_1extended__asset_af5993cb01622505de48870ba728cec3b.html new file mode 100644 index 000000000..7a65eb777 --- /dev/null +++ b/docs/cdt/structeosio_1_1extended__asset_af5993cb01622505de48870ba728cec3b.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::extended_asset::print + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ print()

    + +
    +
    + + + + + +
    + + + + + + + +
    void eosio::extended_asset::print () const
    +
    +inline
    +
    +

    Вывод расширенного актива (печать в лог контракта COOPOS)

    + +

    См. определение в файле asset.hpp строка 427

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ignore.html b/docs/cdt/structeosio_1_1ignore.html new file mode 100644 index 000000000..6c3173776 --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore.html @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::ignore< T > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Шаблон структуры eosio::ignore< T >
    +
    +
    + +

    #include <ignore.hpp>

    +

    Подробное описание

    +
    template<typename T>
    +struct eosio::ignore< T >

    Указывает datastream игнорировать этот тип при упаковке, при этом генератор ABI может вывести корректный тип.

    +

    Сейчас после параметра типа ignore в сигнатуре метода не могут следовать «обычные» типы: допустимо void foo(float, ignore<int>), недопустимо void foo(float, ignore<int>, int).

    Заметки
    Ограничение может быть ослаблено в будущих версиях. Формулировка та же: после ignore<int> в списке параметров нежелательны следующие не-ignore типы.
    + +

    См. определение в файле ignore.hpp строка 20

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ignore__wrapper-members.html b/docs/cdt/structeosio_1_1ignore__wrapper-members.html new file mode 100644 index 000000000..4cfbc10e5 --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore__wrapper-members.html @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::ignore_wrapper< T > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::ignore_wrapper< T >, включая наследуемые из базового класса

    + + + + + + + + +
    get()eosio::ignore_wrapper< T >inline
    ignore_wrapper()eosio::ignore_wrapper< T >inline
    ignore_wrapper(T val)eosio::ignore_wrapper< T >inline
    ignore_wrapper(ignore< T > val)eosio::ignore_wrapper< T >inline
    operator ignore< T >()eosio::ignore_wrapper< T >inline
    operator T()eosio::ignore_wrapper< T >inline
    valueeosio::ignore_wrapper< T >
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ignore__wrapper.html b/docs/cdt/structeosio_1_1ignore__wrapper.html new file mode 100644 index 000000000..6a5b1f3be --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore__wrapper.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::ignore_wrapper< T > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Шаблон структуры eosio::ignore_wrapper< T >
    +
    +
    + +

    #include <ignore.hpp>

    + + + + + + + + + + + + + + +

    +Открытые члены

    constexpr ignore_wrapper ()
     
    constexpr ignore_wrapper (T val)
     
    constexpr ignore_wrapper (ignore< T > val)
     
    constexpr T get ()
     
    constexpr operator T ()
     
    constexpr operator ignore< T > ()
     
    + + + +

    +Открытые атрибуты

    value
     
    +

    Подробное описание

    +
    template<typename T>
    +struct eosio::ignore_wrapper< T >

    Обёртка для корректной передачи полезной нагрузки при inline-действиях в COOPOS

    + +

    См. определение в файле ignore.hpp строка 26

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ignore__wrapper.js b/docs/cdt/structeosio_1_1ignore__wrapper.js new file mode 100644 index 000000000..b76c08336 --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore__wrapper.js @@ -0,0 +1,10 @@ +var structeosio_1_1ignore__wrapper = +[ + [ "ignore_wrapper", "structeosio_1_1ignore__wrapper_a89db1ce457bcd345d9c0403ad6c4936f.html#a89db1ce457bcd345d9c0403ad6c4936f", null ], + [ "ignore_wrapper", "structeosio_1_1ignore__wrapper_ac6cf7a6be9c0cc5013c68c1e39a0bab8.html#ac6cf7a6be9c0cc5013c68c1e39a0bab8", null ], + [ "ignore_wrapper", "structeosio_1_1ignore__wrapper_a0dcb6bbda0a915c87264dc0119fc9ded.html#a0dcb6bbda0a915c87264dc0119fc9ded", null ], + [ "get", "structeosio_1_1ignore__wrapper_adcb05b331265687383a2324c8e47c428.html#adcb05b331265687383a2324c8e47c428", null ], + [ "operator ignore< T >", "structeosio_1_1ignore__wrapper_a79d94e050efb9c7b3cd6a01fe1c8350b.html#a79d94e050efb9c7b3cd6a01fe1c8350b", null ], + [ "operator T", "structeosio_1_1ignore__wrapper_ac438b2240f6513b7ccac4d7c6876bd95.html#ac438b2240f6513b7ccac4d7c6876bd95", null ], + [ "value", "structeosio_1_1ignore__wrapper_a4f84e678095bec6a25ce72256b4cbfce.html#a4f84e678095bec6a25ce72256b4cbfce", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1ignore__wrapper_a0dcb6bbda0a915c87264dc0119fc9ded.html b/docs/cdt/structeosio_1_1ignore__wrapper_a0dcb6bbda0a915c87264dc0119fc9ded.html new file mode 100644 index 000000000..47bdb6c11 --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore__wrapper_a0dcb6bbda0a915c87264dc0119fc9ded.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ignore_wrapper::ignore_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ ignore_wrapper() [3/3]

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    constexpr eosio::ignore_wrapper< T >::ignore_wrapper (ignore< T > val)
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле ignore.hpp строка 29

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ignore__wrapper_a4f84e678095bec6a25ce72256b4cbfce.html b/docs/cdt/structeosio_1_1ignore__wrapper_a4f84e678095bec6a25ce72256b4cbfce.html new file mode 100644 index 000000000..c96a7939d --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore__wrapper_a4f84e678095bec6a25ce72256b4cbfce.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ignore_wrapper::value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ value

    + +
    +
    +
    +template<typename T >
    + + + + +
    T eosio::ignore_wrapper< T >::value
    +
    + +

    См. определение в файле ignore.hpp строка 33

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ignore__wrapper_a79d94e050efb9c7b3cd6a01fe1c8350b.html b/docs/cdt/structeosio_1_1ignore__wrapper_a79d94e050efb9c7b3cd6a01fe1c8350b.html new file mode 100644 index 000000000..b47b19f69 --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore__wrapper_a79d94e050efb9c7b3cd6a01fe1c8350b.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ignore_wrapper::operator ignore< T > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator ignore< T >()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    constexpr eosio::ignore_wrapper< T >::operator ignore< T > ()
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле ignore.hpp строка 32

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ignore__wrapper_a89db1ce457bcd345d9c0403ad6c4936f.html b/docs/cdt/structeosio_1_1ignore__wrapper_a89db1ce457bcd345d9c0403ad6c4936f.html new file mode 100644 index 000000000..eae4e88b7 --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore__wrapper_a89db1ce457bcd345d9c0403ad6c4936f.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ignore_wrapper::ignore_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ ignore_wrapper() [1/3]

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    constexpr eosio::ignore_wrapper< T >::ignore_wrapper ()
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле ignore.hpp строка 27

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ignore__wrapper_ac438b2240f6513b7ccac4d7c6876bd95.html b/docs/cdt/structeosio_1_1ignore__wrapper_ac438b2240f6513b7ccac4d7c6876bd95.html new file mode 100644 index 000000000..3a4b229e3 --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore__wrapper_ac438b2240f6513b7ccac4d7c6876bd95.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ignore_wrapper::operator T + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator T()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    constexpr eosio::ignore_wrapper< T >::operator T ()
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле ignore.hpp строка 31

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ignore__wrapper_ac6cf7a6be9c0cc5013c68c1e39a0bab8.html b/docs/cdt/structeosio_1_1ignore__wrapper_ac6cf7a6be9c0cc5013c68c1e39a0bab8.html new file mode 100644 index 000000000..8a20ff832 --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore__wrapper_ac6cf7a6be9c0cc5013c68c1e39a0bab8.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ignore_wrapper::ignore_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ ignore_wrapper() [2/3]

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    constexpr eosio::ignore_wrapper< T >::ignore_wrapper (val)
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле ignore.hpp строка 28

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1ignore__wrapper_adcb05b331265687383a2324c8e47c428.html b/docs/cdt/structeosio_1_1ignore__wrapper_adcb05b331265687383a2324c8e47c428.html new file mode 100644 index 000000000..fbd0fd173 --- /dev/null +++ b/docs/cdt/structeosio_1_1ignore__wrapper_adcb05b331265687383a2324c8e47c428.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::ignore_wrapper::get + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ get()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    constexpr T eosio::ignore_wrapper< T >::get ()
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле ignore.hpp строка 30

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1concat__t-members.html b/docs/cdt/structeosio_1_1impl_1_1concat__t-members.html new file mode 100644 index 000000000..60cecea02 --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1concat__t-members.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::impl::concat_t Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::impl::concat_t, включая наследуемые из базового класса

    + + + + + +
    lefteosio::impl::concat_t
    righteosio::impl::concat_t
    tempeosio::impl::concat_tmutable
    temp_lefteosio::impl::concat_tmutable
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1concat__t.html b/docs/cdt/structeosio_1_1impl_1_1concat__t.html new file mode 100644 index 000000000..431dd32ab --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1concat__t.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::impl::concat_t + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <rope.hpp>

    + + + + + + + + + + +

    +Открытые атрибуты

    rope_nodeleft = nullptr
     
    rope_noderight = nullptr
     
    const rope_nodetemp = nullptr
     
    bool temp_left = false
     
    +

    Подробное описание

    +
    +

    См. определение в файле rope.hpp строка 25

    +

    Объявления и описания членов структуры находятся в файле:
      +
    • libraries/eosiolib/core/eosio/rope.hpp
    • +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1concat__t.js b/docs/cdt/structeosio_1_1impl_1_1concat__t.js new file mode 100644 index 000000000..2250ebec0 --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1concat__t.js @@ -0,0 +1,7 @@ +var structeosio_1_1impl_1_1concat__t = +[ + [ "left", "structeosio_1_1impl_1_1concat__t_aae6bb79b83cd6aaae6425af9ba4e61d2.html#aae6bb79b83cd6aaae6425af9ba4e61d2", null ], + [ "right", "structeosio_1_1impl_1_1concat__t_a344e265129ddb389e4340c9781a5eafb.html#a344e265129ddb389e4340c9781a5eafb", null ], + [ "temp", "structeosio_1_1impl_1_1concat__t_a729e92e9c1ad1f1fcb4333a5dbd4e673.html#a729e92e9c1ad1f1fcb4333a5dbd4e673", null ], + [ "temp_left", "structeosio_1_1impl_1_1concat__t_a66bf009cb8e646692287b254df119652.html#a66bf009cb8e646692287b254df119652", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1impl_1_1concat__t_a344e265129ddb389e4340c9781a5eafb.html b/docs/cdt/structeosio_1_1impl_1_1concat__t_a344e265129ddb389e4340c9781a5eafb.html new file mode 100644 index 000000000..b5652ce43 --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1concat__t_a344e265129ddb389e4340c9781a5eafb.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::impl::concat_t::right + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ right

    + +
    +
    + + + + +
    rope_node* eosio::impl::concat_t::right = nullptr
    +
    + +

    См. определение в файле rope.hpp строка 27

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1concat__t_a66bf009cb8e646692287b254df119652.html b/docs/cdt/structeosio_1_1impl_1_1concat__t_a66bf009cb8e646692287b254df119652.html new file mode 100644 index 000000000..ba89d1c95 --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1concat__t_a66bf009cb8e646692287b254df119652.html @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::impl::concat_t::temp_left + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ temp_left

    + +
    +
    + + + + + +
    + + + + +
    bool eosio::impl::concat_t::temp_left = false
    +
    +mutable
    +
    + +

    См. определение в файле rope.hpp строка 29

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1concat__t_a729e92e9c1ad1f1fcb4333a5dbd4e673.html b/docs/cdt/structeosio_1_1impl_1_1concat__t_a729e92e9c1ad1f1fcb4333a5dbd4e673.html new file mode 100644 index 000000000..7cf40ebef --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1concat__t_a729e92e9c1ad1f1fcb4333a5dbd4e673.html @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::impl::concat_t::temp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ temp

    + +
    +
    + + + + + +
    + + + + +
    const rope_node* eosio::impl::concat_t::temp = nullptr
    +
    +mutable
    +
    + +

    См. определение в файле rope.hpp строка 28

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1concat__t_aae6bb79b83cd6aaae6425af9ba4e61d2.html b/docs/cdt/structeosio_1_1impl_1_1concat__t_aae6bb79b83cd6aaae6425af9ba4e61d2.html new file mode 100644 index 000000000..4201669de --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1concat__t_aae6bb79b83cd6aaae6425af9ba4e61d2.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::impl::concat_t::left + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ left

    + +
    +
    + + + + +
    rope_node* eosio::impl::concat_t::left = nullptr
    +
    + +

    См. определение в файле rope.hpp строка 26

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1str__t-members.html b/docs/cdt/structeosio_1_1impl_1_1str__t-members.html new file mode 100644 index 000000000..854020770 --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1str__t-members.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::impl::str_t Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::impl::str_t, включая наследуемые из базового класса

    + + + + +
    c_streosio::impl::str_t
    sizeeosio::impl::str_t
    tempeosio::impl::str_tmutable
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1str__t.html b/docs/cdt/structeosio_1_1impl_1_1str__t.html new file mode 100644 index 000000000..08c20ebb4 --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1str__t.html @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::impl::str_t + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <rope.hpp>

    + + + + + + + + +

    +Открытые атрибуты

    const char * c_str
     
    size_t size
     
    const rope_nodetemp = nullptr
     
    +

    Подробное описание

    +
    +

    См. определение в файле rope.hpp строка 19

    +

    Объявления и описания членов структуры находятся в файле:
      +
    • libraries/eosiolib/core/eosio/rope.hpp
    • +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1str__t.js b/docs/cdt/structeosio_1_1impl_1_1str__t.js new file mode 100644 index 000000000..8363bb1d5 --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1str__t.js @@ -0,0 +1,6 @@ +var structeosio_1_1impl_1_1str__t = +[ + [ "c_str", "structeosio_1_1impl_1_1str__t_a1dd376f2e0c96d51fe51c5de1b2ce31b.html#a1dd376f2e0c96d51fe51c5de1b2ce31b", null ], + [ "size", "structeosio_1_1impl_1_1str__t_a6a41a31c4b462547b26ff114e22cb8a2.html#a6a41a31c4b462547b26ff114e22cb8a2", null ], + [ "temp", "structeosio_1_1impl_1_1str__t_a7a7645f3deaeb5e01124300c850d5f7e.html#a7a7645f3deaeb5e01124300c850d5f7e", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1impl_1_1str__t_a1dd376f2e0c96d51fe51c5de1b2ce31b.html b/docs/cdt/structeosio_1_1impl_1_1str__t_a1dd376f2e0c96d51fe51c5de1b2ce31b.html new file mode 100644 index 000000000..c1cf60bb7 --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1str__t_a1dd376f2e0c96d51fe51c5de1b2ce31b.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::impl::str_t::c_str + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ c_str

    + +
    +
    + + + + +
    const char* eosio::impl::str_t::c_str
    +
    + +

    См. определение в файле rope.hpp строка 20

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1str__t_a6a41a31c4b462547b26ff114e22cb8a2.html b/docs/cdt/structeosio_1_1impl_1_1str__t_a6a41a31c4b462547b26ff114e22cb8a2.html new file mode 100644 index 000000000..062a5355e --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1str__t_a6a41a31c4b462547b26ff114e22cb8a2.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::impl::str_t::size + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ size

    + +
    +
    + + + + +
    size_t eosio::impl::str_t::size
    +
    + +

    См. определение в файле rope.hpp строка 21

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1impl_1_1str__t_a7a7645f3deaeb5e01124300c850d5f7e.html b/docs/cdt/structeosio_1_1impl_1_1str__t_a7a7645f3deaeb5e01124300c850d5f7e.html new file mode 100644 index 000000000..cbfd54f22 --- /dev/null +++ b/docs/cdt/structeosio_1_1impl_1_1str__t_a7a7645f3deaeb5e01124300c850d5f7e.html @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::impl::str_t::temp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ temp

    + +
    +
    + + + + + +
    + + + + +
    const rope_node* eosio::impl::str_t::temp = nullptr
    +
    +mutable
    +
    + +

    См. определение в файле rope.hpp строка 22

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1indexed__by-members.html b/docs/cdt/structeosio_1_1indexed__by-members.html new file mode 100644 index 000000000..666053e3d --- /dev/null +++ b/docs/cdt/structeosio_1_1indexed__by-members.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::indexed_by< IndexName, Extractor > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::indexed_by< IndexName, Extractor >, включая наследуемые из базового класса

    + + + + +
    constants перечислениеeosio::indexed_by< IndexName, Extractor >
    index_name элементы перечисленияeosio::indexed_by< IndexName, Extractor >
    secondary_extractor_type typedefeosio::indexed_by< IndexName, Extractor >
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1indexed__by.html b/docs/cdt/structeosio_1_1indexed__by.html new file mode 100644 index 000000000..c72179d62 --- /dev/null +++ b/docs/cdt/structeosio_1_1indexed__by.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::indexed_by< IndexName, Extractor > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <multi_index.hpp>

    + + + + + + +

    +Открытые типы

    enum  constants { index_name = static_cast<uint64_t>(IndexName) + }
     
    typedef Extractor secondary_extractor_type
     
    +

    Подробное описание

    +
    template<name::raw IndexName, typename Extractor>
    +struct eosio::indexed_by< IndexName, Extractor >

    Структура indexed_by используется для задания индексов многоиндексной таблицы. В COOPOS можно задать до 16 вторичных индексов.

    +
    Параметры шаблона
    + + + +
    IndexName— имя индекса. Имя задаётся как 64-битное целое в кодировке base32 COOPOS и должно соответствовать правилам имён COOPOS: не более 13 символов; первые двенадцать — строчные буквы a–z, цифры 1–5 и «.»; если есть 13-й символ, допускаются только строчные a–p и «.».
    Extractor— функтор (оператор вызова функции), принимающий const-ссылку на тип объекта строки таблицы и возвращающий тип вторичного ключа или ссылку на него. Рекомендуется использовать шаблон eosio::const_mem_fun.
    +
    +
    +

    Пример:

    +
    #include <eosiolib/eosio.hpp>
    +
    using namespace eosio;
    +
    class mycontract: eosio::contract {
    +
    struct record {
    +
    uint64_t primary;
    +
    uint128_t secondary;
    +
    uint64_t primary_key() const { return primary; }
    +
    uint128_t get_secondary() const { return secondary; }
    +
    };
    +
    public:
    +
    mycontract(name receiver, name code, datastream<const char*> ds):contract(receiver, code, ds){}
    +
    void myaction() {
    +
    auto code = _self;
    +
    auto scope = _self;
    +
    multi_index<"mytable"_n, record,
    +
    indexed_by< "bysecondary"_n, const_mem_fun<record, uint128_t, &record::get_secondary> > > table( code, scope);
    +
    }
    +
    }
    +
    EOSIO_DISPATCH( mycontract, (myaction) )
    +
    +

    См. определение в файле multi_index.hpp строка 376

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1indexed__by.js b/docs/cdt/structeosio_1_1indexed__by.js new file mode 100644 index 000000000..67399bead --- /dev/null +++ b/docs/cdt/structeosio_1_1indexed__by.js @@ -0,0 +1,7 @@ +var structeosio_1_1indexed__by = +[ + [ "secondary_extractor_type", "structeosio_1_1indexed__by_affd7e285b6b9435c7c2b0104a14b5791.html#affd7e285b6b9435c7c2b0104a14b5791", null ], + [ "constants", "structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html#ad04dd8d771430edeb499c9d03bc9bb60", [ + [ "index_name", "structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html#ad04dd8d771430edeb499c9d03bc9bb60a4645263158ffe7d237fda11ac37aea05", null ] + ] ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html b/docs/cdt/structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html new file mode 100644 index 000000000..4de817636 --- /dev/null +++ b/docs/cdt/structeosio_1_1indexed__by_ad04dd8d771430edeb499c9d03bc9bb60.html @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::indexed_by::constants + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ constants

    + +
    +
    +
    +template<name::raw IndexName, typename Extractor >
    + + + + +
    enum eosio::indexed_by::constants
    +
    + + +
    Элементы перечислений
    index_name 
    + +

    См. определение в файле multi_index.hpp строка 377

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1indexed__by_affd7e285b6b9435c7c2b0104a14b5791.html b/docs/cdt/structeosio_1_1indexed__by_affd7e285b6b9435c7c2b0104a14b5791.html new file mode 100644 index 000000000..4a85ad055 --- /dev/null +++ b/docs/cdt/structeosio_1_1indexed__by_affd7e285b6b9435c7c2b0104a14b5791.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::indexed_by::secondary_extractor_type + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ secondary_extractor_type

    + +
    +
    +
    +template<name::raw IndexName, typename Extractor >
    + + + + +
    typedef Extractor eosio::indexed_by< IndexName, Extractor >::secondary_extractor_type
    +
    + +

    См. определение в файле multi_index.hpp строка 378

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1inline__dispatcher.html b/docs/cdt/structeosio_1_1inline__dispatcher.html new file mode 100644 index 000000000..422d6bcd6 --- /dev/null +++ b/docs/cdt/structeosio_1_1inline__dispatcher.html @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::inline_dispatcher< typename, raw > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Шаблон структуры eosio::inline_dispatcher< typename, raw >
    +
    +
    +

    Подробное описание

    +
    template<typename, name::raw>
    +struct eosio::inline_dispatcher< typename, raw >
    +

    См. определение в файле action.hpp строка 607

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4-members.html b/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4-members.html new file mode 100644 index 000000000..d80892d3d --- /dev/null +++ b/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4-members.html @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::inline_dispatcher< void(T::*)(Args...), Name > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::inline_dispatcher< void(T::*)(Args...), Name >, включая наследуемые из базового класса

    + + + +
    call(name code, const permission_level &perm, std::tuple< Args... > args)eosio::inline_dispatcher< void(T::*)(Args...), Name >inlinestatic
    call(name code, std::vector< permission_level > perms, std::tuple< Args... > args)eosio::inline_dispatcher< void(T::*)(Args...), Name >inlinestatic
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4.html b/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4.html new file mode 100644 index 000000000..f0cad616f --- /dev/null +++ b/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4.html @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::inline_dispatcher< void(T::*)(Args...), Name > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Шаблон структуры eosio::inline_dispatcher< void(T::*)(Args...), Name >
    +
    +
    + +

    #include <action.hpp>

    + + + + + + +

    +Открытые статические члены

    static void call (name code, const permission_level &perm, std::tuple< Args... > args)
     
    static void call (name code, std::vector< permission_level > perms, std::tuple< Args... > args)
     
    +

    Подробное описание

    +
    template<typename T, name::raw Name, typename... Args>
    +struct eosio::inline_dispatcher< void(T::*)(Args...), Name >
    +

    См. определение в файле action.hpp строка 611

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4_a43a9a1084e226ca5e3b8f306174a18ef.html b/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4_a43a9a1084e226ca5e3b8f306174a18ef.html new file mode 100644 index 000000000..b8446b50b --- /dev/null +++ b/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4_a43a9a1084e226ca5e3b8f306174a18ef.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::inline_dispatcher< void(T::*)(Args...), Name >::call + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ call() [2/2]

    + +
    +
    +
    +template<typename T , name::raw Name, typename... Args>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static void eosio::inline_dispatcher< void(T::*)(Args...), Name >::call (name code,
    std::vector< permission_levelperms,
    std::tuple< Args... > args 
    )
    +
    +inlinestatic
    +
    + +

    См. определение в файле action.hpp строка 615

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4_a8ccabfd180270a8128685eeaea33c75a.html b/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4_a8ccabfd180270a8128685eeaea33c75a.html new file mode 100644 index 000000000..801aded04 --- /dev/null +++ b/docs/cdt/structeosio_1_1inline__dispatcher_3_01void_07_t_1_1_5_08_07_args_8_8_8_08_00_01_name_01_4_a8ccabfd180270a8128685eeaea33c75a.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::inline_dispatcher< void(T::*)(Args...), Name >::call + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ call() [1/2]

    + +
    +
    +
    +template<typename T , name::raw Name, typename... Args>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static void eosio::inline_dispatcher< void(T::*)(Args...), Name >::call (name code,
    const permission_levelperm,
    std::tuple< Args... > args 
    )
    +
    +inlinestatic
    +
    + +

    См. определение в файле action.hpp строка 612

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1key__weight-members.html b/docs/cdt/structeosio_1_1key__weight-members.html new file mode 100644 index 000000000..e1975fe27 --- /dev/null +++ b/docs/cdt/structeosio_1_1key__weight-members.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::key_weight Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::key_weight, включая наследуемые из базового класса

    + + + + +
    CDT_REFLECT(key, weight)eosio::key_weight
    keyeosio::key_weight
    weighteosio::key_weight
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1key__weight.html b/docs/cdt/structeosio_1_1key__weight.html new file mode 100644 index 000000000..69d960683 --- /dev/null +++ b/docs/cdt/structeosio_1_1key__weight.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::key_weight + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <producer_schedule.hpp>

    + + + + +

    +Открытые члены

     CDT_REFLECT (key, weight)
     
    + + + + + + + +

    +Открытые атрибуты

    public_key key
     открытый ключ во взвешенном пороговом полномочии с несколькими подписями (multi-sig) Подробнее...
     
    uint16_t weight
     вес открытого ключа Подробнее...
     
    +

    Подробное описание

    +

    Сопоставляет открытый ключ с целочисленным весом

    + +

    См. определение в файле producer_schedule.hpp строка 85

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1key__weight.js b/docs/cdt/structeosio_1_1key__weight.js new file mode 100644 index 000000000..2d1f77e32 --- /dev/null +++ b/docs/cdt/structeosio_1_1key__weight.js @@ -0,0 +1,6 @@ +var structeosio_1_1key__weight = +[ + [ "CDT_REFLECT", "structeosio_1_1key__weight_a85634275ee0cdb26b0e1c7be597b95c0.html#a85634275ee0cdb26b0e1c7be597b95c0", null ], + [ "key", "structeosio_1_1key__weight_a0716877105b0d4a6fca4c09f7e129800.html#a0716877105b0d4a6fca4c09f7e129800", null ], + [ "weight", "structeosio_1_1key__weight_a78bc9eff39c12ee18ba27206967c00a0.html#a78bc9eff39c12ee18ba27206967c00a0", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1key__weight_a0716877105b0d4a6fca4c09f7e129800.html b/docs/cdt/structeosio_1_1key__weight_a0716877105b0d4a6fca4c09f7e129800.html new file mode 100644 index 000000000..34c806a07 --- /dev/null +++ b/docs/cdt/structeosio_1_1key__weight_a0716877105b0d4a6fca4c09f7e129800.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::key_weight::key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ key

    + +
    +
    + + + + +
    public_key eosio::key_weight::key
    +
    + +

    открытый ключ во взвешенном пороговом полномочии с несколькими подписями (multi-sig)

    +

    Открытый ключ во взвешенном пороговом полномочии с несколькими подписями (multi-sig)

    + +

    См. определение в файле producer_schedule.hpp строка 91

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1key__weight_a78bc9eff39c12ee18ba27206967c00a0.html b/docs/cdt/structeosio_1_1key__weight_a78bc9eff39c12ee18ba27206967c00a0.html new file mode 100644 index 000000000..45a2f4707 --- /dev/null +++ b/docs/cdt/structeosio_1_1key__weight_a78bc9eff39c12ee18ba27206967c00a0.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::key_weight::weight + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ weight

    + +
    +
    + + + + +
    uint16_t eosio::key_weight::weight
    +
    + +

    вес открытого ключа

    +

    Вес подписи закрытым ключом, соответствующим этому открытому ключу

    + +

    См. определение в файле producer_schedule.hpp строка 98

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1key__weight_a85634275ee0cdb26b0e1c7be597b95c0.html b/docs/cdt/structeosio_1_1key__weight_a85634275ee0cdb26b0e1c7be597b95c0.html new file mode 100644 index 000000000..23d5adc62 --- /dev/null +++ b/docs/cdt/structeosio_1_1key__weight_a85634275ee0cdb26b0e1c7be597b95c0.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::key_weight::CDT_REFLECT + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ CDT_REFLECT()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    eosio::key_weight::CDT_REFLECT (key ,
    weight  
    )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator-members.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator-members.html new file mode 100644 index 000000000..f5b056d88 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator-members.html @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator.html new file mode 100644 index 000000000..f0d7fec0a --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator.html @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::multi_index< TableName, T, Indices >::const_iterator + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Структура eosio::multi_index< TableName, T, Indices >::const_iterator
    +
    +
    + +

    #include <multi_index.hpp>

    +
    +Граф наследования:eosio::multi_index< TableName, T, Indices >::const_iterator:
    +
    +
    + +
    + + + + + + + + + + + + + + +

    +Открытые члены

    const T & operator* () const
     
    const T * operator-> () const
     
    const_iterator operator++ (int)
     
    const_iterator operator-- (int)
     
    const_iteratoroperator++ ()
     
    const_iteratoroperator-- ()
     
    + + + + + + + +

    +Друзья

    class multi_index
     
    bool operator== (const const_iterator &a, const const_iterator &b)
     
    bool operator!= (const const_iterator &a, const const_iterator &b)
     
    +

    Подробное описание

    +
    template<name::raw TableName, typename T, typename... Indices>
    +struct eosio::multi_index< TableName, T, Indices >::const_iterator
    +

    См. определение в файле multi_index.hpp строка 938

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator.js b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator.js new file mode 100644 index 000000000..5088c75eb --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator.js @@ -0,0 +1,12 @@ +var structeosio_1_1multi__index_1_1const__iterator = +[ + [ "operator*", "structeosio_1_1multi__index_1_1const__iterator_af26c82fdb30dc0e6b3b1a51c60665fc7.html#af26c82fdb30dc0e6b3b1a51c60665fc7", null ], + [ "operator++", "structeosio_1_1multi__index_1_1const__iterator_a829330bb82ce769116465eb450a34249.html#a829330bb82ce769116465eb450a34249", null ], + [ "operator++", "structeosio_1_1multi__index_1_1const__iterator_a751d1e7eedadb5b3033cedc6f8e8078e.html#a751d1e7eedadb5b3033cedc6f8e8078e", null ], + [ "operator--", "structeosio_1_1multi__index_1_1const__iterator_aa838b30a0fa169a6a507ef8fa725f7bd.html#aa838b30a0fa169a6a507ef8fa725f7bd", null ], + [ "operator--", "structeosio_1_1multi__index_1_1const__iterator_a3a0faabfa94970b0d94d9b2977c69f43.html#a3a0faabfa94970b0d94d9b2977c69f43", null ], + [ "operator->", "structeosio_1_1multi__index_1_1const__iterator_a3ed82524c8a4f576a2f472b30f1fec6e.html#a3ed82524c8a4f576a2f472b30f1fec6e", null ], + [ "multi_index", "structeosio_1_1multi__index_1_1const__iterator_a474ad2ee1333aa717a29bb55a9d5fc44.html#a474ad2ee1333aa717a29bb55a9d5fc44", null ], + [ "operator!=", "structeosio_1_1multi__index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html#a5fbca5b71055f2b793ae1607239b13a0", null ], + [ "operator==", "structeosio_1_1multi__index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html#ab0ac7de651351823aece097eb3be1cfb", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator.png b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator.png new file mode 100644 index 000000000..f55a13889 Binary files /dev/null and b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator.png differ diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a3a0faabfa94970b0d94d9b2977c69f43.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a3a0faabfa94970b0d94d9b2977c69f43.html new file mode 100644 index 000000000..4cedb9a70 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a3a0faabfa94970b0d94d9b2977c69f43.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::const_iterator::operator-- + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator--() [2/2]

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    + + + + + +
    + + + + + + + + +
    const_iterator eosio::multi_index< TableName, T, Indices >::const_iterator::operator-- (int )
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 955

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a3ed82524c8a4f576a2f472b30f1fec6e.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a3ed82524c8a4f576a2f472b30f1fec6e.html new file mode 100644 index 000000000..2d237bb8b --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a3ed82524c8a4f576a2f472b30f1fec6e.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::const_iterator::operator-> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator->()

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    + + + + + +
    + + + + + + + +
    const T * eosio::multi_index< TableName, T, Indices >::const_iterator::operator-> () const
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 947

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a474ad2ee1333aa717a29bb55a9d5fc44.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a474ad2ee1333aa717a29bb55a9d5fc44.html new file mode 100644 index 000000000..3452009c2 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a474ad2ee1333aa717a29bb55a9d5fc44.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::const_iterator::multi_index + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ multi_index

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    + + + + + +
    + + + + +
    friend class multi_index
    +
    +friend
    +
    + +

    См. определение в файле multi_index.hpp строка 996

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html new file mode 100644 index 000000000..f7e7ccd6b --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::const_iterator::operator!= + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator!=

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator!= (const const_iteratora,
    const const_iteratorb 
    )
    +
    +friend
    +
    + +

    См. определение в файле multi_index.hpp строка 942

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a751d1e7eedadb5b3033cedc6f8e8078e.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a751d1e7eedadb5b3033cedc6f8e8078e.html new file mode 100644 index 000000000..4421c6718 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a751d1e7eedadb5b3033cedc6f8e8078e.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::const_iterator::operator++ + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator++() [2/2]

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    + + + + + +
    + + + + + + + + +
    const_iterator eosio::multi_index< TableName, T, Indices >::const_iterator::operator++ (int )
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 949

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a829330bb82ce769116465eb450a34249.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a829330bb82ce769116465eb450a34249.html new file mode 100644 index 000000000..769c7d8fe --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_a829330bb82ce769116465eb450a34249.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::const_iterator::operator++ + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator++() [1/2]

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    + + + + + +
    + + + + + + + +
    const_iterator & eosio::multi_index< TableName, T, Indices >::const_iterator::operator++ ()
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 961

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_aa838b30a0fa169a6a507ef8fa725f7bd.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_aa838b30a0fa169a6a507ef8fa725f7bd.html new file mode 100644 index 000000000..97d078355 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_aa838b30a0fa169a6a507ef8fa725f7bd.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::const_iterator::operator-- + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator--() [1/2]

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    + + + + + +
    + + + + + + + +
    const_iterator & eosio::multi_index< TableName, T, Indices >::const_iterator::operator-- ()
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 972

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html new file mode 100644 index 000000000..9d03559a1 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::const_iterator::operator== + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator==

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator== (const const_iteratora,
    const const_iteratorb 
    )
    +
    +friend
    +
    + +

    См. определение в файле multi_index.hpp строка 939

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_af26c82fdb30dc0e6b3b1a51c60665fc7.html b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_af26c82fdb30dc0e6b3b1a51c60665fc7.html new file mode 100644 index 000000000..548bdd552 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1const__iterator_af26c82fdb30dc0e6b3b1a51c60665fc7.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::const_iterator::operator* + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator*()

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    + + + + + +
    + + + + + + + +
    const T & eosio::multi_index< TableName, T, Indices >::const_iterator::operator* () const
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 946

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator-members.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator-members.html new file mode 100644 index 000000000..1e9d28bb6 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator-members.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator, включая наследуемые из базового класса

    + + + + + + + + + + + +
    const_iterator()eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iteratorinline
    indexeosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iteratorfriend
    operator!=eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iteratorfriend
    operator*() consteosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iteratorinline
    operator++(int)eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iteratorinline
    operator++()eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iteratorinline
    operator--(int)eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iteratorinline
    operator--()eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iteratorinline
    operator->() consteosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iteratorinline
    operator==eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iteratorfriend
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator.html new file mode 100644 index 000000000..b17f53eb4 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator.html @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Структура eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator
    +
    +
    + +

    #include <multi_index.hpp>

    +
    +Граф наследования:eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator:
    +
    +
    + +
    + + + + + + + + + + + + + + + + +

    +Открытые члены

    const T & operator* () const
     
    const T * operator-> () const
     
    const_iterator operator++ (int)
     
    const_iterator operator-- (int)
     
    const_iteratoroperator++ ()
     
    const_iteratoroperator-- ()
     
     const_iterator ()
     
    + + + + + + + +

    +Друзья

    struct index
     
    bool operator== (const const_iterator &a, const const_iterator &b)
     
    bool operator!= (const const_iterator &a, const const_iterator &b)
     
    +

    Подробное описание

    +
    template<name::raw TableName, typename T, typename... Indices>
    +template<name::raw IndexName, typename Extractor, uint64_t Number, bool IsConst>
    +struct eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator
    +

    См. определение в файле multi_index.hpp строка 513

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator.js b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator.js new file mode 100644 index 000000000..08e594557 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator.js @@ -0,0 +1,13 @@ +var structeosio_1_1multi__index_1_1index_1_1const__iterator = +[ + [ "const_iterator", "structeosio_1_1multi__index_1_1index_1_1const__iterator_a6d0b7e7cb0410b12d4333e5b53eb9ea8.html#a6d0b7e7cb0410b12d4333e5b53eb9ea8", null ], + [ "operator*", "structeosio_1_1multi__index_1_1index_1_1const__iterator_afdc8e49cfd185bf193aefc5603704d26.html#afdc8e49cfd185bf193aefc5603704d26", null ], + [ "operator++", "structeosio_1_1multi__index_1_1index_1_1const__iterator_a7f45c8586749261bd679b6b9c10ebc1f.html#a7f45c8586749261bd679b6b9c10ebc1f", null ], + [ "operator++", "structeosio_1_1multi__index_1_1index_1_1const__iterator_aaa017dc5dc3ecac344a590f409371216.html#aaa017dc5dc3ecac344a590f409371216", null ], + [ "operator--", "structeosio_1_1multi__index_1_1index_1_1const__iterator_acf932249851e06ba1fb46ca374fef99f.html#acf932249851e06ba1fb46ca374fef99f", null ], + [ "operator--", "structeosio_1_1multi__index_1_1index_1_1const__iterator_a058bad034470139d1e1518d5533122bf.html#a058bad034470139d1e1518d5533122bf", null ], + [ "operator->", "structeosio_1_1multi__index_1_1index_1_1const__iterator_a6b75028e93c74defe75ee6367d3172c9.html#a6b75028e93c74defe75ee6367d3172c9", null ], + [ "index", "structeosio_1_1multi__index_1_1index_1_1const__iterator_a98d9477848d2c563b310010a4f7b8fed.html#a98d9477848d2c563b310010a4f7b8fed", null ], + [ "operator!=", "structeosio_1_1multi__index_1_1index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html#a5fbca5b71055f2b793ae1607239b13a0", null ], + [ "operator==", "structeosio_1_1multi__index_1_1index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html#ab0ac7de651351823aece097eb3be1cfb", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator.png b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator.png new file mode 100644 index 000000000..f41534ecf Binary files /dev/null and b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator.png differ diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a058bad034470139d1e1518d5533122bf.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a058bad034470139d1e1518d5533122bf.html new file mode 100644 index 000000000..aab4d53b3 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a058bad034470139d1e1518d5533122bf.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::index::const_iterator::operator-- + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator--() [2/2]

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    +
    +template<name::raw IndexName, typename Extractor , uint64_t Number, bool IsConst>
    + + + + + +
    + + + + + + + + +
    const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator::operator-- (int )
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 531

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html new file mode 100644 index 000000000..43d3bd37d --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a5fbca5b71055f2b793ae1607239b13a0.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::index::const_iterator::operator!= + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator!=

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    +
    +template<name::raw IndexName, typename Extractor , uint64_t Number, bool IsConst>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator!= (const const_iteratora,
    const const_iteratorb 
    )
    +
    +friend
    +
    + +

    См. определение в файле multi_index.hpp строка 518

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a6b75028e93c74defe75ee6367d3172c9.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a6b75028e93c74defe75ee6367d3172c9.html new file mode 100644 index 000000000..1f2b557b4 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a6b75028e93c74defe75ee6367d3172c9.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::index::const_iterator::operator-> + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator->()

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    +
    +template<name::raw IndexName, typename Extractor , uint64_t Number, bool IsConst>
    + + + + + +
    + + + + + + + +
    const T * eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator::operator-> () const
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 523

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a6d0b7e7cb0410b12d4333e5b53eb9ea8.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a6d0b7e7cb0410b12d4333e5b53eb9ea8.html new file mode 100644 index 000000000..2831465a2 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a6d0b7e7cb0410b12d4333e5b53eb9ea8.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::index::const_iterator::const_iterator + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ const_iterator()

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    +
    +template<name::raw IndexName, typename Extractor , uint64_t Number, bool IsConst>
    + + + + + +
    + + + + + + + +
    eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator::const_iterator ()
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 594

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a7f45c8586749261bd679b6b9c10ebc1f.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a7f45c8586749261bd679b6b9c10ebc1f.html new file mode 100644 index 000000000..4a383fb15 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a7f45c8586749261bd679b6b9c10ebc1f.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::index::const_iterator::operator++ + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator++() [1/2]

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    +
    +template<name::raw IndexName, typename Extractor , uint64_t Number, bool IsConst>
    + + + + + +
    + + + + + + + +
    const_iterator & eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator::operator++ ()
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 537

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a98d9477848d2c563b310010a4f7b8fed.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a98d9477848d2c563b310010a4f7b8fed.html new file mode 100644 index 000000000..66312b6f7 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_a98d9477848d2c563b310010a4f7b8fed.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::index::const_iterator::index + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ index

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    +
    +template<name::raw IndexName, typename Extractor , uint64_t Number, bool IsConst>
    + + + + + +
    + + + + +
    friend struct index
    +
    +friend
    +
    + +

    См. определение в файле multi_index.hpp строка 596

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_aaa017dc5dc3ecac344a590f409371216.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_aaa017dc5dc3ecac344a590f409371216.html new file mode 100644 index 000000000..8025bd519 --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_aaa017dc5dc3ecac344a590f409371216.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::index::const_iterator::operator++ + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator++() [2/2]

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    +
    +template<name::raw IndexName, typename Extractor , uint64_t Number, bool IsConst>
    + + + + + +
    + + + + + + + + +
    const_iterator eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator::operator++ (int )
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 525

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html new file mode 100644 index 000000000..f7f6102df --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_ab0ac7de651351823aece097eb3be1cfb.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::index::const_iterator::operator== + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator==

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    +
    +template<name::raw IndexName, typename Extractor , uint64_t Number, bool IsConst>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator== (const const_iteratora,
    const const_iteratorb 
    )
    +
    +friend
    +
    + +

    См. определение в файле multi_index.hpp строка 515

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_acf932249851e06ba1fb46ca374fef99f.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_acf932249851e06ba1fb46ca374fef99f.html new file mode 100644 index 000000000..093a6ab0f --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_acf932249851e06ba1fb46ca374fef99f.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::index::const_iterator::operator-- + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator--() [1/2]

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    +
    +template<name::raw IndexName, typename Extractor , uint64_t Number, bool IsConst>
    + + + + + +
    + + + + + + + +
    const_iterator & eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator::operator-- ()
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 564

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_afdc8e49cfd185bf193aefc5603704d26.html b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_afdc8e49cfd185bf193aefc5603704d26.html new file mode 100644 index 000000000..4fbda98ca --- /dev/null +++ b/docs/cdt/structeosio_1_1multi__index_1_1index_1_1const__iterator_afdc8e49cfd185bf193aefc5603704d26.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::multi_index::index::const_iterator::operator* + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator*()

    + +
    +
    +
    +template<name::raw TableName, typename T , typename... Indices>
    +
    +template<name::raw IndexName, typename Extractor , uint64_t Number, bool IsConst>
    + + + + + +
    + + + + + + + +
    const T & eosio::multi_index< TableName, T, Indices >::index< IndexName, Extractor, Number, IsConst >::const_iterator::operator* () const
    +
    +inline
    +
    + +

    См. определение в файле multi_index.hpp строка 522

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name-members.html b/docs/cdt/structeosio_1_1name-members.html new file mode 100644 index 000000000..cc11180d9 --- /dev/null +++ b/docs/cdt/structeosio_1_1name-members.html @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::name Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::name, включая наследуемые из базового класса

    + + + + + + + + + + + + + + + + + +
    CDT_REFLECT(value)eosio::name
    char_to_value(char c)eosio::nameinlinestatic
    length() consteosio::nameinline
    name()eosio::nameinline
    name(uint64_t v)eosio::nameinlineexplicit
    name(name::raw r)eosio::nameinlineexplicit
    name(std::string_view str)eosio::nameinlineexplicit
    operator bool() consteosio::nameinlineexplicit
    operator raw() consteosio::nameinline
    prefix() consteosio::nameinline
    print() consteosio::nameinline
    raw перечислениеeosio::name
    suffix() consteosio::nameinline
    to_string() consteosio::nameinline
    valueeosio::name
    write_as_string(char *begin, char *end, bool dry_run=false) consteosio::nameinline
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name.html b/docs/cdt/structeosio_1_1name.html new file mode 100644 index 000000000..117d28495 --- /dev/null +++ b/docs/cdt/structeosio_1_1name.html @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <name.hpp>

    + + + + +

    +Открытые типы

    enum class  raw : uint64_t
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Открытые члены

    constexpr name ()
     Конструктор name со значением по умолчанию 0. Подробнее...
     
    constexpr name (uint64_t v)
     Конструктор name; инициализация поля value значением v. Подробнее...
     
    constexpr name (name::raw r)
     Конструктор name; инициализация поля value значением r. Подробнее...
     
    constexpr name (std::string_view str)
     Конструктор name; инициализация поля value из строки str. Подробнее...
     
    constexpr uint8_t length () const
     
    constexpr name suffix () const
     
    constexpr name prefix () const
     
    constexpr operator raw () const
     
    constexpr operator bool () const
     
    char * write_as_string (char *begin, char *end, bool dry_run=false) const
     
    std::string to_string () const
     Возвращает имя как строку через write_as_string() и буфер, заполненный этой функцией Подробнее...
     
    void print () const
     
     CDT_REFLECT (value)
     
    + + + +

    +Открытые статические члены

    static constexpr uint8_t char_to_value (char c)
     
    + + + +

    +Открытые атрибуты

    uint64_t value = 0
     
    +

    Подробное описание

    +

    Обёртка над uint64_t для имён аккаунтов и контрактов в COOPOS: значение передаётся только там, где ожидается name, без арифметики над «именем». Позволяет специализировать печать.

    + +

    См. определение в файле name.hpp строка 35

    +

    Объявления и описания членов структуры находятся в файле:
      +
    • libraries/eosiolib/core/eosio/name.hpp
    • +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name.js b/docs/cdt/structeosio_1_1name.js new file mode 100644 index 000000000..e6f661e00 --- /dev/null +++ b/docs/cdt/structeosio_1_1name.js @@ -0,0 +1,18 @@ +var structeosio_1_1name = +[ + [ "raw", "structeosio_1_1name_a1d269720fd7434429216833187173656.html#a1d269720fd7434429216833187173656", null ], + [ "name", "structeosio_1_1name_a3e05c2f8c5eb5fa35dc1a99918d57c19.html#a3e05c2f8c5eb5fa35dc1a99918d57c19", null ], + [ "name", "structeosio_1_1name_abc1f35add0a585ea60d6c7333b87f595.html#abc1f35add0a585ea60d6c7333b87f595", null ], + [ "name", "structeosio_1_1name_a4679582f6b187de123c5167db945b0fe.html#a4679582f6b187de123c5167db945b0fe", null ], + [ "name", "structeosio_1_1name_a0ce912cd61e77f223ac1d252deec0d04.html#a0ce912cd61e77f223ac1d252deec0d04", null ], + [ "CDT_REFLECT", "structeosio_1_1name_a12f96935b2753bbd4fd3117039dae003.html#a12f96935b2753bbd4fd3117039dae003", null ], + [ "length", "structeosio_1_1name_a757935f0931b482c554686c2ea2a42b2.html#a757935f0931b482c554686c2ea2a42b2", null ], + [ "operator bool", "structeosio_1_1name_a667462189a277a9f11f66fcd88af05df.html#a667462189a277a9f11f66fcd88af05df", null ], + [ "operator raw", "structeosio_1_1name_afd3799cbd1bc276a81dba035599f535c.html#afd3799cbd1bc276a81dba035599f535c", null ], + [ "prefix", "structeosio_1_1name_a5afd970dffff251b4137738542463c53.html#a5afd970dffff251b4137738542463c53", null ], + [ "print", "structeosio_1_1name_aa2b5455012ac1cc8bc9f615f305fa65e.html#aa2b5455012ac1cc8bc9f615f305fa65e", null ], + [ "suffix", "structeosio_1_1name_a806f77788fe466215adeb2b78553b6f8.html#a806f77788fe466215adeb2b78553b6f8", null ], + [ "to_string", "structeosio_1_1name_ae9b8c13d32a86f9ff355b6dce3955ab6.html#ae9b8c13d32a86f9ff355b6dce3955ab6", null ], + [ "write_as_string", "structeosio_1_1name_a3babe141d965ae3c1ae0ec31f417f4b1.html#a3babe141d965ae3c1ae0ec31f417f4b1", null ], + [ "value", "structeosio_1_1name_adb309a6e132467ef2c53e953b56ebb52.html#adb309a6e132467ef2c53e953b56ebb52", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1name_a051cf40d16909e5c352cf85edb15fc9c.html b/docs/cdt/structeosio_1_1name_a051cf40d16909e5c352cf85edb15fc9c.html new file mode 100644 index 000000000..5da705388 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a051cf40d16909e5c352cf85edb15fc9c.html @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::char_to_value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ char_to_value()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static constexpr uint8_t eosio::name::char_to_value (char c)
    +
    +inlinestaticconstexpr
    +
    +

    Преобразует символ алфавита имён (Base32-подобный) в числовое значение

    +
    Аргументы
    + + +
    c— символ
    +
    +
    +
    Возвращает
    числовое значение символа
    + +

    См. определение в файле name.hpp строка 107

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_a0ce912cd61e77f223ac1d252deec0d04.html b/docs/cdt/structeosio_1_1name_a0ce912cd61e77f223ac1d252deec0d04.html new file mode 100644 index 000000000..4b443c6b8 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a0ce912cd61e77f223ac1d252deec0d04.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ name() [4/4]

    + +
    +
    + + + + + +
    + + + + + + + + +
    constexpr eosio::name::name (std::string_view str)
    +
    +inlineexplicitconstexpr
    +
    + +

    Конструктор name; инициализация поля value из строки str.

    +

    Создаёт name из строки (правила кодирования имён COOPOS)

    +
    Аргументы
    + + +
    str— строка; после проверки преобразуется в uint64_t
    +
    +
    + +

    См. определение в файле name.hpp строка 76

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_a12f96935b2753bbd4fd3117039dae003.html b/docs/cdt/structeosio_1_1name_a12f96935b2753bbd4fd3117039dae003.html new file mode 100644 index 000000000..be99f5ea2 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a12f96935b2753bbd4fd3117039dae003.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::CDT_REFLECT + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ CDT_REFLECT()

    + +
    +
    + + + + + + + + +
    eosio::name::CDT_REFLECT (value )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_a1d269720fd7434429216833187173656.html b/docs/cdt/structeosio_1_1name_a1d269720fd7434429216833187173656.html new file mode 100644 index 000000000..03c266e45 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a1d269720fd7434429216833187173656.html @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::raw + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ raw

    + +
    +
    + + + + + +
    + + + + +
    enum class eosio::name::raw : uint64_t
    +
    +strong
    +
    + +

    См. определение в файле name.hpp строка 37

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_a3babe141d965ae3c1ae0ec31f417f4b1.html b/docs/cdt/structeosio_1_1name_a3babe141d965ae3c1ae0ec31f417f4b1.html new file mode 100644 index 000000000..457bda5c2 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a3babe141d965ae3c1ae0ec31f417f4b1.html @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::write_as_string + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ write_as_string()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    char * eosio::name::write_as_string (char * begin,
    char * end,
    bool dry_run = false 
    ) const
    +
    +inline
    +
    +

    Записывает строковое представление name в буфер char

    +
    Предусловие
    диапазон [begin, end) — допустимая область памяти для записи
    +
    Аргументы
    + + + + +
    begin— начало буфера
    end— конец буфера (не включая end)
    dry_run— если true, ничего не записывать
    +
    +
    +
    Возвращает
    char* — указатель сразу за последним символом, который был бы записан (при достаточном буфере и dry_run == false; смысл только если возврат ≥ begin)
    +
    Постусловие
    при успехе и dry_run == false в [begin, возврат) — строка имени
    + +

    См. определение в файле name.hpp строка 229

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_a3e05c2f8c5eb5fa35dc1a99918d57c19.html b/docs/cdt/structeosio_1_1name_a3e05c2f8c5eb5fa35dc1a99918d57c19.html new file mode 100644 index 000000000..83b008b71 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a3e05c2f8c5eb5fa35dc1a99918d57c19.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ name() [1/4]

    + +
    +
    + + + + + +
    + + + + + + + +
    constexpr eosio::name::name ()
    +
    +inlineconstexpr
    +
    + +

    Конструктор name со значением по умолчанию 0.

    +

    Конструктор по умолчанию; имя с нулевым значением

    + +

    См. определение в файле name.hpp строка 45

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_a4679582f6b187de123c5167db945b0fe.html b/docs/cdt/structeosio_1_1name_a4679582f6b187de123c5167db945b0fe.html new file mode 100644 index 000000000..198c9efa8 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a4679582f6b187de123c5167db945b0fe.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ name() [3/4]

    + +
    +
    + + + + + +
    + + + + + + + + +
    constexpr eosio::name::name (name::raw r)
    +
    +inlineexplicitconstexpr
    +
    + +

    Конструктор name; инициализация поля value значением r.

    +

    Создаёт name из типа name::raw

    +
    Аргументы
    + + +
    r— сырое значение (strong typedef к uint64_t)
    +
    +
    + +

    См. определение в файле name.hpp строка 65

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_a5afd970dffff251b4137738542463c53.html b/docs/cdt/structeosio_1_1name_a5afd970dffff251b4137738542463c53.html new file mode 100644 index 000000000..2391d507d --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a5afd970dffff251b4137738542463c53.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::prefix + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ prefix()

    + +
    +
    + + + + + +
    + + + + + + + +
    constexpr name eosio::name::prefix () const
    +
    +inlineconstexpr
    +
    +

    Префикс имени до последней значащей точки

    + +

    См. определение в файле name.hpp строка 176

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_a667462189a277a9f11f66fcd88af05df.html b/docs/cdt/structeosio_1_1name_a667462189a277a9f11f66fcd88af05df.html new file mode 100644 index 000000000..f772aa3a4 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a667462189a277a9f11f66fcd88af05df.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::operator bool + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator bool()

    + +
    +
    + + + + + +
    + + + + + + + +
    constexpr eosio::name::operator bool () const
    +
    +inlineexplicitconstexpr
    +
    +

    Явное приведение к bool по полю value

    +
    Возвращает
    true — если value ≠ 0; иначе false
    + +

    См. определение в файле name.hpp строка 217

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_a757935f0931b482c554686c2ea2a42b2.html b/docs/cdt/structeosio_1_1name_a757935f0931b482c554686c2ea2a42b2.html new file mode 100644 index 000000000..17d80cf1f --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a757935f0931b482c554686c2ea2a42b2.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::length + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ length()

    + +
    +
    + + + + + +
    + + + + + + + +
    constexpr uint8_t eosio::name::length () const
    +
    +inlineconstexpr
    +
    +

    Длина имени в символах

    + +

    См. определение в файле name.hpp строка 123

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_a806f77788fe466215adeb2b78553b6f8.html b/docs/cdt/structeosio_1_1name_a806f77788fe466215adeb2b78553b6f8.html new file mode 100644 index 000000000..c7cb0ec3b --- /dev/null +++ b/docs/cdt/structeosio_1_1name_a806f77788fe466215adeb2b78553b6f8.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::suffix + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ suffix()

    + +
    +
    + + + + + +
    + + + + + + + +
    constexpr name eosio::name::suffix () const
    +
    +inlineconstexpr
    +
    +

    Суффикс имени после последней значащей точки

    + +

    См. определение в файле name.hpp строка 143

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_aa2b5455012ac1cc8bc9f615f305fa65e.html b/docs/cdt/structeosio_1_1name_aa2b5455012ac1cc8bc9f615f305fa65e.html new file mode 100644 index 000000000..4d0bb91e0 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_aa2b5455012ac1cc8bc9f615f305fa65e.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::print + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ print()

    + +
    +
    + + + + + +
    + + + + + + + +
    void eosio::name::print () const
    +
    +inline
    +
    +

    Печать имени в лог контракта COOPOS (нативный вывод)

    + +

    См. определение в файле name.hpp строка 265

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_abc1f35add0a585ea60d6c7333b87f595.html b/docs/cdt/structeosio_1_1name_abc1f35add0a585ea60d6c7333b87f595.html new file mode 100644 index 000000000..b896930ce --- /dev/null +++ b/docs/cdt/structeosio_1_1name_abc1f35add0a585ea60d6c7333b87f595.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ name() [2/4]

    + +
    +
    + + + + + +
    + + + + + + + + +
    constexpr eosio::name::name (uint64_t v)
    +
    +inlineexplicitconstexpr
    +
    + +

    Конструктор name; инициализация поля value значением v.

    +

    Создаёт name из uint64_t

    +
    Аргументы
    + + +
    v— значение uint64_t
    +
    +
    + +

    См. определение в файле name.hpp строка 54

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_adb309a6e132467ef2c53e953b56ebb52.html b/docs/cdt/structeosio_1_1name_adb309a6e132467ef2c53e953b56ebb52.html new file mode 100644 index 000000000..8d4984c41 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_adb309a6e132467ef2c53e953b56ebb52.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ value

    + +
    +
    + + + + +
    uint64_t eosio::name::value = 0
    +
    + +

    См. определение в файле name.hpp строка 300

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_ae9b8c13d32a86f9ff355b6dce3955ab6.html b/docs/cdt/structeosio_1_1name_ae9b8c13d32a86f9ff355b6dce3955ab6.html new file mode 100644 index 000000000..99bce6321 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_ae9b8c13d32a86f9ff355b6dce3955ab6.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::to_string + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_string()

    + +
    +
    + + + + + +
    + + + + + + + +
    std::string eosio::name::to_string () const
    +
    +inline
    +
    + +

    Возвращает имя как строку через write_as_string() и буфер, заполненный этой функцией

    +

    Строковое представление имени через write_as_string()

    + +

    См. определение в файле name.hpp строка 255

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1name_afd3799cbd1bc276a81dba035599f535c.html b/docs/cdt/structeosio_1_1name_afd3799cbd1bc276a81dba035599f535c.html new file mode 100644 index 000000000..1fc195192 --- /dev/null +++ b/docs/cdt/structeosio_1_1name_afd3799cbd1bc276a81dba035599f535c.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::name::operator raw + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator raw()

    + +
    +
    + + + + + +
    + + + + + + + +
    constexpr eosio::name::operator raw () const
    +
    +inlineconstexpr
    +
    +

    Приведение к name::raw

    +
    Возвращает
    значение в виде raw
    + +

    См. определение в файле name.hpp строка 210

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1onerror-members.html b/docs/cdt/structeosio_1_1onerror-members.html new file mode 100644 index 000000000..6e45b8234 --- /dev/null +++ b/docs/cdt/structeosio_1_1onerror-members.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::onerror Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::onerror, включая наследуемые из базового класса

    + + + + + +
    from_current_action()eosio::onerrorinlinestatic
    sender_ideosio::onerror
    sent_trxeosio::onerror
    unpack_sent_trx() consteosio::onerrorinline
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1onerror.html b/docs/cdt/structeosio_1_1onerror.html new file mode 100644 index 000000000..37fc03b3f --- /dev/null +++ b/docs/cdt/structeosio_1_1onerror.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::onerror + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <transaction.hpp>

    + + + + +

    +Открытые члены

    transaction unpack_sent_trx () const
     
    + + + +

    +Открытые статические члены

    static onerror from_current_action ()
     
    + + + + + +

    +Открытые атрибуты

    uint128_t sender_id
     
    std::vector< char > sent_trx
     
    +

    Подробное описание

    +

    Структура onerror содержит идентификатор отправителя и упакованную транзакцию

    + +

    См. определение в файле transaction.hpp строка 138

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1onerror.js b/docs/cdt/structeosio_1_1onerror.js new file mode 100644 index 000000000..daa58fd21 --- /dev/null +++ b/docs/cdt/structeosio_1_1onerror.js @@ -0,0 +1,6 @@ +var structeosio_1_1onerror = +[ + [ "unpack_sent_trx", "structeosio_1_1onerror_a8fe8368f7a3213b5ab0a93407f41cd66.html#a8fe8368f7a3213b5ab0a93407f41cd66", null ], + [ "sender_id", "structeosio_1_1onerror_ae6686bc621795ad87f257d0be72f345c.html#ae6686bc621795ad87f257d0be72f345c", null ], + [ "sent_trx", "structeosio_1_1onerror_a1cae304360f79394762ec5040046887e.html#a1cae304360f79394762ec5040046887e", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1onerror_a1cae304360f79394762ec5040046887e.html b/docs/cdt/structeosio_1_1onerror_a1cae304360f79394762ec5040046887e.html new file mode 100644 index 000000000..bd3700758 --- /dev/null +++ b/docs/cdt/structeosio_1_1onerror_a1cae304360f79394762ec5040046887e.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::onerror::sent_trx + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ sent_trx

    + +
    +
    + + + + +
    std::vector<char> eosio::onerror::sent_trx
    +
    + +

    См. определение в файле transaction.hpp строка 140

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1onerror_a8fe8368f7a3213b5ab0a93407f41cd66.html b/docs/cdt/structeosio_1_1onerror_a8fe8368f7a3213b5ab0a93407f41cd66.html new file mode 100644 index 000000000..e11d5c2c2 --- /dev/null +++ b/docs/cdt/structeosio_1_1onerror_a8fe8368f7a3213b5ab0a93407f41cd66.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::onerror::unpack_sent_trx + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ unpack_sent_trx()

    + +
    +
    + + + + + +
    + + + + + + + +
    transaction eosio::onerror::unpack_sent_trx () const
    +
    +inline
    +
    +

    Распаковывает и возвращает транзакцию

    + +

    См. определение в файле transaction.hpp строка 154

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1onerror_ae6686bc621795ad87f257d0be72f345c.html b/docs/cdt/structeosio_1_1onerror_ae6686bc621795ad87f257d0be72f345c.html new file mode 100644 index 000000000..b12faf853 --- /dev/null +++ b/docs/cdt/structeosio_1_1onerror_ae6686bc621795ad87f257d0be72f345c.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::onerror::sender_id + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ sender_id

    + +
    +
    + + + + +
    uint128_t eosio::onerror::sender_id
    +
    + +

    См. определение в файле transaction.hpp строка 139

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1overloaded.html b/docs/cdt/structeosio_1_1overloaded.html new file mode 100644 index 000000000..cd3a37e54 --- /dev/null +++ b/docs/cdt/structeosio_1_1overloaded.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::overloaded< Ts > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    Шаблон структуры eosio::overloaded< Ts >
    +
    +
    + +

    #include <rope.hpp>

    +
    +Граф наследования:eosio::overloaded< Ts >:
    +
    +
    + +
    +

    Подробное описание

    +
    template<class... Ts>
    +struct eosio::overloaded< Ts >
    +

    См. определение в файле rope.hpp строка 11

    +

    Объявления и описания членов структуры находятся в файле:
      +
    • libraries/eosiolib/core/eosio/rope.hpp
    • +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1overloaded.png b/docs/cdt/structeosio_1_1overloaded.png new file mode 100644 index 000000000..cdc30aac3 Binary files /dev/null and b/docs/cdt/structeosio_1_1overloaded.png differ diff --git a/docs/cdt/structeosio_1_1permission__level-members.html b/docs/cdt/structeosio_1_1permission__level-members.html new file mode 100644 index 000000000..4c94acac4 --- /dev/null +++ b/docs/cdt/structeosio_1_1permission__level-members.html @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::permission_level Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::permission_level, включая наследуемые из базового класса

    + + + + + + + +
    actoreosio::permission_level
    operator<eosio::permission_levelfriend
    operator==eosio::permission_levelfriend
    permissioneosio::permission_level
    permission_level(name a, name p)eosio::permission_levelinline
    permission_level()eosio::permission_levelinline
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1permission__level.html b/docs/cdt/structeosio_1_1permission__level.html new file mode 100644 index 000000000..1c3dc77bd --- /dev/null +++ b/docs/cdt/structeosio_1_1permission__level.html @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::permission_level + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <action.hpp>

    + + + + + + +

    +Открытые члены

     permission_level (name a, name p)
     
     permission_level ()
     
    + + + + + +

    +Открытые атрибуты

    name actor
     
    name permission
     
    + + + + + +

    +Друзья

    constexpr bool operator== (const permission_level &a, const permission_level &b)
     
    constexpr bool operator< (const permission_level &a, const permission_level &b)
     
    +

    Подробное описание

    +

    Упакованное представление уровня разрешения (авторизация)

    + +

    См. определение в файле action.hpp строка 235

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1permission__level.js b/docs/cdt/structeosio_1_1permission__level.js new file mode 100644 index 000000000..7f7754252 --- /dev/null +++ b/docs/cdt/structeosio_1_1permission__level.js @@ -0,0 +1,9 @@ +var structeosio_1_1permission__level = +[ + [ "permission_level", "structeosio_1_1permission__level_a5b23258308433be05a03ab4e2fce9b36.html#a5b23258308433be05a03ab4e2fce9b36", null ], + [ "permission_level", "structeosio_1_1permission__level_a80e38737c6e727a27e9ff7a195f74d5d.html#a80e38737c6e727a27e9ff7a195f74d5d", null ], + [ "operator<", "structeosio_1_1permission__level_a0e60ff070bbee22ee47e719e8b7757a1.html#a0e60ff070bbee22ee47e719e8b7757a1", null ], + [ "operator==", "structeosio_1_1permission__level_a40e360b0bfdb5aa413812d5cb171ff51.html#a40e360b0bfdb5aa413812d5cb171ff51", null ], + [ "actor", "structeosio_1_1permission__level_ab5d07611f5ba5e7b5dff9e749c5696e0.html#ab5d07611f5ba5e7b5dff9e749c5696e0", null ], + [ "permission", "structeosio_1_1permission__level_af30baa92f0b3d6b611967c0dfb7555a7.html#af30baa92f0b3d6b611967c0dfb7555a7", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1permission__level_a0e60ff070bbee22ee47e719e8b7757a1.html b/docs/cdt/structeosio_1_1permission__level_a0e60ff070bbee22ee47e719e8b7757a1.html new file mode 100644 index 000000000..409371175 --- /dev/null +++ b/docs/cdt/structeosio_1_1permission__level_a0e60ff070bbee22ee47e719e8b7757a1.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::permission_level::operator< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr bool operator< (const permission_levela,
    const permission_levelb 
    )
    +
    +friend
    +
    +

    Лексикографическое сравнение двух разрешений

    +
    Аргументы
    + + + +
    a— первое сравниваемое разрешение
    b— второе сравниваемое разрешение
    +
    +
    +
    Возвращает
    true, если a < b
    +
    +false, если a >= b
    + +

    См. определение в файле action.hpp строка 279

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1permission__level_a40e360b0bfdb5aa413812d5cb171ff51.html b/docs/cdt/structeosio_1_1permission__level_a40e360b0bfdb5aa413812d5cb171ff51.html new file mode 100644 index 000000000..f1c39379a --- /dev/null +++ b/docs/cdt/structeosio_1_1permission__level_a40e360b0bfdb5aa413812d5cb171ff51.html @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::permission_level::operator== + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator==

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr bool operator== (const permission_levela,
    const permission_levelb 
    )
    +
    +friend
    +
    +

    Проверка равенства двух разрешений

    +
    Аргументы
    + + + +
    a— первое сравниваемое разрешение
    b— второе сравниваемое разрешение
    +
    +
    +
    Возвращает
    true, если равны
    +
    +false, если не равны
    + +

    См. определение в файле action.hpp строка 267

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1permission__level_a5b23258308433be05a03ab4e2fce9b36.html b/docs/cdt/structeosio_1_1permission__level_a5b23258308433be05a03ab4e2fce9b36.html new file mode 100644 index 000000000..0bb758ffc --- /dev/null +++ b/docs/cdt/structeosio_1_1permission__level_a5b23258308433be05a03ab4e2fce9b36.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::permission_level::permission_level + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ permission_level() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    eosio::permission_level::permission_level (name a,
    name p 
    )
    +
    +inline
    +
    +

    Создаёт объект уровня разрешения с именем актора и именем разрешения

    +
    Аргументы
    + + + +
    a— имя аккаунта, которому принадлежит эта авторизация
    p— имя разрешения
    +
    +
    + +

    См. определение в файле action.hpp строка 242

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1permission__level_a80e38737c6e727a27e9ff7a195f74d5d.html b/docs/cdt/structeosio_1_1permission__level_a80e38737c6e727a27e9ff7a195f74d5d.html new file mode 100644 index 000000000..b954b1eda --- /dev/null +++ b/docs/cdt/structeosio_1_1permission__level_a80e38737c6e727a27e9ff7a195f74d5d.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::permission_level::permission_level + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ permission_level() [2/2]

    + +
    +
    + + + + + +
    + + + + + + + +
    eosio::permission_level::permission_level ()
    +
    +inline
    +
    +

    Конструктор по умолчанию

    + +

    См. определение в файле action.hpp строка 248

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1permission__level_ab5d07611f5ba5e7b5dff9e749c5696e0.html b/docs/cdt/structeosio_1_1permission__level_ab5d07611f5ba5e7b5dff9e749c5696e0.html new file mode 100644 index 000000000..7505a3ded --- /dev/null +++ b/docs/cdt/structeosio_1_1permission__level_ab5d07611f5ba5e7b5dff9e749c5696e0.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::permission_level::actor + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ actor

    + +
    +
    + + + + +
    name eosio::permission_level::actor
    +
    +

    Имя аккаунта, которому принадлежит это разрешение

    + +

    См. определение в файле action.hpp строка 253

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1permission__level_af30baa92f0b3d6b611967c0dfb7555a7.html b/docs/cdt/structeosio_1_1permission__level_af30baa92f0b3d6b611967c0dfb7555a7.html new file mode 100644 index 000000000..dacd641c7 --- /dev/null +++ b/docs/cdt/structeosio_1_1permission__level_af30baa92f0b3d6b611967c0dfb7555a7.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::permission_level::permission + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ permission

    + +
    +
    + + + + +
    name eosio::permission_level::permission
    +
    +

    Имя разрешения

    + +

    См. определение в файле action.hpp строка 257

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__authority-members.html b/docs/cdt/structeosio_1_1producer__authority-members.html new file mode 100644 index 000000000..e56067cf5 --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__authority-members.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::producer_authority Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::producer_authority, включая наследуемые из базового класса

    + + + + + +
    authorityeosio::producer_authority
    CDT_REFLECT(producer_name, authority)eosio::producer_authority
    operator<eosio::producer_authorityfriend
    producer_nameeosio::producer_authority
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__authority.html b/docs/cdt/structeosio_1_1producer__authority.html new file mode 100644 index 000000000..4e10f49bd --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__authority.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::producer_authority + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    Сопоставляет производителя с его ключом подписи + Подробнее...

    + +

    #include <producer_schedule.hpp>

    + + + + +

    +Открытые члены

     CDT_REFLECT (producer_name, authority)
     
    + + + + + + +

    +Открытые атрибуты

    name producer_name
     имя производителя Подробнее...
     
    block_signing_authority authority
     
    + + + +

    +Друзья

    constexpr bool operator< (const producer_authority &a, const producer_authority &b)
     
    +

    Подробное описание

    +

    Сопоставляет производителя с его ключом подписи

    +

    Сопоставляет производителя с полномочием подписи блока; используется в расписании производителей

    + +

    См. определение в файле producer_schedule.hpp строка 144

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__authority.js b/docs/cdt/structeosio_1_1producer__authority.js new file mode 100644 index 000000000..d3dc699f8 --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__authority.js @@ -0,0 +1,7 @@ +var structeosio_1_1producer__authority = +[ + [ "CDT_REFLECT", "structeosio_1_1producer__authority_ab4890311700654d7b4b23c4352a932e0.html#ab4890311700654d7b4b23c4352a932e0", null ], + [ "operator<", "structeosio_1_1producer__authority_aa26af3fe95014015f5501d41d997f6be.html#aa26af3fe95014015f5501d41d997f6be", null ], + [ "authority", "structeosio_1_1producer__authority_aaefed59167672831f79af2e1d3a2160e.html#aaefed59167672831f79af2e1d3a2160e", null ], + [ "producer_name", "structeosio_1_1producer__authority_a4b283812e4b5646e5c00b9009ccaa642.html#a4b283812e4b5646e5c00b9009ccaa642", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1producer__authority_a4b283812e4b5646e5c00b9009ccaa642.html b/docs/cdt/structeosio_1_1producer__authority_a4b283812e4b5646e5c00b9009ccaa642.html new file mode 100644 index 000000000..43b611aa0 --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__authority_a4b283812e4b5646e5c00b9009ccaa642.html @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::producer_authority::producer_name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ producer_name

    + +
    +
    + + + + +
    name eosio::producer_authority::producer_name
    +
    + +

    имя производителя

    +

    Имя производителя

    + +

    См. определение в файле producer_schedule.hpp строка 151

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__authority_aa26af3fe95014015f5501d41d997f6be.html b/docs/cdt/structeosio_1_1producer__authority_aa26af3fe95014015f5501d41d997f6be.html new file mode 100644 index 000000000..0b4b165f7 --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__authority_aa26af3fe95014015f5501d41d997f6be.html @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::producer_authority::operator< + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator<

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr bool operator< (const producer_authoritya,
    const producer_authorityb 
    )
    +
    +friend
    +
    + +

    См. определение в файле producer_schedule.hpp строка 158

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__authority_aaefed59167672831f79af2e1d3a2160e.html b/docs/cdt/structeosio_1_1producer__authority_aaefed59167672831f79af2e1d3a2160e.html new file mode 100644 index 000000000..aa8301b6e --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__authority_aaefed59167672831f79af2e1d3a2160e.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::producer_authority::authority + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ authority

    + +
    +
    + + + + +
    block_signing_authority eosio::producer_authority::authority
    +
    +

    Полномочие подписи блока для этого производителя

    + +

    См. определение в файле producer_schedule.hpp строка 156

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__authority_ab4890311700654d7b4b23c4352a932e0.html b/docs/cdt/structeosio_1_1producer__authority_ab4890311700654d7b4b23c4352a932e0.html new file mode 100644 index 000000000..4642aef55 --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__authority_ab4890311700654d7b4b23c4352a932e0.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::producer_authority::CDT_REFLECT + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ CDT_REFLECT()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    eosio::producer_authority::CDT_REFLECT (producer_name ,
    authority  
    )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__key-members.html b/docs/cdt/structeosio_1_1producer__key-members.html new file mode 100644 index 000000000..980954d5d --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__key-members.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::producer_key Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::producer_key, включая наследуемые из базового класса

    + + + + +
    block_signing_keyeosio::producer_key
    CDT_REFLECT(producer_name, block_signing_key)eosio::producer_key
    producer_nameeosio::producer_key
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__key.html b/docs/cdt/structeosio_1_1producer__key.html new file mode 100644 index 000000000..9954bdd79 --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__key.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::producer_key + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <producer_schedule.hpp>

    + + + + +

    +Открытые члены

     CDT_REFLECT (producer_name, block_signing_key)
     
    + + + + + +

    +Открытые атрибуты

    name producer_name
     
    public_key block_signing_key
     
    +

    Подробное описание

    +

    Сопоставляет производителя с ключом подписи блока; используется в расписании производителей

    + +

    См. определение в файле producer_schedule.hpp строка 20

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__key.js b/docs/cdt/structeosio_1_1producer__key.js new file mode 100644 index 000000000..4d324b7c0 --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__key.js @@ -0,0 +1,6 @@ +var structeosio_1_1producer__key = +[ + [ "CDT_REFLECT", "structeosio_1_1producer__key_a7c39bd53db1afc7e683a4e0089cd156b.html#a7c39bd53db1afc7e683a4e0089cd156b", null ], + [ "block_signing_key", "group__producer__key_gaf5899a46ea38009f20643792af38d26b.html#gaf5899a46ea38009f20643792af38d26b", null ], + [ "producer_name", "group__producer__key_gabec477141e08f7648fbdb5d7c2e69824.html#gabec477141e08f7648fbdb5d7c2e69824", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1producer__key_a7c39bd53db1afc7e683a4e0089cd156b.html b/docs/cdt/structeosio_1_1producer__key_a7c39bd53db1afc7e683a4e0089cd156b.html new file mode 100644 index 000000000..24772e838 --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__key_a7c39bd53db1afc7e683a4e0089cd156b.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::producer_key::CDT_REFLECT + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ CDT_REFLECT()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    eosio::producer_key::CDT_REFLECT (producer_name ,
    block_signing_key  
    )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__schedule-members.html b/docs/cdt/structeosio_1_1producer__schedule-members.html new file mode 100644 index 000000000..c05ceecc7 --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__schedule-members.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::producer_schedule Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::producer_schedule, включая наследуемые из базового класса

    + + + + +
    CDT_REFLECT(version, producers)eosio::producer_schedule
    producerseosio::producer_schedule
    versioneosio::producer_schedule
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__schedule.html b/docs/cdt/structeosio_1_1producer__schedule.html new file mode 100644 index 000000000..39b81d35d --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__schedule.html @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::producer_schedule + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <producer_schedule.hpp>

    + + + + +

    +Открытые члены

     CDT_REFLECT (version, producers)
     
    + + + + + +

    +Открытые атрибуты

    uint32_t version
     
    std::vector< producer_keyproducers
     
    +

    Подробное описание

    +

    Задаёт порядок, имена аккаунтов и ключи подписи активного набора производителей

    + +

    См. определение в файле producer_schedule.hpp строка 59

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__schedule.js b/docs/cdt/structeosio_1_1producer__schedule.js new file mode 100644 index 000000000..aa3b2892c --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__schedule.js @@ -0,0 +1,6 @@ +var structeosio_1_1producer__schedule = +[ + [ "CDT_REFLECT", "structeosio_1_1producer__schedule_aad91c3466de8f18794c629a5b5a1700d.html#aad91c3466de8f18794c629a5b5a1700d", null ], + [ "producers", "structeosio_1_1producer__schedule_a10628b8023f6db90687a54776d15a117.html#a10628b8023f6db90687a54776d15a117", null ], + [ "version", "structeosio_1_1producer__schedule_a3958be89c877e9249710a8aafa155829.html#a3958be89c877e9249710a8aafa155829", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1producer__schedule_a10628b8023f6db90687a54776d15a117.html b/docs/cdt/structeosio_1_1producer__schedule_a10628b8023f6db90687a54776d15a117.html new file mode 100644 index 000000000..686dfe94c --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__schedule_a10628b8023f6db90687a54776d15a117.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::producer_schedule::producers + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ producers

    + +
    +
    + + + + +
    std::vector<producer_key> eosio::producer_schedule::producers
    +
    +

    Список производителей расписания с ключами подписи

    + +

    См. определение в файле producer_schedule.hpp строка 68

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__schedule_a3958be89c877e9249710a8aafa155829.html b/docs/cdt/structeosio_1_1producer__schedule_a3958be89c877e9249710a8aafa155829.html new file mode 100644 index 000000000..7e5d1d7dd --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__schedule_a3958be89c877e9249710a8aafa155829.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::producer_schedule::version + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ version

    + +
    +
    + + + + +
    uint32_t eosio::producer_schedule::version
    +
    +

    Номер версии расписания (монотонно возрастающий)

    + +

    См. определение в файле producer_schedule.hpp строка 63

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1producer__schedule_aad91c3466de8f18794c629a5b5a1700d.html b/docs/cdt/structeosio_1_1producer__schedule_aad91c3466de8f18794c629a5b5a1700d.html new file mode 100644 index 000000000..ff120bfda --- /dev/null +++ b/docs/cdt/structeosio_1_1producer__schedule_aad91c3466de8f18794c629a5b5a1700d.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::producer_schedule::CDT_REFLECT + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ CDT_REFLECT()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    eosio::producer_schedule::CDT_REFLECT (version ,
    producers  
    )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1security__group-members.html b/docs/cdt/structeosio_1_1security__group-members.html new file mode 100644 index 000000000..eed89a86d --- /dev/null +++ b/docs/cdt/structeosio_1_1security__group-members.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::security_group Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::security_group, включая наследуемые из базового класса

    + + + + +
    CDT_REFLECT(version, participants)eosio::security_group
    participantseosio::security_group
    versioneosio::security_group
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1security__group.html b/docs/cdt/structeosio_1_1security__group.html new file mode 100644 index 000000000..e7ca1b9f7 --- /dev/null +++ b/docs/cdt/structeosio_1_1security__group.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::security_group + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <security_group.hpp>

    + + + + +

    +Открытые члены

     CDT_REFLECT (version, participants)
     
    + + + + + +

    +Открытые атрибуты

    uint32_t version
     
    std::set< nameparticipants
     
    +

    Подробное описание

    +
    +

    См. определение в файле security_group.hpp строка 26

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1security__group.js b/docs/cdt/structeosio_1_1security__group.js new file mode 100644 index 000000000..bd5121433 --- /dev/null +++ b/docs/cdt/structeosio_1_1security__group.js @@ -0,0 +1,6 @@ +var structeosio_1_1security__group = +[ + [ "CDT_REFLECT", "structeosio_1_1security__group_afb9b03dbcd61b6fad93b37b10ca2504a.html#afb9b03dbcd61b6fad93b37b10ca2504a", null ], + [ "participants", "structeosio_1_1security__group_a973d5d82d74821e31a8cd813a3b9cb6f.html#a973d5d82d74821e31a8cd813a3b9cb6f", null ], + [ "version", "structeosio_1_1security__group_af820dad499d430e6576e7d92ebde7f88.html#af820dad499d430e6576e7d92ebde7f88", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1security__group_a973d5d82d74821e31a8cd813a3b9cb6f.html b/docs/cdt/structeosio_1_1security__group_a973d5d82d74821e31a8cd813a3b9cb6f.html new file mode 100644 index 000000000..4d10e83bc --- /dev/null +++ b/docs/cdt/structeosio_1_1security__group_a973d5d82d74821e31a8cd813a3b9cb6f.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::security_group::participants + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ participants

    + +
    +
    + + + + +
    std::set<name> eosio::security_group::participants
    +
    + +

    См. определение в файле security_group.hpp строка 28

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1security__group_af820dad499d430e6576e7d92ebde7f88.html b/docs/cdt/structeosio_1_1security__group_af820dad499d430e6576e7d92ebde7f88.html new file mode 100644 index 000000000..1a54ad486 --- /dev/null +++ b/docs/cdt/structeosio_1_1security__group_af820dad499d430e6576e7d92ebde7f88.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::security_group::version + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ version

    + +
    +
    + + + + +
    uint32_t eosio::security_group::version
    +
    + +

    См. определение в файле security_group.hpp строка 27

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1security__group_afb9b03dbcd61b6fad93b37b10ca2504a.html b/docs/cdt/structeosio_1_1security__group_afb9b03dbcd61b6fad93b37b10ca2504a.html new file mode 100644 index 000000000..7976dbb38 --- /dev/null +++ b/docs/cdt/structeosio_1_1security__group_afb9b03dbcd61b6fad93b37b10ca2504a.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::security_group::CDT_REFLECT + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ CDT_REFLECT()

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    eosio::security_group::CDT_REFLECT (version ,
    participants  
    )
    +
    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1signed__int-members.html b/docs/cdt/structeosio_1_1signed__int-members.html new file mode 100644 index 000000000..c9921ec54 --- /dev/null +++ b/docs/cdt/structeosio_1_1signed__int-members.html @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::signed_int Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::signed_int, включая наследуемые из базового класса

    + + + +
    signed_int(int32_t v=0)eosio::signed_intinline
    valueeosio::signed_int
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1signed__int.html b/docs/cdt/structeosio_1_1signed__int.html new file mode 100644 index 000000000..cebf70f8a --- /dev/null +++ b/docs/cdt/structeosio_1_1signed__int.html @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::signed_int + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <varint.hpp>

    + + + + +

    +Открытые члены

    constexpr signed_int (int32_t v=0)
     
    + + + +

    +Открытые атрибуты

    int32_t value
     
    +

    Подробное описание

    +

    Целое со знаком переменной длины. Обеспечивает более эффективную сериализацию 32-битного знакового int. Сериализует 32-битное знаковое целое минимально возможным числом байт.

    +
    Заметки
    varint32 со знаком и использует кодирование Zig-Zag
    + +

    См. определение в файле varint.hpp строка 246

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1signed__int.js b/docs/cdt/structeosio_1_1signed__int.js new file mode 100644 index 000000000..fea8af715 --- /dev/null +++ b/docs/cdt/structeosio_1_1signed__int.js @@ -0,0 +1,5 @@ +var structeosio_1_1signed__int = +[ + [ "signed_int", "structeosio_1_1signed__int_a0dd8bbac6533ed3729077bce4ada8997.html#a0dd8bbac6533ed3729077bce4ada8997", null ], + [ "value", "structeosio_1_1signed__int_a67cdbe3b1c5458c048006777b7cabccf.html#a67cdbe3b1c5458c048006777b7cabccf", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1signed__int_a0dd8bbac6533ed3729077bce4ada8997.html b/docs/cdt/structeosio_1_1signed__int_a0dd8bbac6533ed3729077bce4ada8997.html new file mode 100644 index 000000000..c8dcfc075 --- /dev/null +++ b/docs/cdt/structeosio_1_1signed__int_a0dd8bbac6533ed3729077bce4ada8997.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::signed_int::signed_int + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ signed_int()

    + +
    +
    + + + + + +
    + + + + + + + + +
    constexpr eosio::signed_int::signed_int (int32_t v = 0)
    +
    +inlineconstexpr
    +
    +

    Создаёт новый объект знакового целого

    +
    Аргументы
    + + +
    v- Источник
    +
    +
    + +

    См. определение в файле varint.hpp строка 252

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1signed__int_a67cdbe3b1c5458c048006777b7cabccf.html b/docs/cdt/structeosio_1_1signed__int_a67cdbe3b1c5458c048006777b7cabccf.html new file mode 100644 index 000000000..a8d40d38f --- /dev/null +++ b/docs/cdt/structeosio_1_1signed__int_a67cdbe3b1c5458c048006777b7cabccf.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::signed_int::value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ value

    + +
    +
    + + + + +
    int32_t eosio::signed_int::value
    +
    +

    Содержащееся значение

    + +

    См. определение в файле varint.hpp строка 293

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1unsigned__int-members.html b/docs/cdt/structeosio_1_1unsigned__int-members.html new file mode 100644 index 000000000..b04f96d60 --- /dev/null +++ b/docs/cdt/structeosio_1_1unsigned__int-members.html @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::unsigned_int Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::unsigned_int, включая наследуемые из базового класса

    + + + + + +
    operator T() consteosio::unsigned_intinline
    unsigned_int(uint32_t v=0)eosio::unsigned_intinline
    unsigned_int(T v)eosio::unsigned_intinline
    valueeosio::unsigned_int
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1unsigned__int.html b/docs/cdt/structeosio_1_1unsigned__int.html new file mode 100644 index 000000000..a3cadefdc --- /dev/null +++ b/docs/cdt/structeosio_1_1unsigned__int.html @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + +CDT: Структура eosio::unsigned_int + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <varint.hpp>

    + + + + + + + + + + +

    +Открытые члены

    constexpr unsigned_int (uint32_t v=0)
     
    template<typename T >
    constexpr unsigned_int (T v)
     
    template<typename T >
    constexpr operator T () const
     
    + + + +

    +Открытые атрибуты

    uint32_t value
     
    +

    Подробное описание

    +

    Целое без знака переменной длины. Обеспечивает более эффективную сериализацию 32-битного беззнакового int. Сериализует 32-битное беззнаковое целое минимально возможным числом байт. varuint32 без знака и использует VLQ или кодирование Base-128

    + +

    См. определение в файле varint.hpp строка 22

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1unsigned__int.js b/docs/cdt/structeosio_1_1unsigned__int.js new file mode 100644 index 000000000..8dd4a273c --- /dev/null +++ b/docs/cdt/structeosio_1_1unsigned__int.js @@ -0,0 +1,7 @@ +var structeosio_1_1unsigned__int = +[ + [ "unsigned_int", "structeosio_1_1unsigned__int_a8d6b543812504c0edec1d4befea8006a.html#a8d6b543812504c0edec1d4befea8006a", null ], + [ "unsigned_int", "structeosio_1_1unsigned__int_a2c1883d47646efcb3bc610c30be5097b.html#a2c1883d47646efcb3bc610c30be5097b", null ], + [ "operator T", "structeosio_1_1unsigned__int_ab362b441320e0681f3283b03efa8568d.html#ab362b441320e0681f3283b03efa8568d", null ], + [ "value", "structeosio_1_1unsigned__int_ae77bf5565f5fd33b99d944a78195185b.html#ae77bf5565f5fd33b99d944a78195185b", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1unsigned__int_a2c1883d47646efcb3bc610c30be5097b.html b/docs/cdt/structeosio_1_1unsigned__int_a2c1883d47646efcb3bc610c30be5097b.html new file mode 100644 index 000000000..cd198f112 --- /dev/null +++ b/docs/cdt/structeosio_1_1unsigned__int_a2c1883d47646efcb3bc610c30be5097b.html @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::unsigned_int::unsigned_int + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ unsigned_int() [2/2]

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    constexpr eosio::unsigned_int::unsigned_int (v)
    +
    +inlineconstexpr
    +
    +

    Создаёт новый объект беззнакового целого из типа, приводимого к uint32_t

    +
    Параметры шаблона
    + + +
    T- Тип источника
    +
    +
    +
    Аргументы
    + + +
    v- Источник
    +
    +
    +
    Предусловие
    T должен быть приводим к uint32_t
    + +

    См. определение в файле varint.hpp строка 38

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1unsigned__int_a8d6b543812504c0edec1d4befea8006a.html b/docs/cdt/structeosio_1_1unsigned__int_a8d6b543812504c0edec1d4befea8006a.html new file mode 100644 index 000000000..a3fa01a91 --- /dev/null +++ b/docs/cdt/structeosio_1_1unsigned__int_a8d6b543812504c0edec1d4befea8006a.html @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::unsigned_int::unsigned_int + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ unsigned_int() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + +
    constexpr eosio::unsigned_int::unsigned_int (uint32_t v = 0)
    +
    +inlineconstexpr
    +
    +

    Создаёт новый объект беззнакового целого

    +
    Аргументы
    + + +
    v- Источник
    +
    +
    + +

    См. определение в файле varint.hpp строка 28

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1unsigned__int_ab362b441320e0681f3283b03efa8568d.html b/docs/cdt/structeosio_1_1unsigned__int_ab362b441320e0681f3283b03efa8568d.html new file mode 100644 index 000000000..da5880b88 --- /dev/null +++ b/docs/cdt/structeosio_1_1unsigned__int_ab362b441320e0681f3283b03efa8568d.html @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::unsigned_int::operator T + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ operator T()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + +
    constexpr eosio::unsigned_int::operator T () const
    +
    +inlineconstexpr
    +
    +

    Приводит unsigned_int к типу T

    +
    Параметры шаблона
    + + +
    T- Целевой тип преобразования
    +
    +
    +
    Возвращает
    T - Результат преобразования
    + +

    См. определение в файле varint.hpp строка 50

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1unsigned__int_ae77bf5565f5fd33b99d944a78195185b.html b/docs/cdt/structeosio_1_1unsigned__int_ae77bf5565f5fd33b99d944a78195185b.html new file mode 100644 index 000000000..1e8650dd4 --- /dev/null +++ b/docs/cdt/structeosio_1_1unsigned__int_ae77bf5565f5fd33b99d944a78195185b.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::unsigned_int::value + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ value

    + +
    +
    + + + + +
    uint32_t eosio::unsigned_int::value
    +
    +

    Содержащееся значение

    + +

    См. определение в файле varint.hpp строка 67

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper-members.html b/docs/cdt/structeosio_1_1variant__action__wrapper-members.html new file mode 100644 index 000000000..cdb863524 --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper-members.html @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + +CDT: Cписок членов класса + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    eosio::variant_action_wrapper< Name, Actions > Cписок членов класса
    +
    +
    + +

    Полный список членов класса eosio::variant_action_wrapper< Name, Actions >, включая наследуемые из базового класса

    + + + + + + + + + + + + +
    action_nameeosio::variant_action_wrapper< Name, Actions >static
    code_nameeosio::variant_action_wrapper< Name, Actions >
    get_mem_ptr()eosio::variant_action_wrapper< Name, Actions >inlinestatic
    permissionseosio::variant_action_wrapper< Name, Actions >
    send(Args &&... args) consteosio::variant_action_wrapper< Name, Actions >inline
    send_context_free(Args &&... args) consteosio::variant_action_wrapper< Name, Actions >inline
    to_action(Args &&... args) consteosio::variant_action_wrapper< Name, Actions >inline
    variant_action_wrapper(Code &&code, std::vector< eosio::permission_level > &&perms)eosio::variant_action_wrapper< Name, Actions >inline
    variant_action_wrapper(Code &&code, const std::vector< eosio::permission_level > &perms)eosio::variant_action_wrapper< Name, Actions >inline
    variant_action_wrapper(Code &&code, eosio::permission_level &&perm)eosio::variant_action_wrapper< Name, Actions >inline
    variant_action_wrapper(Code &&code, const eosio::permission_level &perm)eosio::variant_action_wrapper< Name, Actions >inline
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper.html b/docs/cdt/structeosio_1_1variant__action__wrapper.html new file mode 100644 index 000000000..2f0c63b26 --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper.html @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + +CDT: Шаблон структуры eosio::variant_action_wrapper< Name, Actions > + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    #include <action.hpp>

    + + + + + + + + + + + + + + + + + + + + + + + +

    +Открытые члены

    template<typename Code >
    constexpr variant_action_wrapper (Code &&code, std::vector< eosio::permission_level > &&perms)
     
    template<typename Code >
    constexpr variant_action_wrapper (Code &&code, const std::vector< eosio::permission_level > &perms)
     
    template<typename Code >
    constexpr variant_action_wrapper (Code &&code, eosio::permission_level &&perm)
     
    template<typename Code >
    constexpr variant_action_wrapper (Code &&code, const eosio::permission_level &perm)
     
    template<size_t Variant, typename... Args>
    action to_action (Args &&... args) const
     
    template<size_t Variant, typename... Args>
    void send (Args &&... args) const
     
    template<size_t Variant, typename... Args>
    void send_context_free (Args &&... args) const
     
    + + + + +

    +Открытые статические члены

    template<size_t Variant>
    static constexpr auto get_mem_ptr ()
     
    + + + + + +

    +Открытые атрибуты

    eosio::name code_name
     
    std::vector< eosio::permission_levelpermissions
     
    + + + +

    +Статические открытые данные

    static constexpr eosio::name action_name = eosio::name(Name)
     
    +

    Подробное описание

    +
    template<eosio::name::raw Name, auto... Actions>
    +struct eosio::variant_action_wrapper< Name, Actions >
    +

    См. определение в файле action.hpp строка 553

    +

    Объявления и описания членов структуры находятся в файле: +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper.js b/docs/cdt/structeosio_1_1variant__action__wrapper.js new file mode 100644 index 000000000..11685a4ee --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper.js @@ -0,0 +1,12 @@ +var structeosio_1_1variant__action__wrapper = +[ + [ "variant_action_wrapper", "structeosio_1_1variant__action__wrapper_a54b47e0e84c464142c902d7194426d3a.html#a54b47e0e84c464142c902d7194426d3a", null ], + [ "variant_action_wrapper", "structeosio_1_1variant__action__wrapper_ae3836c99f199acd09f326c0788ad50ef.html#ae3836c99f199acd09f326c0788ad50ef", null ], + [ "variant_action_wrapper", "structeosio_1_1variant__action__wrapper_a0d83dd58a99adffbba6bd026e47a211e.html#a0d83dd58a99adffbba6bd026e47a211e", null ], + [ "variant_action_wrapper", "structeosio_1_1variant__action__wrapper_ac6c4a0bc39c0e593277378526083c7cc.html#ac6c4a0bc39c0e593277378526083c7cc", null ], + [ "send", "structeosio_1_1variant__action__wrapper_a1f95cbb7f23a1790f0ddf67d2336dd03.html#a1f95cbb7f23a1790f0ddf67d2336dd03", null ], + [ "send_context_free", "structeosio_1_1variant__action__wrapper_a4cf54eec122768c5dda66731eb1c0cd3.html#a4cf54eec122768c5dda66731eb1c0cd3", null ], + [ "to_action", "structeosio_1_1variant__action__wrapper_afe014cc8e17701b610af9e2adcc76da7.html#afe014cc8e17701b610af9e2adcc76da7", null ], + [ "code_name", "structeosio_1_1variant__action__wrapper_a171691c13edf4f6269bb1eec44e290f3.html#a171691c13edf4f6269bb1eec44e290f3", null ], + [ "permissions", "structeosio_1_1variant__action__wrapper_adec76a914d269cc458affb4c9a5123bd.html#adec76a914d269cc458affb4c9a5123bd", null ] +]; \ No newline at end of file diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_a0d83dd58a99adffbba6bd026e47a211e.html b/docs/cdt/structeosio_1_1variant__action__wrapper_a0d83dd58a99adffbba6bd026e47a211e.html new file mode 100644 index 000000000..de9d7a71e --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_a0d83dd58a99adffbba6bd026e47a211e.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::variant_action_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ variant_action_wrapper() [3/4]

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    +
    +template<typename Code >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr eosio::variant_action_wrapper< Name, Actions >::variant_action_wrapper (Code && code,
    eosio::permission_level && perm 
    )
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле action.hpp строка 563

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_a171691c13edf4f6269bb1eec44e290f3.html b/docs/cdt/structeosio_1_1variant__action__wrapper_a171691c13edf4f6269bb1eec44e290f3.html new file mode 100644 index 000000000..e4feeab47 --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_a171691c13edf4f6269bb1eec44e290f3.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::code_name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ code_name

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    + + + + +
    eosio::name eosio::variant_action_wrapper< Name, Actions >::code_name
    +
    + +

    См. определение в файле action.hpp строка 571

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_a1f95cbb7f23a1790f0ddf67d2336dd03.html b/docs/cdt/structeosio_1_1variant__action__wrapper_a1f95cbb7f23a1790f0ddf67d2336dd03.html new file mode 100644 index 000000000..aff541cdb --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_a1f95cbb7f23a1790f0ddf67d2336dd03.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::send + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ send()

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    +
    +template<size_t Variant, typename... Args>
    + + + + + +
    + + + + + + + + +
    void eosio::variant_action_wrapper< Name, Actions >::send (Args &&... args) const
    +
    +inline
    +
    + +

    См. определение в файле action.hpp строка 588

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_a4b90e84304c51bd96e69c165ef68b4f9.html b/docs/cdt/structeosio_1_1variant__action__wrapper_a4b90e84304c51bd96e69c165ef68b4f9.html new file mode 100644 index 000000000..bcad84e27 --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_a4b90e84304c51bd96e69c165ef68b4f9.html @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::action_name + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ action_name

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    + + + + + +
    + + + + +
    constexpr eosio::name eosio::variant_action_wrapper< Name, Actions >::action_name = eosio::name(Name)
    +
    +staticconstexpr
    +
    + +

    См. определение в файле action.hpp строка 570

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_a4cf54eec122768c5dda66731eb1c0cd3.html b/docs/cdt/structeosio_1_1variant__action__wrapper_a4cf54eec122768c5dda66731eb1c0cd3.html new file mode 100644 index 000000000..e77632e54 --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_a4cf54eec122768c5dda66731eb1c0cd3.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::send_context_free + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ send_context_free()

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    +
    +template<size_t Variant, typename... Args>
    + + + + + +
    + + + + + + + + +
    void eosio::variant_action_wrapper< Name, Actions >::send_context_free (Args &&... args) const
    +
    +inline
    +
    + +

    См. определение в файле action.hpp строка 593

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_a54b47e0e84c464142c902d7194426d3a.html b/docs/cdt/structeosio_1_1variant__action__wrapper_a54b47e0e84c464142c902d7194426d3a.html new file mode 100644 index 000000000..0fb8e6168 --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_a54b47e0e84c464142c902d7194426d3a.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::variant_action_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ variant_action_wrapper() [1/4]

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    +
    +template<typename Code >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr eosio::variant_action_wrapper< Name, Actions >::variant_action_wrapper (Code && code,
    std::vector< eosio::permission_level > && perms 
    )
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле action.hpp строка 555

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_ac6c4a0bc39c0e593277378526083c7cc.html b/docs/cdt/structeosio_1_1variant__action__wrapper_ac6c4a0bc39c0e593277378526083c7cc.html new file mode 100644 index 000000000..fc7fdffbe --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_ac6c4a0bc39c0e593277378526083c7cc.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::variant_action_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ variant_action_wrapper() [4/4]

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    +
    +template<typename Code >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr eosio::variant_action_wrapper< Name, Actions >::variant_action_wrapper (Code && code,
    const eosio::permission_levelperm 
    )
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле action.hpp строка 567

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_acc8f5998ff5d156eae85f525b0cb17e0.html b/docs/cdt/structeosio_1_1variant__action__wrapper_acc8f5998ff5d156eae85f525b0cb17e0.html new file mode 100644 index 000000000..f62b6baa5 --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_acc8f5998ff5d156eae85f525b0cb17e0.html @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::get_mem_ptr + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ get_mem_ptr()

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    +
    +template<size_t Variant>
    + + + + + +
    + + + + + + + +
    static constexpr auto eosio::variant_action_wrapper< Name, Actions >::get_mem_ptr ()
    +
    +inlinestaticconstexpr
    +
    + +

    См. определение в файле action.hpp строка 575

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_adec76a914d269cc458affb4c9a5123bd.html b/docs/cdt/structeosio_1_1variant__action__wrapper_adec76a914d269cc458affb4c9a5123bd.html new file mode 100644 index 000000000..643bfeb96 --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_adec76a914d269cc458affb4c9a5123bd.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::permissions + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ permissions

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    + + + + +
    std::vector<eosio::permission_level> eosio::variant_action_wrapper< Name, Actions >::permissions
    +
    + +

    См. определение в файле action.hpp строка 572

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_ae3836c99f199acd09f326c0788ad50ef.html b/docs/cdt/structeosio_1_1variant__action__wrapper_ae3836c99f199acd09f326c0788ad50ef.html new file mode 100644 index 000000000..b133e2395 --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_ae3836c99f199acd09f326c0788ad50ef.html @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::variant_action_wrapper + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ variant_action_wrapper() [2/4]

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    +
    +template<typename Code >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr eosio::variant_action_wrapper< Name, Actions >::variant_action_wrapper (Code && code,
    const std::vector< eosio::permission_level > & perms 
    )
    +
    +inlineconstexpr
    +
    + +

    См. определение в файле action.hpp строка 559

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/structeosio_1_1variant__action__wrapper_afe014cc8e17701b610af9e2adcc76da7.html b/docs/cdt/structeosio_1_1variant__action__wrapper_afe014cc8e17701b610af9e2adcc76da7.html new file mode 100644 index 000000000..8eb45c474 --- /dev/null +++ b/docs/cdt/structeosio_1_1variant__action__wrapper_afe014cc8e17701b610af9e2adcc76da7.html @@ -0,0 +1,182 @@ + + + + + + + + + + + + + + + + + + +CDT: eosio::variant_action_wrapper::to_action + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +

    ◆ to_action()

    + +
    +
    +
    +template<eosio::name::raw Name, auto... Actions>
    +
    +template<size_t Variant, typename... Args>
    + + + + + +
    + + + + + + + + +
    action eosio::variant_action_wrapper< Name, Actions >::to_action (Args &&... args) const
    +
    +inline
    +
    + +

    См. определение в файле action.hpp строка 580

    + +
    +
    +
    +
    + + + + + + diff --git a/docs/cdt/symbol_8hpp.html b/docs/cdt/symbol_8hpp.html new file mode 100644 index 000000000..8256b3852 --- /dev/null +++ b/docs/cdt/symbol_8hpp.html @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/symbol.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    +
    #include "check.hpp"
    +#include "name.hpp"
    +#include "serialize.hpp"
    +#include "print.hpp"
    +#include "datastream.hpp"
    +#include <tuple>
    +#include <limits>
    +#include <string_view>
    +
    +

    См. исходные тексты.

    + + + + + + + + +

    +Классы

    class  eosio::symbol_code
     
    class  eosio::symbol
     
    class  eosio::extended_symbol
     
    + + + +

    +Пространства имен

    namespace  eosio
     
    + + + + + + + + + + + + + + + +

    +Функции

    template<typename DataStream >
    DataStream & eosio::operator<< (DataStream &ds, const eosio::symbol_code sym_code)
     
    template<typename DataStream >
    DataStream & eosio::operator>> (DataStream &ds, eosio::symbol_code &sym_code)
     
    template<typename DataStream >
    DataStream & eosio::operator<< (DataStream &ds, const eosio::symbol sym)
     Сериализация symbol. Подробнее...
     
    template<typename DataStream >
    DataStream & eosio::operator>> (DataStream &ds, eosio::symbol &sym)
     Десериализация symbol. Подробнее...
     
    +

    Подробное описание

    +
    + +

    См. определение в файле symbol.hpp

    +
    +
    + + + + + + diff --git a/docs/cdt/symbol_8hpp.js b/docs/cdt/symbol_8hpp.js new file mode 100644 index 000000000..0dbfce464 --- /dev/null +++ b/docs/cdt/symbol_8hpp.js @@ -0,0 +1,7 @@ +var symbol_8hpp = +[ + [ "operator<<", "symbol_8hpp.html#adc89fdc06750abc79c6893c84255bcce", null ], + [ "operator<<", "symbol_8hpp.html#a11b12cc37c10cfd1c3bf36c217aa29f6", null ], + [ "operator>>", "symbol_8hpp.html#ab432976d17c725306cbb3491917d71c2", null ], + [ "operator>>", "symbol_8hpp.html#a9a3b6961efd68d456b206a0c8bbb498f", null ] +]; \ No newline at end of file diff --git a/docs/cdt/symbol_8hpp_source.html b/docs/cdt/symbol_8hpp_source.html new file mode 100644 index 000000000..c32e5564b --- /dev/null +++ b/docs/cdt/symbol_8hpp_source.html @@ -0,0 +1,386 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/symbol.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    symbol.hpp
    +
    +
    +См. документацию.
    1
    +
    5#pragma once
    +
    6
    +
    7#include "check.hpp"
    +
    8#include "name.hpp"
    +
    9#include "serialize.hpp"
    +
    10#include "print.hpp"
    +
    11#include "datastream.hpp"
    +
    12
    +
    13#include <tuple>
    +
    14#include <limits>
    +
    15#include <string_view>
    +
    16
    +
    17namespace eosio {
    + +
    30 public:
    +
    31
    +
    38 constexpr symbol_code() : value(0) {}
    +
    39
    +
    47 constexpr explicit symbol_code( uint64_t raw )
    +
    48 :value(raw)
    +
    49 {}
    +
    50
    +
    58 constexpr explicit symbol_code( std::string_view str )
    +
    59 :value(0)
    +
    60 {
    +
    61 if( str.size() > 7 ) {
    +
    62 eosio::check( false, "string is too long to be a valid symbol_code" );
    +
    63 }
    +
    64 for( auto itr = str.rbegin(); itr != str.rend(); ++itr ) {
    +
    65 if( *itr < 'A' || *itr > 'Z') {
    +
    66 eosio::check( false, "only uppercase letters allowed in symbol_code string" );
    +
    67 }
    +
    68 value <<= 8;
    +
    69 value |= *itr;
    +
    70 }
    +
    71 }
    +
    72
    +
    77 constexpr bool is_valid()const {
    +
    78 auto sym = value;
    +
    79 for ( int i=0; i < 7; i++ ) {
    +
    80 char c = (char)(sym & 0xFF);
    +
    81 if ( !('A' <= c && c <= 'Z') ) return false;
    +
    82 sym >>= 8;
    +
    83 if ( !(sym & 0xFF) ) {
    +
    84 do {
    +
    85 sym >>= 8;
    +
    86 if ( (sym & 0xFF) ) return false;
    +
    87 i++;
    +
    88 } while( i < 7 );
    +
    89 }
    +
    90 }
    +
    91 return true;
    +
    92 }
    +
    93
    +
    99 constexpr uint32_t length()const {
    +
    100 auto sym = value;
    +
    101 uint32_t len = 0;
    +
    102 while (sym & 0xFF && len <= 7) {
    +
    103 len++;
    +
    104 sym >>= 8;
    +
    105 }
    +
    106 return len;
    +
    107 }
    +
    108
    +
    114 constexpr uint64_t raw()const { return value; }
    +
    115
    +
    121 constexpr explicit operator bool()const { return value != 0; }
    +
    122
    +
    136 char* write_as_string( char* begin, char* end, bool dry_run = false )const {
    +
    137 constexpr uint64_t mask = 0xFFull;
    +
    138
    +
    139 if( dry_run || (begin + 7 < begin) || (begin + 7 > end) ) {
    +
    140 char* actual_end = begin + length();
    +
    141 if( dry_run || (actual_end < begin) || (actual_end > end) ) return actual_end;
    +
    142 }
    +
    143
    +
    144 auto v = value;
    +
    145 for( auto i = 0; i < 7; ++i, v >>= 8 ) {
    +
    146 if( v == 0 ) return begin;
    +
    147
    +
    148 *begin = static_cast<char>(v & mask);
    +
    149 ++begin;
    +
    150 }
    +
    151
    +
    152 return begin;
    +
    153 }
    +
    154
    +
    158 std::string to_string()const {
    +
    159 char buffer[7];
    +
    160 auto end = write_as_string( buffer, buffer + sizeof(buffer) );
    +
    161 return {buffer, end};
    +
    162 }
    +
    163
    +
    168 inline void print()const {
    +
    169 char buffer[7];
    +
    170 auto end = write_as_string( buffer, buffer + sizeof(buffer) );
    +
    171 if( buffer < end )
    +
    172 printl( buffer, (end-buffer) );
    +
    173 }
    +
    174
    +
    180 friend constexpr bool operator == ( const symbol_code& a, const symbol_code& b ) {
    +
    181 return a.value == b.value;
    +
    182 }
    +
    183
    +
    189 friend constexpr bool operator != ( const symbol_code& a, const symbol_code& b ) {
    +
    190 return a.value != b.value;
    +
    191 }
    +
    192
    +
    198 friend constexpr bool operator < ( const symbol_code& a, const symbol_code& b ) {
    +
    199 return a.value < b.value;
    +
    200 }
    +
    201
    +
    202 private:
    +
    203 uint64_t value = 0;
    +
    204 };
    +
    205
    +
    214 template<typename DataStream>
    +
    215 inline DataStream& operator<<(DataStream& ds, const eosio::symbol_code sym_code) {
    +
    216 uint64_t raw = sym_code.raw();
    +
    217 ds.write( (const char*)&raw, sizeof(raw));
    +
    218 return ds;
    +
    219 }
    +
    220
    +
    229 template<typename DataStream>
    +
    230 inline DataStream& operator>>(DataStream& ds, eosio::symbol_code& sym_code) {
    +
    231 uint64_t raw = 0;
    +
    232 ds.read((char*)&raw, sizeof(raw));
    +
    233 sym_code = symbol_code(raw);
    +
    234 return ds;
    +
    235 }
    +
    236
    +
    242 class symbol {
    +
    243 public:
    +
    247 constexpr symbol() : value(0) {}
    +
    248
    +
    254 constexpr explicit symbol( uint64_t raw ) : value(raw) {}
    +
    255
    +
    262 constexpr symbol( symbol_code sc, uint8_t precision )
    +
    263 : value( (sc.raw() << 8) | static_cast<uint64_t>(precision) )
    +
    264 {}
    +
    265
    +
    272 constexpr symbol( std::string_view ss, uint8_t precision )
    +
    273 : value( (symbol_code(ss).raw() << 8) | static_cast<uint64_t>(precision) )
    +
    274 {}
    +
    275
    +
    279 constexpr bool is_valid()const { return code().is_valid(); }
    +
    280
    +
    284 constexpr uint8_t precision()const { return static_cast<uint8_t>( value & 0xFFull ); }
    +
    285
    +
    289 constexpr symbol_code code()const { return symbol_code{value >> 8}; }
    +
    290
    +
    294 constexpr uint64_t raw()const { return value; }
    +
    295
    +
    296 constexpr explicit operator bool()const { return value != 0; }
    +
    297
    +
    301 void print( bool show_precision = true )const {
    +
    302 if( show_precision ){
    +
    303 ::eosio::print( static_cast<uint64_t>(precision()), "," );
    +
    304 }
    +
    305 char buffer[7];
    +
    306 auto end = code().write_as_string( buffer, buffer + sizeof(buffer) );
    +
    307 if( buffer < end )
    +
    308 printl( buffer, (end-buffer) );
    +
    309 }
    +
    310
    +
    316 friend constexpr bool operator == ( const symbol& a, const symbol& b ) {
    +
    317 return a.value == b.value;
    +
    318 }
    +
    319
    +
    325 friend constexpr bool operator != ( const symbol& a, const symbol& b ) {
    +
    326 return a.value != b.value;
    +
    327 }
    +
    328
    +
    334 friend constexpr bool operator < ( const symbol& a, const symbol& b ) {
    +
    335 return a.value < b.value;
    +
    336 }
    +
    337
    +
    338 private:
    +
    339 uint64_t value = 0;
    +
    340 };
    +
    341
    +
    351 template<typename DataStream>
    +
    352 inline DataStream& operator<<(DataStream& ds, const eosio::symbol sym) {
    +
    353 uint64_t raw = sym.raw();
    +
    354 ds.write( (const char*)&raw, sizeof(raw));
    +
    355 return ds;
    +
    356 }
    +
    357
    +
    367 template<typename DataStream>
    +
    368 inline DataStream& operator>>(DataStream& ds, eosio::symbol& sym) {
    +
    369 uint64_t raw = 0;
    +
    370 ds.read((char*)&raw, sizeof(raw));
    +
    371 sym = symbol(raw);
    +
    372 return ds;
    +
    373 }
    +
    374
    + +
    381 {
    +
    382 public:
    +
    383
    +
    387 constexpr extended_symbol() {}
    +
    388
    +
    395 constexpr extended_symbol( symbol s, name con ) : sym(s), contract(con) {}
    +
    396
    +
    402 constexpr symbol get_symbol() const { return sym; }
    +
    403
    +
    409 constexpr name get_contract() const { return contract; }
    +
    410
    +
    416 void print( bool show_precision = true )const {
    +
    417 sym.print( show_precision );
    + +
    419 }
    +
    420
    +
    426 friend constexpr bool operator == ( const extended_symbol& a, const extended_symbol& b ) {
    +
    427 return std::tie( a.sym, a.contract ) == std::tie( b.sym, b.contract );
    +
    428 }
    +
    429
    +
    435 friend constexpr bool operator != ( const extended_symbol& a, const extended_symbol& b ) {
    +
    436 return std::tie( a.sym, a.contract ) != std::tie( b.sym, b.contract );
    +
    437 }
    +
    438
    +
    444 friend constexpr bool operator < ( const extended_symbol& a, const extended_symbol& b ) {
    +
    445 return std::tie( a.sym, a.contract ) < std::tie( b.sym, b.contract );
    +
    446 }
    +
    447
    +
    448 private:
    +
    449 symbol sym;
    +
    450 name contract;
    +
    451
    + +
    453 };
    +
    454}
    +
    +
    + + + + + + diff --git a/docs/cdt/sync_off.png b/docs/cdt/sync_off.png new file mode 100644 index 000000000..3b443fc62 Binary files /dev/null and b/docs/cdt/sync_off.png differ diff --git a/docs/cdt/sync_on.png b/docs/cdt/sync_on.png new file mode 100644 index 000000000..e08320fb6 Binary files /dev/null and b/docs/cdt/sync_on.png differ diff --git a/docs/cdt/system_8hpp.html b/docs/cdt/system_8hpp.html new file mode 100644 index 000000000..20aea5b7a --- /dev/null +++ b/docs/cdt/system_8hpp.html @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/system.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    См. исходные тексты.

    + + + + + + +

    +Пространства имен

    namespace  eosio
     
    namespace  eosio::internal_use_do_not_use
     
    + + + +

    +Определения типов

    using eosio::block_num_t = uint32_t
     
    + + + + + + + + + + + + + + + + + + + +

    +Функции

     eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import, noreturn)) void eosio_exit(int32_t code)
     
    struct eosio::internal_use_do_not_use::__attribute__ ((aligned(16))) capi_checksum256_ext
     
     eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
     
    void eosio::eosio_exit (int32_t code)
     
    time_point eosio::current_time_point ()
     
    block_timestamp eosio::current_block_time ()
     
    block_num_t eosio::current_block_number ()
     
    bool eosio::is_feature_activated (const checksum256 &feature_digest)
     
    name eosio::get_sender ()
     
    +

    Подробное описание

    +
    + +

    См. определение в файле system.hpp

    +
    +
    + + + + + + diff --git a/docs/cdt/system_8hpp.js b/docs/cdt/system_8hpp.js new file mode 100644 index 000000000..672a9ebd8 --- /dev/null +++ b/docs/cdt/system_8hpp.js @@ -0,0 +1,13 @@ +var system_8hpp = +[ + [ "block_num_t", "system_8hpp.html#abdbab72cb6a9b99ab917c317a385d28d", null ], + [ "__attribute__", "system_8hpp.html#a81a3d531420e3eb3b02b3fdf9a4302ec", null ], + [ "__attribute__", "system_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387", null ], + [ "__attribute__", "system_8hpp.html#ab0a361bb08c4c76e3ff6515e7d600af0", null ], + [ "current_block_number", "system_8hpp.html#gad7e3e2102562d6671dd70bdac6feda0c", null ], + [ "current_block_time", "system_8hpp.html#gada0c9f4292996498bc781f2f52255086", null ], + [ "current_time_point", "system_8hpp.html#gad5f4701ab1b418fe1f1558e199047e35", null ], + [ "eosio_exit", "system_8hpp.html#ga956ded6d541ae9e454b446f0d5d0b24c", null ], + [ "get_sender", "system_8hpp.html#gad4861c14350c38823173733ce00ba6ff", null ], + [ "is_feature_activated", "system_8hpp.html#ga6a213f83fa0851779c32cfcf66c816a9", null ] +]; \ No newline at end of file diff --git a/docs/cdt/system_8hpp_source.html b/docs/cdt/system_8hpp_source.html new file mode 100644 index 000000000..80dd31119 --- /dev/null +++ b/docs/cdt/system_8hpp_source.html @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/system.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    system.hpp
    +
    +
    +См. документацию.
    1
    +
    5#pragma once
    +
    6#include "../../core/eosio/time.hpp"
    +
    7#include "../../core/eosio/check.hpp"
    +
    8#include "../../core/eosio/fixed_bytes.hpp"
    +
    9#include "../../core/eosio/name.hpp"
    +
    10
    +
    11namespace eosio {
    +
    12 namespace internal_use_do_not_use {
    +
    13 extern "C" {
    +
    14 __attribute__((eosio_wasm_import, noreturn))
    +
    15 void eosio_exit( int32_t code );
    +
    16
    +
    17 struct __attribute__((aligned (16))) capi_checksum256 {
    +
    18 uint8_t hash[32];
    +
    19 };
    +
    20
    +
    21 __attribute__((eosio_wasm_import))
    +
    22 bool is_feature_activated( const capi_checksum256* feature_digest );
    +
    23
    +
    24 __attribute__((eosio_wasm_import))
    + +
    26
    +
    27 __attribute__((eosio_wasm_import))
    +
    28 uint32_t get_block_num();
    +
    29
    +
    30 }
    +
    31 }
    +
    32
    +
    61 inline void eosio_exit( int32_t code ) {
    + +
    63 }
    +
    64
    + +
    72
    + +
    80
    + +
    82
    + +
    90 return internal_use_do_not_use::get_block_num();
    +
    91 }
    +
    92
    +
    100 inline bool is_feature_activated( const checksum256& feature_digest ) {
    +
    101 auto feature_digest_data = feature_digest.extract_as_byte_array();
    + +
    103 reinterpret_cast<const internal_use_do_not_use::capi_checksum256*>( feature_digest_data.data() )
    +
    104 );
    +
    105 }
    +
    106
    +
    113 inline name get_sender() {
    + +
    115 }
    +
    116}
    +
    +
    + + + + + + diff --git a/docs/cdt/tab_a.png b/docs/cdt/tab_a.png new file mode 100644 index 000000000..3b725c41c Binary files /dev/null and b/docs/cdt/tab_a.png differ diff --git a/docs/cdt/tab_b.png b/docs/cdt/tab_b.png new file mode 100644 index 000000000..e2b4a8638 Binary files /dev/null and b/docs/cdt/tab_b.png differ diff --git a/docs/cdt/tab_h.png b/docs/cdt/tab_h.png new file mode 100644 index 000000000..fd5cb7054 Binary files /dev/null and b/docs/cdt/tab_h.png differ diff --git a/docs/cdt/tab_s.png b/docs/cdt/tab_s.png new file mode 100644 index 000000000..ab478c95b Binary files /dev/null and b/docs/cdt/tab_s.png differ diff --git a/docs/cdt/tabs.css b/docs/cdt/tabs.css new file mode 100644 index 000000000..00d1c6024 --- /dev/null +++ b/docs/cdt/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:#666;-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0 1px 1px rgba(255,255,255,0.9);color:#283a5d;outline:0}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283a5d transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox a:hover span.sub-arrow{border-color:white transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:white;text-shadow:0 1px 1px black}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent white}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} \ No newline at end of file diff --git a/docs/cdt/time_8hpp.html b/docs/cdt/time_8hpp.html new file mode 100644 index 000000000..0faae8c88 --- /dev/null +++ b/docs/cdt/time_8hpp.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/time.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    +
    #include <stdint.h>
    +#include <string>
    +#include <chrono>
    +#include <ctime>
    +#include <cstdio>
    +#include "check.hpp"
    +#include "serialize.hpp"
    +
    +

    См. исходные тексты.

    + + + + + + + + + + +

    +Классы

    class  eosio::microseconds
     
    class  eosio::time_point
     
    class  eosio::time_point_sec
     
    class  eosio::block_timestamp
     
    + + + +

    +Пространства имен

    namespace  eosio
     
    + + + +

    +Определения типов

    typedef block_timestamp eosio::block_timestamp_type
     
    + + + + + + + + + + + +

    +Функции

    microseconds eosio::seconds (int64_t s)
     
    microseconds eosio::milliseconds (int64_t s)
     
    microseconds eosio::minutes (int64_t m)
     
    microseconds eosio::hours (int64_t h)
     
    microseconds eosio::days (int64_t d)
     
    +
    +
    + + + + + + diff --git a/docs/cdt/time_8hpp.js b/docs/cdt/time_8hpp.js new file mode 100644 index 000000000..f13f43d51 --- /dev/null +++ b/docs/cdt/time_8hpp.js @@ -0,0 +1,10 @@ +var time_8hpp = +[ + [ "eosio::microseconds", "classeosio_1_1microseconds.html", "classeosio_1_1microseconds" ], + [ "block_timestamp_type", "time_8hpp.html#ga4f8fa835ef0dc341addb6e51d0d840b3", null ], + [ "days", "time_8hpp.html#ae1538fa412576d5b367a62c2f0e38730", null ], + [ "hours", "time_8hpp.html#a33b982404d2fd14a2618564ae69db447", null ], + [ "milliseconds", "time_8hpp.html#a2b8d5b8f5a1829bd6967c3fe89eea506", null ], + [ "minutes", "time_8hpp.html#a29a31fdb3cb6abce3f6abcf6840ea00c", null ], + [ "seconds", "time_8hpp.html#af7174ec0c48074b993ec6bac37a84682", null ] +]; \ No newline at end of file diff --git a/docs/cdt/time_8hpp_source.html b/docs/cdt/time_8hpp_source.html new file mode 100644 index 000000000..c3b84e0a5 --- /dev/null +++ b/docs/cdt/time_8hpp_source.html @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/time.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    time.hpp
    +
    +
    +См. документацию.
    1#pragma once
    +
    2#include <stdint.h>
    +
    3#include <string>
    +
    4#include <chrono>
    +
    5#include <ctime>
    +
    6#include <cstdio>
    +
    7#include "check.hpp"
    +
    8#include "serialize.hpp"
    +
    9
    +
    10namespace eosio {
    + +
    20 public:
    +
    21 explicit microseconds( int64_t c = 0) :_count(c){}
    +
    22
    +
    24 static microseconds maximum() { return microseconds(0x7fffffffffffffffll); }
    +
    25 friend microseconds operator + (const microseconds& l, const microseconds& r ) { return microseconds(l._count+r._count); }
    +
    26 friend microseconds operator - (const microseconds& l, const microseconds& r ) { return microseconds(l._count-r._count); }
    +
    27
    +
    28
    +
    29 bool operator==(const microseconds& c)const { return _count == c._count; }
    +
    30 bool operator!=(const microseconds& c)const { return _count != c._count; }
    +
    31 friend bool operator>(const microseconds& a, const microseconds& b){ return a._count > b._count; }
    +
    32 friend bool operator>=(const microseconds& a, const microseconds& b){ return a._count >= b._count; }
    +
    33 friend bool operator<(const microseconds& a, const microseconds& b){ return a._count < b._count; }
    +
    34 friend bool operator<=(const microseconds& a, const microseconds& b){ return a._count <= b._count; }
    +
    35 microseconds& operator+=(const microseconds& c) { _count += c._count; return *this; }
    +
    36 microseconds& operator-=(const microseconds& c) { _count -= c._count; return *this; }
    +
    37 int64_t count()const { return _count; }
    +
    38 int64_t to_seconds()const { return _count/1000000; }
    +
    39
    +
    40 int64_t _count;
    + +
    43 private:
    +
    44 friend class time_point;
    +
    45 };
    +
    46
    +
    47 inline microseconds seconds( int64_t s ) { return microseconds( s * 1000000 ); }
    +
    48 inline microseconds milliseconds( int64_t s ) { return microseconds( s * 1000 ); }
    +
    49 inline microseconds minutes(int64_t m) { return seconds(60*m); }
    +
    50 inline microseconds hours(int64_t h) { return minutes(60*h); }
    +
    51 inline microseconds days(int64_t d) { return hours(24*d); }
    +
    52
    +
    58 class time_point {
    +
    59 public:
    +
    60 explicit time_point( microseconds e = microseconds() ) :elapsed(e){}
    +
    61 const microseconds& time_since_epoch()const { return elapsed; }
    +
    62 uint32_t sec_since_epoch()const { return uint32_t(elapsed.count() / 1000000); }
    +
    63
    +
    64 static time_point from_iso_string(const std::string& date_str) {
    +
    65 std::tm tm;
    +
    66 check(strptime(date_str.c_str(), "%Y-%m-%dT%H:%M:%S", &tm), "date parsing failed");
    +
    67
    +
    68 auto tp = std::chrono::system_clock::from_time_t( ::mktime( &tm ) );
    +
    69 auto duration = std::chrono::duration_cast<std::chrono::microseconds>( tp.time_since_epoch() );
    +
    70 return time_point{ microseconds{ static_cast<int64_t>(duration.count()) } };
    +
    71 }
    +
    72
    +
    73 std::string to_string() const {
    +
    74 time_t rawtime = sec_since_epoch();
    +
    75
    +
    76 char buf[100];
    +
    77 strftime(buf, sizeof(buf), "%Y-%m-%dT%H:%M:%S", gmtime ( &rawtime ));
    +
    78
    +
    79 return std::string{buf};
    +
    80 }
    +
    81
    +
    83 bool operator > ( const time_point& t )const { return elapsed._count > t.elapsed._count; }
    +
    84 bool operator >=( const time_point& t )const { return elapsed._count >=t.elapsed._count; }
    +
    85 bool operator < ( const time_point& t )const { return elapsed._count < t.elapsed._count; }
    +
    86 bool operator <=( const time_point& t )const { return elapsed._count <=t.elapsed._count; }
    +
    87 bool operator ==( const time_point& t )const { return elapsed._count ==t.elapsed._count; }
    +
    88 bool operator !=( const time_point& t )const { return elapsed._count !=t.elapsed._count; }
    +
    89 time_point& operator += ( const microseconds& m) { elapsed+=m; return *this; }
    +
    90 time_point& operator -= ( const microseconds& m) { elapsed-=m; return *this; }
    +
    91 time_point operator + (const microseconds& m) const { return time_point(elapsed+m); }
    +
    92 time_point operator + (const time_point& m) const { return time_point(elapsed+m.elapsed); }
    +
    93 time_point operator - (const microseconds& m) const { return time_point(elapsed-m); }
    +
    94 microseconds operator - (const time_point& m) const { return microseconds(elapsed.count() - m.elapsed.count()); }
    +
    95 microseconds elapsed;
    +
    97
    +
    98 EOSLIB_SERIALIZE( time_point, (elapsed) )
    +
    99 };
    +
    100
    + +
    107 {
    +
    108 public:
    + +
    110 :utc_seconds(0){}
    +
    111
    + +
    113 :utc_seconds(seconds){}
    +
    114
    + +
    116 :utc_seconds( uint32_t(t.time_since_epoch().count() / 1000000ll) ){}
    +
    117
    +
    118 static time_point_sec maximum() { return time_point_sec(0xffffffff); }
    +
    119 static time_point_sec min() { return time_point_sec(0); }
    +
    120
    +
    121 static time_point_sec from_iso_string(const std::string& date_str) {
    +
    122 auto time_p = time_point::from_iso_string(date_str);
    +
    123 return time_point_sec{ time_p };
    +
    124 }
    +
    125
    +
    126 std::string to_string() const {
    +
    127 return ((time_point)(*this)).to_string();
    +
    128 }
    +
    129
    +
    130 operator time_point()const { return time_point( eosio::seconds( utc_seconds) ); }
    +
    131 uint32_t sec_since_epoch()const { return utc_seconds; }
    +
    132
    +
    134 time_point_sec operator = ( const eosio::time_point& t )
    +
    135 {
    +
    136 utc_seconds = uint32_t(t.time_since_epoch().count() / 1000000ll);
    +
    137 return *this;
    +
    138 }
    +
    139 friend bool operator < ( const time_point_sec& a, const time_point_sec& b ) { return a.utc_seconds < b.utc_seconds; }
    +
    140 friend bool operator > ( const time_point_sec& a, const time_point_sec& b ) { return a.utc_seconds > b.utc_seconds; }
    +
    141 friend bool operator <= ( const time_point_sec& a, const time_point_sec& b ) { return a.utc_seconds <= b.utc_seconds; }
    +
    142 friend bool operator >= ( const time_point_sec& a, const time_point_sec& b ) { return a.utc_seconds >= b.utc_seconds; }
    +
    143 friend bool operator == ( const time_point_sec& a, const time_point_sec& b ) { return a.utc_seconds == b.utc_seconds; }
    +
    144 friend bool operator != ( const time_point_sec& a, const time_point_sec& b ) { return a.utc_seconds != b.utc_seconds; }
    +
    145 time_point_sec& operator += ( uint32_t m ) { utc_seconds+=m; return *this; }
    +
    146 time_point_sec& operator += ( microseconds m ) { utc_seconds+=m.to_seconds(); return *this; }
    +
    147 time_point_sec& operator += ( time_point_sec m ) { utc_seconds+=m.utc_seconds; return *this; }
    +
    148 time_point_sec& operator -= ( uint32_t m ) { utc_seconds-=m; return *this; }
    +
    149 time_point_sec& operator -= ( microseconds m ) { utc_seconds-=m.to_seconds(); return *this; }
    +
    150 time_point_sec& operator -= ( time_point_sec m ) { utc_seconds-=m.utc_seconds; return *this; }
    +
    151 time_point_sec operator +( uint32_t offset )const { return time_point_sec(utc_seconds + offset); }
    +
    152 time_point_sec operator -( uint32_t offset )const { return time_point_sec(utc_seconds - offset); }
    +
    153
    +
    154 friend time_point operator + ( const time_point_sec& t, const microseconds& m ) { return time_point(t) + m; }
    +
    155 friend time_point operator - ( const time_point_sec& t, const microseconds& m ) { return time_point(t) - m; }
    +
    156 friend microseconds operator - ( const time_point_sec& t, const time_point_sec& m ) { return time_point(t) - time_point(m); }
    +
    157 friend microseconds operator - ( const time_point& t, const time_point_sec& m ) { return time_point(t) - time_point(m); }
    +
    158 uint32_t utc_seconds;
    +
    159
    +
    161
    +
    162 EOSLIB_SERIALIZE( time_point_sec, (utc_seconds) )
    +
    163 };
    +
    164
    + +
    172 public:
    +
    173 explicit block_timestamp( uint32_t s=0 ) :slot(s){}
    +
    174
    + +
    176 set_time_point(t);
    +
    177 }
    +
    178
    + +
    180 set_time_point(t);
    +
    181 }
    +
    182
    +
    183 static block_timestamp maximum() { return block_timestamp( 0xffff ); }
    +
    184 static block_timestamp min() { return block_timestamp(0); }
    +
    185
    + +
    187 eosio::check( std::numeric_limits<uint32_t>::max() - slot >= 1, "block timestamp overflow" );
    +
    188 auto result = block_timestamp(*this);
    +
    189 result.slot += 1;
    +
    190 return result;
    +
    191 }
    +
    192
    + +
    194 return (time_point)(*this);
    +
    195 }
    +
    196
    +
    197 operator time_point() const {
    +
    198 int64_t msec = slot * (int64_t)block_interval_ms;
    +
    199 msec += block_timestamp_epoch;
    +
    200 return time_point(milliseconds(msec));
    +
    201 }
    +
    202
    +
    203 static block_timestamp from_iso_string(const std::string& date_str) {
    +
    204 auto time_p = time_point::from_iso_string(date_str);
    +
    205 return block_timestamp{ time_p };
    +
    206 }
    +
    207
    +
    208 std::string to_string() const {
    +
    209 return to_time_point().to_string();
    +
    210 }
    +
    211
    +
    213 void operator = (const time_point& t ) {
    +
    214 set_time_point(t);
    +
    215 }
    +
    216
    +
    217 bool operator > ( const block_timestamp& t )const { return slot > t.slot; }
    +
    218 bool operator >=( const block_timestamp& t )const { return slot >= t.slot; }
    +
    219 bool operator < ( const block_timestamp& t )const { return slot < t.slot; }
    +
    220 bool operator <=( const block_timestamp& t )const { return slot <= t.slot; }
    +
    221 bool operator ==( const block_timestamp& t )const { return slot == t.slot; }
    +
    222 bool operator !=( const block_timestamp& t )const { return slot != t.slot; }
    +
    223 uint32_t slot;
    +
    224 static constexpr int32_t block_interval_ms = 500;
    +
    225 static constexpr int64_t block_timestamp_epoch = 946684800000ll; // эпоха — 1 января 2000 UTC (мс)
    +
    227
    + +
    229 private:
    +
    230
    +
    231
    +
    232 void set_time_point(const time_point& t) {
    +
    233 int64_t micro_since_epoch = t.time_since_epoch().count();
    +
    234 int64_t msec_since_epoch = micro_since_epoch / 1000;
    +
    235 slot = uint32_t(( msec_since_epoch - block_timestamp_epoch ) / int64_t(block_interval_ms));
    +
    236 }
    +
    237
    +
    238 void set_time_point(const time_point_sec& t) {
    +
    239 int64_t sec_since_epoch = t.sec_since_epoch();
    +
    240 slot = uint32_t((sec_since_epoch * 1000 - block_timestamp_epoch) / block_interval_ms);
    +
    241 }
    +
    242 }; // block_timestamp
    +
    243
    + +
    248
    +
    249} // namespace eosio
    +
    +
    + + + + + + diff --git a/docs/cdt/transaction_8hpp.html b/docs/cdt/transaction_8hpp.html new file mode 100644 index 000000000..ceb518138 --- /dev/null +++ b/docs/cdt/transaction_8hpp.html @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/contracts/eosio/transaction.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    +
    #include "action.hpp"
    +#include "system.hpp"
    +#include "../../core/eosio/time.hpp"
    +#include "../../core/eosio/serialize.hpp"
    +#include <vector>
    +
    +

    См. исходные тексты.

    + + + + + + + + + +

    +Классы

    class  eosio::transaction_header
     Содержит сведения о транзакции Подробнее...
     
    class  eosio::transaction
     
    struct  eosio::onerror
     
    + + + + + +

    +Пространства имен

    namespace  eosio
     
    namespace  eosio::internal_use_do_not_use
     
    + + + + + +

    +Определения типов

    typedef std::tuple< uint16_t, std::vector< char > > eosio::extension
     
    typedef std::vector< extension > eosio::extensions_type
     
    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Функции

     eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void send_deferred(const uint128_t &
     
     eosio::internal_use_do_not_use::__attribute__ ((eosio_wasm_import)) void eosio_assert(uint32_t test
     
    void eosio::send_deferred (const uint128_t &sender_id, name payer, const char *serialized_transaction, size_t size, bool replace=false)
     
    action eosio::get_action (uint32_t type, uint32_t index)
     
    size_t eosio::read_transaction (char *ptr, size_t sz)
     
    int eosio::cancel_deferred (const uint128_t &sender_id)
     
    size_t eosio::transaction_size ()
     
    int eosio::tapos_block_num ()
     
    int eosio::tapos_block_prefix ()
     
    uint32_t eosio::expiration ()
     Возвращает срок действия текущей выполняемой транзакции. Подробнее...
     
    int eosio::get_context_free_data (uint32_t index, char *buff, size_t size)
     
    + + + +

    +Переменные

    const char eosio::internal_use_do_not_use::size_t
     
    +

    Подробное описание

    +
    + +

    См. определение в файле transaction.hpp

    +
    +
    + + + + + + diff --git a/docs/cdt/transaction_8hpp.js b/docs/cdt/transaction_8hpp.js new file mode 100644 index 000000000..20bb3f1dc --- /dev/null +++ b/docs/cdt/transaction_8hpp.js @@ -0,0 +1,17 @@ +var transaction_8hpp = +[ + [ "extension", "transaction_8hpp.html#gaaf3ea17209c6d47129b2b232aede5439", null ], + [ "extensions_type", "transaction_8hpp.html#ga19c346b66f7145a5336177ac3eb0849e", null ], + [ "__attribute__", "transaction_8hpp.html#a4cf60fb32150ba3e0e63f357f9747387", null ], + [ "__attribute__", "transaction_8hpp.html#a7bb660921197070acd6782ab13fec494", null ], + [ "cancel_deferred", "transaction_8hpp.html#ga78a95bee813140ef77b2b8641c472cfa", null ], + [ "expiration", "transaction_8hpp.html#gaf1dda66d94fcc04a2b5fa7a8bffd75b0", null ], + [ "get_action", "transaction_8hpp.html#gac01a00482f2dc95bf4850b2e8213ee90", null ], + [ "get_context_free_data", "transaction_8hpp.html#ga0a8affaada54b4a722e819c9da056211", null ], + [ "read_transaction", "transaction_8hpp.html#ga47f5ea185e11cab47e2bddd08598375f", null ], + [ "send_deferred", "transaction_8hpp.html#ga92cd86171a4bcc86bb3bc974618005e5", null ], + [ "tapos_block_num", "transaction_8hpp.html#gad2a14b4c7ce6445f669a42ef73a4b685", null ], + [ "tapos_block_prefix", "transaction_8hpp.html#ga8ebcde8a1e1665142ca0b51e4118ed17", null ], + [ "transaction_size", "transaction_8hpp.html#ga44eb86f3c4e862cbb5c862f29b77aa1f", null ], + [ "size_t", "transaction_8hpp.html#a3a794c5c2a2c47a98ae7b9e5732baeec", null ] +]; \ No newline at end of file diff --git a/docs/cdt/transaction_8hpp_source.html b/docs/cdt/transaction_8hpp_source.html new file mode 100644 index 000000000..dbcc8c4d9 --- /dev/null +++ b/docs/cdt/transaction_8hpp_source.html @@ -0,0 +1,289 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/contracts/eosio/transaction.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    transaction.hpp
    +
    +
    +См. документацию.
    1
    +
    5#pragma once
    +
    6#include "action.hpp"
    +
    7#include "system.hpp"
    +
    8#include "../../core/eosio/time.hpp"
    +
    9#include "../../core/eosio/serialize.hpp"
    +
    10
    +
    11#include <vector>
    +
    12
    +
    13namespace eosio {
    +
    14 namespace internal_use_do_not_use {
    +
    15 extern "C" {
    +
    16 __attribute__((eosio_wasm_import))
    +
    17 void send_deferred(const uint128_t&, uint64_t, const char*, size_t, uint32_t);
    +
    18
    +
    19 __attribute__((eosio_wasm_import))
    +
    20 int cancel_deferred(const uint128_t&);
    +
    21
    +
    22 __attribute__((eosio_wasm_import))
    +
    23 size_t read_transaction(char*, size_t);
    +
    24
    +
    25 __attribute__((eosio_wasm_import))
    +
    26 size_t transaction_size();
    +
    27
    +
    28 __attribute__((eosio_wasm_import))
    +
    29 int tapos_block_num();
    +
    30
    +
    31 __attribute__((eosio_wasm_import))
    + +
    33
    +
    34 __attribute__((eosio_wasm_import))
    + +
    36
    +
    37 __attribute__((eosio_wasm_import))
    +
    38 int get_action( uint32_t, uint32_t, char*, size_t);
    +
    39
    +
    40 __attribute__((eosio_wasm_import))
    +
    41 int get_context_free_data( uint32_t, char*, size_t);
    +
    42 }
    +
    43 }
    +
    44
    +
    65 typedef std::tuple<uint16_t, std::vector<char>> extension;
    +
    66
    +
    70 typedef std::vector<extension> extensions_type;
    +
    71
    + +
    80 public:
    +
    81
    + + +
    89 {}
    +
    90
    + +
    92 uint16_t ref_block_num;
    + +
    94 unsigned_int max_net_usage_words = 0UL;
    +
    95 uint8_t max_cpu_usage_ms = 0UL;
    +
    96 unsigned_int delay_sec = 0UL;
    +
    97
    +
    98 EOSLIB_SERIALIZE( transaction_header, (expiration)(ref_block_num)(ref_block_prefix)(max_net_usage_words)(max_cpu_usage_ms)(delay_sec) )
    +
    99 };
    +
    100
    + +
    107 public:
    +
    108
    + +
    113
    +
    121 void send(const uint128_t& sender_id, name payer, bool replace_existing = false) const {
    +
    122 auto serialize = pack(*this);
    +
    123 internal_use_do_not_use::send_deferred(sender_id, payer.value, serialize.data(), serialize.size(), replace_existing);
    +
    124 }
    +
    125
    +
    126 std::vector<action> context_free_actions;
    +
    127 std::vector<action> actions;
    + +
    129
    +
    130 EOSLIB_SERIALIZE_DERIVED( transaction, transaction_header, (context_free_actions)(actions)(transaction_extensions) )
    +
    131 };
    +
    132
    +
    138 struct onerror {
    +
    139 uint128_t sender_id;
    +
    140 std::vector<char> sent_trx;
    +
    141
    + +
    148 return unpack_action_data<onerror>();
    +
    149 }
    +
    150
    + +
    155 return unpack<transaction>(sent_trx);
    +
    156 }
    +
    157
    +
    158 EOSLIB_SERIALIZE( onerror, (sender_id)(sent_trx) )
    +
    159 };
    +
    160
    +
    171 inline void send_deferred(const uint128_t& sender_id, name payer, const char* serialized_transaction, size_t size, bool replace = false) {
    +
    172 internal_use_do_not_use::send_deferred(sender_id, payer.value, serialized_transaction, size, replace);
    +
    173 }
    +
    182 inline action get_action( uint32_t type, uint32_t index ) {
    +
    183 constexpr size_t max_stack_buffer_size = 512;
    +
    184 int s = internal_use_do_not_use::get_action( type, index, nullptr, 0 );
    +
    185 eosio::check( s > 0, "get_action size failed" );
    +
    186 size_t size = static_cast<size_t>(s);
    +
    187 char* buffer = (char*)( max_stack_buffer_size < size ? malloc(size) : alloca(size) );
    +
    188 auto size2 = internal_use_do_not_use::get_action( type, index, buffer, size );
    +
    189 eosio::check( size == static_cast<size_t>(size2), "get_action failed" );
    +
    190 return eosio::unpack<eosio::action>( buffer, size );
    +
    191 }
    +
    192
    +
    199 inline size_t read_transaction(char* ptr, size_t sz) {
    + +
    201 }
    +
    202
    +
    221 inline int cancel_deferred(const uint128_t& sender_id) {
    + +
    223 }
    +
    224
    +
    231 inline size_t transaction_size() {
    + +
    233 }
    +
    234
    +
    245 inline int tapos_block_num() {
    + +
    247 }
    +
    248
    +
    259 inline int tapos_block_prefix() {
    + +
    261 }
    +
    262
    + + +
    272 }
    +
    273
    +
    283 inline int get_context_free_data( uint32_t index, char* buff, size_t size ) {
    + +
    285 }
    +
    286}
    +
    +
    + + + + + + diff --git a/docs/cdt/varint_8hpp.html b/docs/cdt/varint_8hpp.html new file mode 100644 index 000000000..d41ebdcb9 --- /dev/null +++ b/docs/cdt/varint_8hpp.html @@ -0,0 +1,175 @@ + + + + + + + + + + + + + + + + + + +CDT: Файл libraries/eosiolib/core/eosio/varint.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    Файл varint.hpp
    +
    +
    + +

    См. исходные тексты.

    + + + + + + +

    +Классы

    struct  eosio::unsigned_int
     
    struct  eosio::signed_int
     
    + + + +

    +Пространства имен

    namespace  eosio
     
    +

    Подробное описание

    +
    + +

    См. определение в файле varint.hpp

    +
    +
    + + + + + + diff --git a/docs/cdt/varint_8hpp_source.html b/docs/cdt/varint_8hpp_source.html new file mode 100644 index 000000000..3ab76f8e2 --- /dev/null +++ b/docs/cdt/varint_8hpp_source.html @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + + + + + +CDT: Исходный файл libraries/eosiolib/core/eosio/varint.hpp + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CDT +  v4.2.0 +
    +
    инструменты разработчика
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    varint.hpp
    +
    +
    +См. документацию.
    1
    +
    5#pragma once
    +
    6
    +
    7namespace eosio {
    +
    22 struct unsigned_int {
    +
    28 constexpr unsigned_int( uint32_t v = 0 ):value(v){}
    +
    29
    +
    37 template<typename T>
    +
    38 constexpr unsigned_int( T v ):value(v){}
    +
    39
    +
    40 //operator uint32_t()const { return value; }
    +
    41 //operator uint64_t()const { return value; }
    +
    42
    +
    49 template<typename T>
    +
    50 constexpr operator T()const { return static_cast<T>(value); }
    +
    51
    +
    53
    +
    60 constexpr unsigned_int& operator=( uint32_t v ) { value = v; return *this; }
    +
    61
    +
    63
    + +
    68
    +
    70
    +
    79 constexpr friend bool operator==( const unsigned_int& i, const uint32_t& v ) { return i.value == v; }
    +
    80
    +
    89 constexpr friend bool operator==( const uint32_t& i, const unsigned_int& v ) { return i == v.value; }
    +
    90
    +
    99 constexpr friend bool operator==( const unsigned_int& i, const unsigned_int& v ) { return i.value == v.value; }
    +
    100
    +
    109 constexpr friend bool operator!=( const unsigned_int& i, const uint32_t& v ) { return i.value != v; }
    +
    110
    +
    119 constexpr friend bool operator!=( const uint32_t& i, const unsigned_int& v ) { return i != v.value; }
    +
    120
    +
    129 constexpr friend bool operator!=( const unsigned_int& i, const unsigned_int& v ) { return i.value != v.value; }
    +
    130
    +
    139 constexpr friend bool operator<( const unsigned_int& i, const uint32_t& v ) { return i.value < v; }
    +
    140
    +
    149 constexpr friend bool operator<( const uint32_t& i, const unsigned_int& v ) { return i < v.value; }
    +
    150
    +
    159 constexpr friend bool operator<( const unsigned_int& i, const unsigned_int& v ) { return i.value < v.value; }
    +
    160
    +
    169 constexpr friend bool operator>=( const unsigned_int& i, const uint32_t& v ) { return i.value >= v; }
    +
    170
    +
    179 constexpr friend bool operator>=( const uint32_t& i, const unsigned_int& v ) { return i >= v.value; }
    +
    180
    +
    189 constexpr friend bool operator>=( const unsigned_int& i, const unsigned_int& v ) { return i.value >= v.value; }
    +
    190
    +
    191
    +
    193
    +
    195
    +
    204 template<typename DataStream>
    +
    205 friend DataStream& operator << ( DataStream& ds, const unsigned_int& v ){
    +
    206 uint64_t val = v.value;
    +
    207 do {
    +
    208 uint8_t b = uint8_t(val) & 0x7f;
    +
    209 val >>= 7;
    +
    210 b |= ((val > 0) << 7);
    +
    211 ds.write((char*)&b,1);//.put(b);
    +
    212 } while( val );
    +
    213 return ds;
    +
    214 }
    +
    215
    +
    224 template<typename DataStream>
    +
    225 friend DataStream& operator >> ( DataStream& ds, unsigned_int& vi ){
    +
    226 uint64_t v = 0; char b = 0; uint8_t by = 0;
    +
    227 do {
    +
    228 ds.get(b);
    +
    229 v |= uint32_t(uint8_t(b) & 0x7f) << by;
    +
    230 by += 7;
    +
    231 } while( uint8_t(b) & 0x80 );
    +
    232 vi.value = static_cast<uint32_t>(v);
    +
    233 return ds;
    +
    234 }
    +
    235
    +
    237 };
    +
    238
    +
    246 struct signed_int {
    +
    252 constexpr signed_int( int32_t v = 0 ):value(v){}
    +
    253
    +
    255
    +
    261 constexpr operator int32_t()const { return value; }
    +
    262
    +
    263
    +
    271 template<typename T>
    +
    272 constexpr signed_int& operator=( const T& v ) { value = v; return *this; }
    +
    273
    +
    279 constexpr signed_int operator++(int) { return value++; }
    +
    280
    +
    286 constexpr signed_int& operator++(){ ++value; return *this; }
    +
    287
    +
    289
    +
    293 int32_t value;
    +
    294
    +
    296
    +
    305 constexpr friend bool operator==( const signed_int& i, const int32_t& v ) { return i.value == v; }
    +
    306
    +
    315 constexpr friend bool operator==( const int32_t& i, const signed_int& v ) { return i == v.value; }
    +
    316
    +
    325 constexpr friend bool operator==( const signed_int& i, const signed_int& v ) { return i.value == v.value; }
    +
    326
    +
    327
    +
    336 constexpr friend bool operator!=( const signed_int& i, const int32_t& v ) { return i.value != v; }
    +
    337
    +
    346 constexpr friend bool operator!=( const int32_t& i, const signed_int& v ) { return i != v.value; }
    +
    347
    +
    356 constexpr friend bool operator!=( const signed_int& i, const signed_int& v ) { return i.value != v.value; }
    +
    357
    +
    366 constexpr friend bool operator<( const signed_int& i, const int32_t& v ) { return i.value < v; }
    +
    367
    +
    376 constexpr friend bool operator<( const int32_t& i, const signed_int& v ) { return i < v.value; }
    +
    377
    +
    386 constexpr friend bool operator<( const signed_int& i, const signed_int& v ) { return i.value < v.value; }
    +
    387
    +
    388
    +
    397 constexpr friend bool operator>=( const signed_int& i, const int32_t& v ) { return i.value >= v; }
    +
    398
    +
    407 constexpr friend bool operator>=( const int32_t& i, const signed_int& v ) { return i >= v.value; }
    +
    408
    +
    417 constexpr friend bool operator>=( const signed_int& i, const signed_int& v ) { return i.value >= v.value; }
    +
    418
    +
    420
    +
    422
    +
    431 template<typename DataStream>
    +
    432 friend DataStream& operator << ( DataStream& ds, const signed_int& v ){
    +
    433 uint32_t val = uint32_t((v.value<<1) ^ (v.value>>31));
    +
    434 do {
    +
    435 uint8_t b = uint8_t(val) & 0x7f;
    +
    436 val >>= 7;
    +
    437 b |= ((val > 0) << 7);
    +
    438 ds.write((char*)&b,1);//.put(b);
    +
    439 } while( val );
    +
    440 return ds;
    +
    441 }
    +
    442
    +
    451 template<typename DataStream>
    +
    452 friend DataStream& operator >> ( DataStream& ds, signed_int& vi ){
    +
    453 uint32_t v = 0; char b = 0; int by = 0;
    +
    454 do {
    +
    455 ds.get(b);
    +
    456 v |= uint32_t(uint8_t(b) & 0x7f) << by;
    +
    457 by += 7;
    +
    458 } while( uint8_t(b) & 0x80 );
    +
    459 vi.value = (v>>1) ^ (~(v&1)+1ull);
    +
    460 return ds;
    +
    461 }
    +
    462
    +
    464 };
    +
    465}
    +
    +
    + + + + + + diff --git a/docs/documentation/cdt/abi.md b/docs/documentation/cdt/abi.md new file mode 100644 index 000000000..932f8f2cc --- /dev/null +++ b/docs/documentation/cdt/abi.md @@ -0,0 +1,193 @@ +# ABI смарт-контракта + +**ABI** (Application Binary Interface) — JSON-схема соответствия между текстовым/JSON-представлением аргументов действий и структур таблиц с бинарной сериализацией в транзакции. Узел исполняет WASM независимо от ABI; последний критичен для клиентов, кошельков и индексаторов. Генерация ABI в CDT снижает расхождения с кодом, однако контроль совместимости остаётся на разработчике. + +Соответствие типов C++ контрактного API полям ABI и низкоуровневые детали сериализации — в [документации CDT (Doxygen)](/cdt). + +!!! warning "ABI не является «входным фильтром»" + Транзакция может содержать данные, **не совпадающие** с ABI: узел исполняет WASM. ABI нужен кошелькам, обозревателям и SDK для удобства и безопасности на стороне клиента. + +--- + +## Генерация и ручное редактирование + +Утилита **`cdt-cpp`** с флагом **`-abigen`** (и корректными атрибутами в коде) создаёт ABI автоматически. Ручное редактирование нужно, если: + +- генератор «спотыкается» о сложные шаблоны C++; +- используются нестандартные типы; +- требуются расширения ABI (variants, optional-поля через `$` и т.д.). + +Пустой каркас: + +```json +{ + "version": "eosio::abi/1.1", + "types": [], + "structs": [], + "actions": [], + "tables": [], + "ricardian_clauses": [], + "abi_extensions": [] +} +``` + +--- + +## Секция `types` + +Описывает псевдонимы типов. Встроенные типы цепочки в ABI **дублировать не нужно** (их набор определяется сериализатором узла; список смотрите в исходниках `abi_serializer` вашей версии узла). + +Пример псевдонима: + +```json +{ + "new_type_name": "account_name", + "type": "name" +} +``` + +--- + +## Секции `structs` и `fields` + +Каждая структура: + +```json +{ + "name": "transfer", + "base": "", + "fields": [ + { "name": "from", "type": "name" }, + { "name": "to", "type": "name" }, + { "name": "quantity", "type": "asset" }, + { "name": "memo", "type": "string" } + ] +} +``` + +- **Неявные** структуры соответствуют параметрам публичных действий, для которых нет отдельного `struct` в C++. +- **Явные** структуры описывают строки таблиц `[[eosio::table]]`. + +Поле **`base`** задаёт наследование от другой структуры в том же ABI (редко; должно соответствовать логике C++). + +--- + +## Секция `actions` + +```json +{ + "name": "transfer", + "type": "transfer", + "ricardian_contract": "" +} +``` + +- `name` — имя действия в цепочке. +- `type` — имя struct с полями параметров (часто совпадает с `name`, но это не обязательно). +- `ricardian_contract` — текст Ricardian или пустая строка, если подключается из внешнего файла при сборке. + +--- + +## Секция `tables` + +```json +{ + "name": "accounts", + "type": "account", + "index_type": "i64", + "key_names": ["currency"], + "key_types": ["uint64"] +} +``` + +Имена ключей могут совпадать между таблицами — это лишь подсказка для клиентов; важно соответствие **типов** и **struct**. + +--- + +## Векторы + +Тип массива записывается как `тип[]`, например `permission_level[]`. + +--- + +## Ricardian: файлы и разметка + +Генератор подхватывает: + +- договоры действий — файл **`<имя_контракта>.contracts.md`**; +- общие клаузы — **`<имя_контракта>.clauses.md`**. + +Для каждого действия в markdown используйте заголовок: + +```html +

    ИмяДействия

    +``` + +Для клаузы: + +```html +

    ИдентификаторКлаузы

    +``` + +Чтобы ABI-генератор нашёл файлы в произвольных каталогах, передайте **` -R<путь>`** в `cdt-cpp` (аналогично `-I` для include). Пример из upstream: `examples/hello/ricardian/hello.contracts.md`. + +--- + +## Атрибуты C++ для генератора ABI + +### `[[eosio::action]]` + +Помечает метод как действие. Альтернатива в стиле GNU: `__attribute__((eosio_action))`. +Если имя функции не является допустимым именем цепочки: +`[[eosio::action("validname")]]` + +Можно объявлять действие как `struct` с `EOSLIB_SERIALIZE`. + +### `[[eosio::table]]` + +Описание строки таблицы; для явного имени таблицы: `[[eosio::table("tablename")]]`. + +### `[[eosio::contract("name")]]` + +Привязывает класс к имени контракта для генерации, чтобы заголовки чужих контрактов не попадали в ваш ABI. + +### `[[eosio::on_notify("acct::action")]]` + +Обработчик уведомлений о чужом действии; шаблон `*::transfer` — любой контракт. + +### `[[eosio::wasm_entry]]` / `eosio_wasm_import` + +Расширенные сценарии сборки WASM для других окружений. + +### `[[eosio::action, eosio::read-only]]` + +Действие только чтения; ограничения см. [Действия и авторизация](actions.md). + +--- + +## Обслуживание ABI + +При каждом изменении: + +- параметров действий; +- полей таблиц; +- имён таблиц; + +обновляйте ABI. Ошибки при этом **часто не возникают**, а клиенты начинают слать неверный JSON — отлаживайте через сравнение с `cdt-abidiff` (см. [Справочник команд](command-reference.md)). + +### Таблица «пустая» в клиенте + +Проверьте, что секция `tables` и `type` указывают на существующий `struct` с верными полями. `cleos` может не ругаться на плохой ABI, но вернёт пустой результат. + +--- + +## `abi_extensions` и прочее + +`abi_extensions` зарезервировано под будущие расширения формата; сейчас обычно пусто. Ricardian-тексты описывают **намерение** действия для пользователя. + +--- + +## Где углубиться + +- Практика обновления полей без поломки строк — [Обновление схемы данных](schema-upgrades.md). +- Сборка с ABI — [Сборка контрактов](building.md). diff --git a/docs/documentation/cdt/actions.md b/docs/documentation/cdt/actions.md new file mode 100644 index 000000000..c93f58aef --- /dev/null +++ b/docs/documentation/cdt/actions.md @@ -0,0 +1,141 @@ +# Действия: авторизация, `action_wrapper`, возврат значений + +Действие — точка входа в WASM-модуль контракта с типизированной полезной нагрузкой. Полный перечень примитивов авторизации, inline-вызовов и intrinsic-функций приведён в [документации CDT (Doxygen)](/cdt). + +## Проверка авторизации + +В теле действия нужно явно проверять, **кто** может его вызвать. Типичные примитивы: + +| Функция | Поведение | +|---------|-----------| +| `has_auth(name n)` | Возвращает `true`, если текущая транзакция подписана с нужным актёром (любая подходящая permission). | +| `require_auth(name n)` | То же требование, но при несоответствии — стандартная ошибка авторизации (текст сообщения задать нельзя). | +| `require_auth2(capi_name name, capi_name permission)` | Требует конкретную permission (например, только `active`). | +| `check(bool pred, ...)` | Универсальная проверка с **вашим** текстом ошибки. | + +### `check` + `has_auth` — с понятным сообщением + +```cpp +#include + +void hi( name user ) { + check(has_auth(user), "User is not authorized to perform this action."); + print( "Hello, ", name{user} ); +} +``` + +### `require_auth` — короче, но без кастомного текста + +```cpp +void hi( name user ) { + require_auth( user ); + print( "Hello, ", name{user} ); +} +``` + +### `require_auth2` — только `active` + +```cpp +#include + +void hi( name user ) { + require_auth2(user.value, "active"_n.value); + print( "Hello, ", name{user} ); +} +``` + +Подключайте нужные заголовки (`` или C API) в зависимости от стиля проекта. + +--- + +## Шаблон `action_wrapper` + +`action_wrapper` упрощает отправку **inline**-действий на тот же или другой контракт: фиксируется имя действия и указатель на метод-обработчик. + +### 1. Объявление в классе контракта + +```cpp +class [[eosio::contract]] multi_index_example : public contract { + // ... + [[eosio::action]] void mod( name user, uint32_t n ); + using mod_action = action_wrapper<"mod"_n, &multi_index_example::mod>; + // ... +}; +``` + +### 2. Использование из другого модуля + +Подключите заголовок с контрактом, создайте обёртку с получателем и permission: + +```cpp +#include + +multi_index_example::mod_action modaction("multiindexex"_n, {get_self(), "active"_n}); +modaction.send("eostutorial"_n, 1); +``` + +Первый аргумент — аккаунт, куда задеплоен контракт; второй — `{actor, permission}` для подписи inline-действия. + +--- + +## Возврат значений из действий + +Если в сети активирована возможность **`ACTION_RETURN_VALUE`**, действие может **вернуть** сериализуемое значение клиенту RPC: примитив, стандартный тип или пользовательская структура. + +### Концепция + +- В коде используйте обычный **`return`**; среда исполнения сериализует результат и передаёт его в trace. +- Ограничения по размеру связаны с лимитами **CPU и WASM**, а не RAM/NET в прямом смысле. +- В **квитанции** действия попадает **хэш** сериализованного значения; в **trace** — полное значение (если включено логирование / trace API / state history — в соответствующих логах). +- **Inline-действия** выполняются асинхронно относительно родителя: **прочитать return value** из inline на стороне вызывающего действия **нельзя**. + +### Пример + +```cpp +struct action_response { + uint16_t id; + std::pair status; +}; + +class [[eosio::contract]] smrtcontract : public contract { +public: + using contract::contract; + + [[eosio::action]] + action_response checkwithrv( name nm ) { + print_f("Name : %\n", nm); + action_response results; + results.id = 1; + if (nm == "hello"_n) + results.status = {0, "Validation has passed."}; + else + results.status = {1, "Input param `name` not equal to `hello`."}; + return results; + } +}; +``` + +После деплоя проверьте вывод клиента (`cleos`, SDK): значение видно в ответе RPC, а не внутри другого контракта через inline. + +!!! info "Где подробнее про протокол" + Детали активации функции протокола и поведение узла согласуйте с администраторами вашей сети COOPOS. В коде CDT возврат связан с intrinsic `set_action_return_value`. + +--- + +## Действия только для чтения + +Атрибут `[[eosio::action, eosio::read-only]]` помечает действие как **не изменяющее состояние**. Такое действие: + +- не должно писать в таблицы / Key-Value API; +- не должно планировать отложенные транзакции и inline-действия; +- объём возвращаемых данных ограничен (например, лимит по умолчанию на размер return value). + +Компилятор обычно **запрещает** нарушения; опция `--warn-action-read-only` заменяет ошибки предупреждениями. См. [Справочник команд](command-reference.md). + +--- + +## См. также + +- [Таблицы состояния](tables.md) +- [ABI контракта](abi.md) +- [Документация CDT](/cdt) — нативные тесты, криптографические расширения WASM diff --git a/docs/documentation/cdt/best-practices.md b/docs/documentation/cdt/best-practices.md new file mode 100644 index 000000000..c35a77a0b --- /dev/null +++ b/docs/documentation/cdt/best-practices.md @@ -0,0 +1,82 @@ +# Рекомендации по разработке контрактов + +Ниже собраны соглашения по именованию в цепочке, оценке потребления RAM/CPU/NET и минимальным требованиям к безопасности и диагностике ошибок. Они не заменяют предметный анализ угроз и нагрузочного тестирования на целевой сети. + +## Имена аккаунтов, действий и таблиц + +В типе **`eosio::name`** (в ABI и в таблицах — как `uint64_t`) хранится не произвольная строка, а **короткий идентификатор фиксированного алфавита**, упакованный в 64 бита. Так сравнивают и сериализуют имена аккаунтов, действий и таблиц без динамических строк в ключах. + +**Как уложить строку в 64 бита.** На первые двенадцать позиций отводится по **5 бит** на символ (32 значения — условно «псевдо-base32»): строчные латинские **`a`–`z`**, цифры **`1`–`5`**, символ **`.`**. Если имя длиннее двенадцати символов, тринадцатый кодируется **4 битами** (16 значений — усечённый алфавит: **`.`**, **`1`–`5`**, **`a`–`j`**). Итого максимальная длина — **13** символов; это следствие арифметики `12×5 + 4 = 64`, а не отдельное «магическое правило сети». + +**Аккаунты.** Политика регистрации задаётся **системным контрактом** сети, а не WASM. Часто для обычных аккаунтов требуют **ровно 12** символов из описанного набора, имя начинается с **`a`–`z`**, не оканчивается на **`.`** — это соглашение удобочитаемых имён. **Более короткие** имена (1–12 символов по тем же правилам кодирования) обычно относят к «коротким» / premium-аккаунтам, если сеть это поддерживает. Смысл разделения «12 vs короче» — в **правилах регистрации**, а не в том, что тринадцатый символ «обязателен»: тринадцатый нужен только если вы сознательно формируете **именно 13-символьный** идентификатор в пределах типа `name`. + +**Действия, таблицы, поля в ABI.** Те же ограничения **длины (1–13)** и **алфавита**; отдельного требования «ровно двенадцать символов» для них нет — это именно про модель аккаунтов в системном контракте. + +**В C++** строка проверяется при конструировании `name`; неверный символ или длина дают ошибку на этапе конструирования / при парсинге литерала: + +```cpp +name n = "mycontract"_n; // литерал времени компиляции +name m = name("stringfromdata"); // из данных; при несоответствии правилам — assert +std::string s = n.to_string(); // человекочитаемая форма +``` + +При вводе имён извне либо проверяйте строку **до** конструирования `name` (длина ≤ 13, алфавит `a`–`z`, `1`–`5`, `.`, для 13-й позиции — только символы, допустимые для младших 4 бит), либо перехватывайте отказ: в CDT конструктор `name` из строки вызывает `check` при нарушении правил. + +--- + +## Планирование ресурсов (RAM, CPU, NET) + +Точный ответ «сколько нужно RAM» заранее **невозможен** без измерений. Зависит от: + +- объёма данных в таблицах; +- частоты и тяжести действий; +- модели оплаты (кто платит за RAM строк — контракт или пользователь). + +Практический путь: + +1. Прогоните сценарии на **тестовой сети** с теми же системными контрактами, что и прод. +2. Замерьте потребление RAM/CPU/NET по логам узла и инструментам сети. +3. Заложите запас и настройте **мониторинг** после запуска. + +Вопросы при проектировании: + +- Храните ли вы в цепочке только необходимый минимум, а тяжёлые данные — вне сети? +- Нет ли лишних inline-действий между контрактами, которые можно объединить? +- Справедливо ли распределена оплата RAM между контрактом и пользователями? + +--- + +## Безопасность контракта + +1. **Авторизация** — используйте `has_auth`, `require_auth`, `require_auth2`; см. [Действия и авторизация](actions.md). +2. **Ресурсы** — понимайте, кто платит за RAM/CPU/NET за каждое действие. +3. **Процесс разработки** — закладывайте угрозы и проверки с первого дня. +4. **CI/CD** — автоматические тесты при каждом изменении и при обновлении узла. +5. **Аудит** — независимый разбор кода, желательно от двух команд. +6. **Bug bounty** — поощрение отчётов об уязвимостях. + +--- + +## Коды ошибок `uint64_t` + +**Зачем два способа сигнализировать об отказе.** Обычный вызов `check(условие, "текст")` кладёт в след транзакции **строку** — удобно читать в обозревателе и логах, но длина и содержимое строки ограничены, а локализация и стабильный разбор на стороне клиента затруднены. Перегрузка **`check(условие, uint64_t)`** (и низкоуровневый **`eosio_assert_code`**) передаёт наружу только **число**: в trace остаётся компактный код; человекочитаемое сообщение задаётся **в клиенте, ABI или документации** по таблице «код → смысл». Так делают, когда нужны предсказуемые коды для UI, интеграций или экономии места в данных ошибки. + +**Как применять на практике.** Заведите в контракте именованные константы или `enum class` со значениями `uint64_t` в **своём** диапазоне (см. таблицу ниже). При нарушении инварианта вызывайте, например, `check(balance >= amount, err_insufficient_balance);`. На стороне кошелька или бэкенда храните словарь соответствия кода строке на нужном языке. При желании смысл кодов можно отразить в **ABI** (секции, которые генерирует CDT для кодов ошибок конкретного контракта), чтобы автоматизировать подсказки SDK. + +**Почему указаны диапазоны.** Среда исполнения и toolchain резервируют старшие интервалы, чтобы их коды **никогда не пересеклись** с вашими произвольными числами. Если задать «любой» `uint64_t`, возможна коллизия с внутренней ошибкой CDT или протокола — клиент ошибочно интерпретирует сбой. + +| Диапазон значений | Кто использует | +|-------------------|----------------| +| от `0` до `4_999_999_999_999_999_999` | **Ваш контракт** — бизнес-ошибки и инварианты | +| от `5×10^18` до `7_999_999_999_999_999_999` | CDT: коды, привязанные к **конкретному контракту** (расшифровка в ABI) | +| от `8×10^18` до `9_999_999_999_999_999_999` | CDT: **общие** ошибки среды исполнения | +| от `10^19` до `2^64−1` | Зарезервировано **протоколом**; для пользовательского `eosio_assert_code` не предназначено | + +Итог: для ручных кодов ошибок в логике контракта выбирайте значения **только из первой строки таблицы**; строковые `check(..., "…")` оставляйте там, где важнее немедленная читаемость без доработки клиента. + +--- + +## См. также + +- [Обновление схемы данных](schema-upgrades.md) +- [Отладка и неполадки](debug-and-troubleshooting.md) diff --git a/docs/documentation/cdt/building.md b/docs/documentation/cdt/building.md new file mode 100644 index 000000000..4e729eec5 --- /dev/null +++ b/docs/documentation/cdt/building.md @@ -0,0 +1,107 @@ +# Сборка смарт-контрактов + +Описаны сценарии сборки из **командной строки** и через **CMake**. Семантика вызовов из тела контракта, intrinsic-функции и состав библиотеки — в [документации CDT (Doxygen)](/cdt). + +## Сборка через CLI + +### Что нужно заранее + +- Исходники контракта в локальной папке (ниже — пример `examples/hello`). + +### Шаги + +1. Перейдите в каталог с контрактом, где лежит например `src/hello.cpp`. +2. Выполните: + +```bash +mkdir build +cd build +cdt-cpp ../src/hello.cpp -o hello.wasm -I ../include/ +``` + +Где: + +- `../src/hello.cpp` — входной файл; +- `-o hello.wasm` — имя выходного WASM; +- `-I ../include/` — путь к заголовкам (при необходимости). + +3. Убедитесь, что появились **`hello.wasm`** и сгенерированный **`hello.abi`** (если включена генерация ABI, например через `-abigen` или атрибуты в коде — зависит от вашего сценария). + +!!! tip "Опечатка в старых гайдах" + В некоторых инструкциях ошибочно писали `cdt--cpp` — корректная команда **`cdt-cpp`**. + +--- + +## CMake: быстрый старт через `cdt-init` + +```bash +cd ~ +cdt-init --path=. --project=test_contract +cd test_contract/build +cmake .. +make +ls -al test_contract +``` + +В каталоге проекта появятся `test_contract.wasm` и `test_contract.abi`, готовые к публикации. + +--- + +## CMake: ручной `CMakeLists.txt` + +Минимальный пример. + +`CMakeLists.txt`: + +```cmake +cmake_minimum_required(VERSION 3.5) +project(test_example VERSION 1.0.0) + +find_package(cdt) + +add_contract( test test test.cpp ) +``` + +`test.cpp`: + +```cpp +#include +using namespace eosio; + +class [[eosio::contract]] test : public eosio::contract { +public: + using contract::contract; + + [[eosio::action]] void testact( name test ) { + } +}; +``` + +### Полезные макросы + +| Макрос | Назначение | +|--------|------------| +| `add_contract` | Сборка контракта и генерация ABI. Первый аргумент — имя контракта, второй — имя CMake-таргета, далее — список `.cpp`. | +| `target_ricardian_directory` | Каталог с Ricardian-текстами для конкретного таргета. | +| `add_native_library` / `add_native_executable` | Нативная сборка для юнит-тестов; см. [документацию CDT](/cdt) и примеры в репозитории CDT. | + +--- + +## Сборка примера `hello` через CMake + +Если в репозитории примеров уже есть `CMakeLists.txt`: + +```bash +cd examples/hello +mkdir build && cd build +cmake .. +make +``` + +Проверьте наличие `hello.wasm` и `hello.abi`. + +--- + +## Нативная сборка для тестов + +Для проверки логики вне WASM укажите **`-fnative`** для `cdt-cpp` / `cdt-cc` либо примените CMake-макросы `add_native_*`. Макросы `EOSIO_TEST_*` и нативный рантайм тестов описаны в [документации CDT](/cdt) и в каталоге примеров CDT. diff --git a/docs/documentation/cdt/command-reference.md b/docs/documentation/cdt/command-reference.md new file mode 100644 index 000000000..24e8ca8fa --- /dev/null +++ b/docs/documentation/cdt/command-reference.md @@ -0,0 +1,181 @@ +# Справочник команд компилятора CDT + +Опции и флаги приведены **в том виде, как в `--help`** (английские имена). **Описания — на русском.** + +Справочник по контрактному API, intrinsic-функциям и заголовкам CDT: [документация CDT (Doxygen)](/cdt). + +--- + +## cdt-cpp + +Использование: **`cdt-cpp [опции] <исходные_файлы> ...`** + +Аналог **clang** для контрактов: пути к заголовкам CDT и целевой WASM уже настроены в toolchain. + +### Общие опции + +| Опция | Описание | +|-------|-----------| +| `-help` | Вывести справку по опциям (расширенно: `-help-hidden`) | +| `-help-list` | Вывести список опций (расширенно: `-help-list-hidden`) | +| `-version` | Версия `cdt-cpp` | + +### Опции компилятора (как у Clang, плюс CDT) + +| Опция | Описание | +|-------|-----------| +| `-C` | Включать комментарии в вывод препроцессора | +| `-CC` | То же для комментариев внутри макросов | +| `-D=<макрос>` | Определить макрос (`=значение` или по умолчанию `1`) | +| `-E` | Только препроцессор | +| `-I=` | Каталог для поиска `#include` | +| `-L=` | Каталог для поиска библиотек линковщика | +| `-MD` | Записать depfile (пользовательские и системные заголовки) | +| `-MF=` | Имя файла зависимостей | +| `-MMD` | Depfile без системных заголовков | +| `-MT=` | Имя цели в depfile | +| `-O=<уровень>` | Уровень оптимизации: `s`, `0`–`3` | +| `-R=` | Путь к **ресурсам** (в т.ч. Ricardian `.md`, см. [ABI](abi.md)) | +| `-S` | До ассемблера (без линковки) | +| `-U=<макрос>` | Снять определение макроса | +| `-W=` | Включить предупреждение Clang | +| `-abigen` | Сгенерировать ABI рядом с выходным файлом | +| `-abigen_output=` | Явное имя выходного ABI | +| `-c` | Компиляция до объектного файла (без линковки) | +| `-contract=` | Имя контракта для генерации/сборки | +| `-dD` | В режиме `-E` печатать определения макросов вместе с выводом | +| `-dI` | В режиме `-E` печатать директивы `#include` | +| `-dM` | В режиме `-E` только определения макросов | +| `-emit-ast` | Сохранить AST Clang для входов | +| `-emit-llvm` | Вывод в представлении LLVM | +| `-faligned-allocation` | Включить `aligned new/delete` (C++17) | +| `-fasm` | Собрать ассемблер под x86-64 (нативный режим) | +| `-fcolor-diagnostics` | Цветной вывод диагностики | +| `-fcoroutine-ts` | Поддержка coroutines TS | +| `-finline-functions` | Встраивание подходящих функций | +| `-finline-hint-functions` | Встраивание функций с `inline`/подсказками | +| `-fmerge-all-constants` | Разрешить слияние одинаковых констант | +| `-fnative` | Сборка **нативного** кода x86-64 (тесты), не WASM | +| `-fno-cfl-aa` | Отключить CFL alias analysis | +| `-fno-elide-constructors` | Отключить elision конструкторов C++ | +| `-fno-lto` | Отключить LTO | +| `-fno-post-pass` | Не запускать пост-проход CDT | +| `-fno-stack-first` | Не размещать стек в начале памяти WASM | +| `-stack-size` | Максимальный размер стека контракта | +| `-fstack-protector` | Stack canary для уязвимых функций | +| `-fstack-protector-all` | Canaries для всех функций | +| `-fstack-protector-strong` | «Сильная» эвристика для canaries | +| `-fstrict-enums` | Оптимизации с учётом строгих enum | +| `-fstrict-return` | Пути «выпадения» из non-void = unreachable | +| `-fstrict-vtable-pointers` | Строгие правила для vtable | +| `-fuse-main` | Точка входа `main` (нестандартные бинарники) | +| `-include=` | Подключить файл до разбора | +| `-isystem=` | Системный каталог include | +| `-l=` | Имя библиотеки для линковки | +| `-lto-opt=` | Уровень оптимизации LTO | +| `-o=` | Выходной файл | +| `-std=<стандарт>` | Стандарт C/C++ (`c++17`, …) | +| `-sysroot` | Корень системы для поиска библиотек | +| `-v` | Подробный режим: показывать команды | +| `-w` | Подавить все предупреждения | +| `-no-missing-ricardian-clause` | Не предупреждать о недостающих Ricardian clause | +| `--warn-action-read-only` | Только предупреждение, если read-only действие пишет в состояние | + +--- + +## cdt-cc + +Использование: **`cdt-cc [опции] <файлы> ...`** — вариант для **C**; набор опций почти тот же, что у `cdt-cpp`. + +### Отличия и дополнения относительно `cdt-cpp` + +| Опция | Описание | +|-------|-----------| +| `-fquery` | Сборка под wasmql (серверный модуль) | +| `-fquery-client` | Клиентская часть wasmql | +| `-fquery-server` | Серверная часть wasmql | +| `-stack-size=` | Размер стека WASM в байтах (**по умолчанию 8192**) | + +Остальные флаги совпадают с таблицей `cdt-cpp`, кроме перечисленных только в `cdt-cpp` (например `-faligned-allocation`, `-fcoroutine-ts` — ориентируйтесь на вывод `cdt-cc -help`). + +--- + +## cdt-ld + +**Линковщик WASM** для контрактов. + +**Использование:** `cdt-ld [опции] <объектные_файлы> ...` + +| Опция | Описание | +|-------|-----------| +| `-help` / `-help-list` / `-version` | Справка и версия | +| `-L=` | Путь поиска библиотек | +| `-fasm` | Режим x86-64 ассемблера | +| `-fnative` | Нативная линковка x86-64 | +| `-fno-cfl-aa` | Отключить CFL AA | +| `-fno-lto` | Без LTO | +| `-fno-post-pass` | Без пост-прохода | +| `-fno-stack-first` | Стек не в начале памяти | +| `-stack-size` | Лимит стека контракта | +| `-fuse-main` | Вход через `main` | +| `-l=` | Библиотека | +| `-lto-opt=<уровень>` | Оптимизация LTO | +| `-o=` | Итоговый файл | + +--- + +## cdt-init + +Создаёт каркас проекта (по умолчанию с CMake). + +```bash +cdt-init --path=/путь/к/родителю --project=имя_папки +``` + +| Опция | Описание | +|-------|-----------| +| `-bare` | Только исходники, без CMake | +| `-path=` | Куда положить проект | +| `-project=` | Имя каталога/проекта | + +--- + +## cdt-abidiff + +Сравнение двух ABI: **`cdt-abidiff первый.abi второй.abi`** — отчёт в консоль. + +| Опция | Описание | +|-------|-----------| +| `-help` / `-help-list` / `-version` | Справка | + +--- + +## cdt-objdump + +Просмотр и дизассемблирование объектных файлов (аналог llvm-objdump для артефактов CDT). + +Полный список опций зависит от версии LLVM: + +```bash +cdt-objdump --help +``` + +Часто используют: `-d` / `--disassemble`, `--section-headers`, `--syms`, `--source`. + +--- + +## Примеры вызовов + +Сборка контракта и ABI: + +```bash +cdt-cpp -abigen src/contract.cpp -o build/contract.wasm -I include/ +``` + +Нативный тестовый бинарник: + +```bash +cdt-cpp -fnative tests/contract_test.cpp -o contract_test -I include/ +``` + +Подробнее — [Сборка контрактов](building.md). diff --git a/docs/documentation/cdt/debug-and-troubleshooting.md b/docs/documentation/cdt/debug-and-troubleshooting.md new file mode 100644 index 000000000..812bb2545 --- /dev/null +++ b/docs/documentation/cdt/debug-and-troubleshooting.md @@ -0,0 +1,98 @@ +# Отладка и устранение неполадок + +Инструментарий отладки контрактов в EOSIO-совместимых сетях ограничен: отсутствует пошаговая отладка WASM на продакшен-узле. Печать в консоль контрактов, анализ trace транзакций и воспроизведение сценариев на изолированной сети составляют рабочий минимум. + +## Отладка через печать + +Вывод из WASM в журнал узла доступен при включённой **консоли контрактов** у `nodeos`: флаг **`--contracts-console`** или `contracts-console = true` в `config.ini`, либо эквивалентная настройка в используемом дистрибутиве узла. + +Отладку целесообразно выполнять на **контролируемой тестовой сети** с детерминированным состоянием и токеномикой; публичный testnet подключают на этапе интеграционной проверки. + +### API печати + +**C API** (фрагменты): `prints`, `prints_l`, `printi`, `printui`, `printi128`, `printui128`, `printsf`, `printdf`, `printqf`, `printn`, `printhex`. + +**C++ API** перегружает `print()` для строк, целых, `name`, типов с методом `print()`. + +### Печать в цикле и символ новой строки + +Если в каждой итерации печатается `\n`, в логе может отобразиться **только первая строка**. Замените разделитель, например на `|`: + +```cpp +for (auto& item : testtab) { + eosio::print_f("{%, %, %} |", item.test_primary, item.secondary, item.datum); +} +``` + +### Порядок вывода и inline-действия + +Inline-действия **не выполняются синхронно** в том же порядке, в каком вы читаете исходник. Печать из inline может появиться **после** строк, идущих в коде «после send», или в другом месте trace — это нормально для модели выполнения. + +--- + +## Типичные ошибки + +### `unsatisfied_authorization` + +Убедитесь, что для аккаунта контракта опубликованы **и WASM, и ABI**, и транзакция подписана нужной permission. + +### `Pack data exception` / неожиданные поля + +Неверный JSON действия. Для действия без аргументов: + +```bash +cleos push action ACCOUNT get '[]' -p ACCOUNT@active +``` + +### `Unknown action ... in contract` + +Проверьте атрибут **`[[eosio::action]]`** у объявления/определения. + +### `No abi file found` / `No wasm file found` + +Каталог в `cleos set contract` должен содержать **оба** файла; имена обычно совпадают с именем каталога/аккаунта. + +### RAM при уведомлениях (`notification`) + +Уведомляемое действие не может оплатить RAM, если нет полномочий. Помните про плательщика строки и таблицы; биллинг завязан на тройку `contract, scope, table`. Подробнее — в документации по ресурсам в разделе **Блокчейн** этого сайта. + +### Singleton «не существует» после деплоя + +Возможно, изменили **имя таблицы** (первый параметр шаблона) или структуру без миграции. См. [Обновление схемы данных](schema-upgrades.md). + +### Перепутанные колонки в таблице + +Проверьте **порядок полей** в struct: при совпадении типов данные могут «съехать» визуально; при разных типах — неопределённое поведение. + +### Ошибка парсинга типа в таблице + +Скорее всего изменили **тип** поля без миграции. См. [Обновление схемы данных](schema-upgrades.md). + +### `cdt-cpp` «висит» + +Убедитесь, что среда сборки имеет **≥ 2 CPU** (VM, контейнер). + +### Нет функции `now()` + +Используйте **`current_time_point().sec_since_epoch()`** или **`current_block_time()`**. В контракте доступно **время блока**, а не настенные часы: повторные вызовы в рамках одного действия дают одно и то же «текущее» время блока. + +### `eosio_assert_code` при одинаковых именах действий в разных контрактах + +Если один контракт вызывает другой и у обоих есть действия с **одинаковым именем**, возможны коллизии кодов ошибок. Переименуйте действия так, чтобы имена не пересекались в связке вызовов. + +### Обратная несовместимость `std::map` в ABI (CDT 3.0.1+) + +Поля пары в ABI переименованы с `key`/`value` на **`first`/`second`**. Ошибки вида `missing pair_uint64_bytes.first` лечатся обновлением клиентского кода под новые имена. + +--- + +## Локальный пример отладки (legacy-стиль `apply`) + +Устаревший стиль без `eosio::contract` всё ещё встречается в старых учебниках; для новых проектов предпочтительны атрибуты CDT. Минимальная идея: печатать ветвления и значения перед `check`. + +--- + +## См. также + +- [Рекомендации](best-practices.md) +- [Сборка контрактов](building.md) diff --git a/docs/documentation/cdt/how-to-guides.md b/docs/documentation/cdt/how-to-guides.md new file mode 100644 index 000000000..dadeca93b --- /dev/null +++ b/docs/documentation/cdt/how-to-guides.md @@ -0,0 +1,675 @@ +# Практические руководства (CDT) + +Пошаговые инструкции по компиляции контрактов, работе с `multi_index` и singleton, проверкам авторизации, обёрткам действий и возврату значений из действий. Код и терминология соответствуют CDT/Antelope; полный справочник API — в [документации CDT (Doxygen)](/cdt). + +--- + +## Компиляция контракта через командную строку + +**Назначение:** собрать WASM и ABI одной командой `cdt-cpp`, без CMake. + +**Перед началом:** исходники контракта лежат локально, например в `./examples/hello/`. + +### Шаги + +1. Перейдите в каталог с примером (`./examples/hello/`). Должен быть файл `./src/hello.cpp`. + +2. Выполните: + +```bash +mkdir build +cd build +cdt-cpp ../src/hello.cpp -o hello.wasm -I ../include/ +``` + +Где: + +- `../src/hello.cpp` — входной исходный файл; +- `-o hello.wasm` — имя выходного WASM; +- `-I ../include/` — путь к каталогу заголовков (здесь — относительный). + +!!! note "Имя утилиты" + В документации к CDT используется **`cdt-cpp`** (не `cdt--cpp`). + +3. Убедитесь, что появились **`hello.wasm`** и **`hello.abi`**. + +--- + +## Настройка CMake для контрактов + +**Назначение:** подготовить `CMakeLists.txt` и макросы CDT для сборки через `cmake` / `make`. + +**Перед началом:** установлен [CMake](https://cmake.org/install/). + +### Вариант A: генерация через `cdt-init` + +Шаблон проекта, `.hpp`/`.cpp` и файлы CMake создаёт `cdt-init`: + +```bash +cd ~ +cdt-init --path=. --project=test_contract +cd test_contract +cd build +cmake .. +make +ls -al test_contract +``` + +В `~/test_contract/test_contract` появятся `test_contract.abi` и `test_contract.wasm`, готовые к деплою. + +### Вариант B: ручной `CMakeLists.txt` + +1. Минимальный `CMakeLists.txt`: + +```cmake +cmake_minimum_required(VERSION 3.5) +project(test_example VERSION 1.0.0) + +find_package(cdt) + +add_contract( test test test.cpp ) +``` + +2. Пример `test.cpp`: + +```cpp +#include +using namespace eosio; + +class [[eosio::contract]] test : public eosio::contract { +public: + using contract::contract; + + [[eosio::action]] void testact( name test ) { + } +}; +``` + +3. Полезные макросы CDT: + +- **`add_contract`** — сборка контракта и генерация ABI: имя контракта, имя цели CMake, затем список `.cpp`. +- **`target_ricardian_directory`** — каталог с Ricardian-контрактами для цели. +- **`add_native_library`** / **`add_native_executable`** — нативная сборка для тестов (аналоги `add_library` / `add_executable`). + +--- + +## Сборка контракта через CMake + +**Назначение:** собрать пример с уже готовым `CMakeLists.txt` (например `hello`). + +**Перед началом:** исходники в `./examples/hello/`. + +### Шаги + +1. Откройте `./examples/hello/`, убедитесь в наличии `./src/hello.cpp`. + +2. Выполните: + +```bash +mkdir build +cd build +cmake .. +make +``` + +3. Проверьте наличие **`hello.wasm`** и **`hello.abi`**. + +Подробнее о макросах и типовых сценариях — в разделе [Сборка контрактов](building.md). + +--- + +## Проверка авторизации в действии + +**Назначение:** ограничить вызов действия (пример — `hi`) нужными подписями. + +**Перед началом:** в контракте объявлено и реализовано действие `hi` с параметром `user` типа `name`. + +**Справка по API:** `has_auth`, `require_auth`, `require_auth2`, `check` — см. [Действия и авторизация](actions.md) и заголовки CDT. + +Есть три типичных способа проверить, что действие подписано нужным аккаунтом. + +### 1. `check` + `has_auth` — со своим текстом ошибки + +Требует, чтобы транзакция была подписана аккаунтом `user` (любая подходящая permission: `owner`, `active`, `code` и т.д.). + +```cpp +#include + +void hi( name user ) { + check(has_auth(user), "Пользователь не авторизован для этого действия."); + print( "Hello, ", name{user} ); +} +``` + +### 2. `require_auth` — короче, сообщение стандартное + +То же по смыслу (любая permission аккаунта `user`), но текст ошибки задать нельзя. + +```cpp +void hi( name user ) { + require_auth( user ); + print( "Hello, ", name{user} ); +} +``` + +### 3. `require_auth2` — только конкретная permission + +Например, только **`active`**: при подписи другой permission выполнение остановится. + +```cpp +#include + +void hi( name user ) { + require_auth2(user.value, "active"_n.value); + print( "Hello, ", name{user} ); +} +``` + +--- + +## Singleton: определение и использование + +**Назначение:** хранить одно значение (или одну структуру) на комбинацию кода, scope и имени таблицы. + +**Справка:** класс `eosio::singleton` — в [документации CDT](/cdt). + +### Шаги + +1. Подключите заголовки: + +```cpp +#include +#include +using namespace eosio; +``` + +2. Структура строки таблицы под singleton: + +```cpp +struct [[eosio::table]] testtable { + name primary_value; + uint64_t secondary_value; +}; +``` + +3. Псевдоним типа (имя `"testtable"` — в рамках правил имён аккаунтов Antelope, до 12 символов): + +```cpp +using singleton_type = eosio::singleton<"testtable"_n, testtable>; +``` + +4. Поле класса контракта: + +```cpp +singleton_type singleton_instance; +``` + +5. Инициализация в конструкторе контракта (`receiver`, `code` → обычно `receiver` и `receiver.value` для доступа к нужной партиции RAM): + +```cpp +singleton_example( name receiver, name code, datastream ds ) : + contract(receiver, code, ds), + singleton_instance(receiver, receiver.value) + { } +``` + +### Пример класса и действий + +**singleton_example.hpp** + +```cpp +#include +#include +using namespace eosio; + +class [[eosio::contract]] singleton_example : public contract { + public: + using contract::contract; + singleton_example( name receiver, name code, datastream ds ) : + contract(receiver, code, ds), + singleton_instance(receiver, receiver.value) + {} + + [[eosio::action]] + void set( name user, uint64_t value ); + [[eosio::action]] + void get( ); + + struct [[eosio::table]] testtable { + name primary_value; + uint64_t secondary_value; + uint64_t primary_key() const { return primary_value.value; } + } testtablerow; + + using singleton_type = eosio::singleton<"testtable"_n, testtable>; + singleton_type singleton_instance; + + using set_action = action_wrapper<"set"_n, &singleton_example::set>; + using get_action = action_wrapper<"get"_n, &singleton_example::get>; +}; +``` + +**singleton_example.cpp** + +```cpp +#include + +[[eosio::action]] void singleton_example::set( name user, uint64_t value ) { + auto entry_stored = singleton_instance.get_or_create(user, testtablerow); + entry_stored.primary_value = user; + entry_stored.secondary_value = value; + singleton_instance.set(entry_stored, user); +} + +[[eosio::action]] void singleton_example::get( ) { + if (singleton_instance.exists()) + eosio::print( + "Value stored for: ", + name{singleton_instance.get().primary_value.value}, + " is ", + singleton_instance.get().secondary_value, + "\n"); + else + eosio::print("Singleton is empty\n"); +} +``` + +Полный пример в репозитории CDT: [examples](https://github.com/coopenomics/cdt/tree/main/examples) (в т.ч. рядом с `multi_index_example`). + +--- + +## Таблица `multi_index`: структура, первичный ключ и экземпляр + +**Назначение:** объявить строки таблицы, первичный индекс (`uint64_t`, уникальный, метод **`primary_key()`**), тип `multi_index` и поле в классе контракта с инициализацией в конструкторе. + +**Справка:** `eosio::multi_index` — [документация CDT](/cdt). Обзор концепций — [Таблицы состояния](tables.md). + +### 1. Подготовка + +```cpp +#include +using namespace eosio; +``` + +### 2. Структура строки + +Каждое поле — колонка. Первичный ключ должен однозначно идентифировать строку. Пример: поле `test_primary` типа `name`: + +```cpp +struct [[eosio::table]] test_table { + name test_primary; + uint64_t datum; + uint64_t primary_key() const { return test_primary.value; } +}; +``` + +Тип возвращаемого значения **`primary_key()`** — **`uint64_t`**, имя метода должно быть именно **`primary_key`**, иначе `cdt-cpp` сообщит, что не найден первичный ключ. + +!!! note "Вторичные индексы" + До **16** вторичных индексов; типы ключей: `uint64_t`, `uint128_t`, `uint256_t`, `double`, `long double`. Вторичный ключ **не обязан** быть уникальным. + +### 3. Псевдоним и поле таблицы + +Имя таблицы в цепочке — первый шаблонный аргумент (строка до 12 символов по правилам имён): + +```cpp +typedef eosio::multi_index<"testtaba"_n, test_table> test_table_t; +test_table_t testtab; +``` + +### 4. Инициализация в конструкторе + +```cpp +multi_index_example( name receiver, name code, datastream ds ) : + contract(receiver, code, ds), + testtab(receiver, receiver.value) + { } +``` + +Пара `code` / `scope` вместе с именем таблицы задаёт партицию RAM для этой таблицы. + +### Полный заголовок примера + +**multi_index_example.hpp** + +```cpp +#include +using namespace eosio; + +class [[eosio::contract]] multi_index_example : public contract { + public: + using contract::contract; + + multi_index_example( name receiver, name code, datastream ds ) : + contract(receiver, code, ds), + testtab(receiver, receiver.value) + { } + + struct [[eosio::table]] test_table { + name test_primary; + uint64_t datum; + uint64_t primary_key() const { return test_primary.value; } + }; + + typedef eosio::multi_index<"testtaba"_n, test_table> test_table_t; + test_table_t testtab; + + [[eosio::action]] void set( name user ); + [[eosio::action]] void print( name user ); + + using set_action = action_wrapper<"set"_n, &multi_index_example::set>; + using print_action = action_wrapper<"print"_n, &multi_index_example::print>; +}; +``` + +Репозиторий с полным примером: [multi_index_example](https://github.com/coopenomics/cdt/blob/main/examples/multi_index_example). + +--- + +## Вторичный индекс + +**Назначение:** искать и обходить строки по дополнительному ключу. + +**Перед началом:** уже есть таблица с первичным ключом и псевдоним `test_table_t` (см. предыдущий раздел). + +### 1. Новое поле в структуре + +```cpp +struct [[eosio::table]] test_table { + name test_primary; + name secondary; + uint64_t datum; + uint64_t primary_key() const { return test_primary.value; } +}; +``` + +### 2. Метод доступа к ключу вторичного индекса + +```cpp + uint64_t by_secondary() const { return secondary.value; } +``` + +### 3. Объявление индекса в `multi_index` + +Имя индекса, например `"secid"_n`, и `eosio::const_mem_fun` на геттер: + +```cpp +typedef eosio::multi_index<"testtaba"_n, test_table, + eosio::indexed_by<"secid"_n, + eosio::const_mem_fun>> test_table_t; +``` + +### Пример контракта с вторичным индексом + +```cpp +#include +using namespace eosio; + +class [[eosio::contract]] multi_index_example : public contract { + public: + using contract::contract; + + multi_index_example( name receiver, name code, datastream ds ) : + contract(receiver, code, ds), + testtab(receiver, receiver.value) + { } + + struct [[eosio::table]] test_table { + name test_primary; + name secondary; + uint64_t datum; + uint64_t primary_key() const { return test_primary.value; } + uint64_t by_secondary() const { return secondary.value; } + }; + + typedef eosio::multi_index<"testtaba"_n, test_table, + eosio::indexed_by<"secid"_n, + eosio::const_mem_fun>> test_table_t; + + test_table_t testtab; + + [[eosio::action]] void set( name user ); + [[eosio::action]] void print( name user ); + + using set_action = action_wrapper<"set"_n, &multi_index_example::set>; + using print_action = action_wrapper<"print"_n, &multi_index_example::print>; +}; +``` + +!!! warning "Не добавлять вторичный индекс к уже существующей таблице в продакшене" + Поведение может быть непредсказуемым. Планируйте схему заранее; см. [Обновление схемы данных](schema-upgrades.md) и [Рекомендации](best-practices.md). + +--- + +## Вставка строки (`emplace`) + +**Перед началом:** экземпляр `testtab` создан, как в примерах выше. Ниже — вариант со **вторичным** полем `secondary` (нужен вторичный индекс в типе таблицы). + +Проверка существования по первичному ключу и вставка: + +```cpp +[[eosio::action]] void multi_index_example::set( name user ) { + auto itr = testtab.find(user.value); + + if ( itr == testtab.end() ) { + testtab.emplace( _self, [&]( auto& u ) { + u.test_primary = user; + u.secondary = "second"_n; + u.datum = 0; + }); + } + else { + printf("User already exists."); + } +} +``` + +--- + +## Поиск и вывод по первичному ключу + +Объявление действия: + +```cpp +[[eosio::action]] void print( name user ); +using print_action = action_wrapper<"print"_n, &multi_index_example::print>; +``` + +Реализация: + +```cpp +[[eosio::action]] void multi_index_example::print( name user ) { + auto itr = testtab.find(user.value); + check( itr != testtab.end(), "user does not exist in table" ); + eosio::print_f("Test Table : {%, %}\n", itr->test_primary, itr->datum); +} +``` + +**multi_index_example.cpp** (фрагмент вместе с `set` без вторичного поля — адаптируйте структуру под ваш контракт): + +```cpp +#include + +[[eosio::action]] void multi_index_example::set( name user ) { + auto itr = testtab.find(user.value); + if ( itr == testtab.end() ) { + testtab.emplace( _self, [&]( auto& u ) { + u.test_primary = user; + u.secondary = "second"_n; + u.datum = 0; + }); + } +} + +[[eosio::action]] void multi_index_example::print( name user ) { + auto itr = testtab.find(user.value); + check( itr != testtab.end(), "user does not exist in table" ); + eosio::print_f("Test Table : {%, %}\n", itr->test_primary, itr->datum); +} +``` + +--- + +## Изменение строки (`modify`) + +Действие `mod` обновляет поле `datum` для строки с ключом `user`: + +```cpp +[[eosio::action]] void mod( name user, uint32_t value ); +using mod_action = action_wrapper<"mod"_n, &multi_index_example::mod>; +``` + +```cpp +[[eosio::action]] void multi_index_example::mod( name user, uint32_t value ) { + auto itr = testtab.find(user.value); + check( itr != testtab.end(), "user does not exist in table" ); + + testtab.modify( itr, _self, [&]( auto& row ) { + row.datum = value; + }); +} +``` + +--- + +## Удаление строки (`erase`) + +```cpp +[[eosio::action]] void multi_index_example::del( name user ) { + auto itr = testtab.find(user.value); + if ( itr == testtab.end() ) { + printf("User does not exist in table, nothing to delete"); + return; + } + testtab.erase( itr ); +} +``` + +Проверка после удаления: + +```cpp +auto itr = testtab.find(user.value); +if ( itr == testtab.end() ) { + printf("User was deleted successfully."); +} else { + printf("User was NOT deleted!"); +} +``` + +--- + +## Обход таблицы по вторичному индексу + +**Перед началом:** определён вторичный индекс `"secid"_n`, см. раздел выше. + +Действие: + +```cpp +[[eosio::action]] void bysec( name secid ); +using bysec_action = action_wrapper<"bysec"_n, &multi_index_example::bysec>; +``` + +Реализация — получить индекс через `get_index` и пройти в цикле: + +```cpp +[[eosio::action]] void multi_index_example::bysec( name secid ) { + auto idx = testtab.get_index<"secid"_n>(); + for ( auto itr = idx.begin(); itr != idx.end(); itr++ ) { + eosio::print_f("Test Table : {%, %, %}\n", itr->test_primary, itr->secondary, itr->datum); + } +} +``` + +Заголовок класса с `bysec` и полным `typedef` для таблицы — см. пример в разделе «Вторичный индекс»; полный `.cpp` совпадает с примером из репозитория [multi_index_example](https://github.com/coopenomics/cdt/blob/main/examples/multi_index_example). + +--- + +## Обёртки действий (`action_wrapper`) + +**Назначение:** типобезопасно слать действие текущего или другого контракта без ручной сборки `action`. + +**Справка:** `eosio::action_wrapper` — в [документации CDT](/cdt) и в [Действия и авторизация](actions.md). + +**Перед началом:** в контракте объявлено действие, например `mod(name user, uint32_t n)`. + +### 1. Объявление обёртки в классе контракта + +```cpp +using mod_action = action_wrapper<"mod"_n, &multi_index_example::mod>; +``` + +### 2. Использование из кода, где известен получатель контракта + +Подключите заголовок с классом контракта: + +```cpp +#include +``` + +Создайте обёртку (пример: контракт задеплоен на аккаунт `multiindexex`, подпись от `get_self()` с permission `active`): + +```cpp +multi_index_example::mod_action modaction("multiindexex"_n, {get_self(), "active"_n}); +modaction.send("eostutorial"_n, 1); +``` + +Аргументы `send` — в том же порядке, что у действия `mod`. + +--- + +## Возврат значения из действия + +**Назначение:** вернуть из действия структуру или примитив; клиенты увидят значение в ответе RPC / трейсе. + +Используйте обычный **`return`**; при необходимости CDT вызовет intrinsic для записи возвращаемого значения. + +**Перед началом:** контракт собирается без ошибок; есть действие (пример — `checkwithrv`), возвращающее тип `action_response`. + +```cpp +struct action_response +{ + uint16_t id; + std::pair status; +}; + +class [[eosio::contract]] smrtcontract : public contract { + public: + using contract::contract; + + [[eosio::action]] + action_response checkwithrv( name nm ); +}; +``` + +Реализация: + +```cpp +[[eosio::action]] +action_response smrtcontract::checkwithrv( name nm ) { + print_f("Name : %\n", nm); + + action_response results; + results.id = 1; + if (nm == "hello"_n) { + results.status = {0, "Validation has passed."}; + } + else { + results.status = {1, "Input param `name` not equal to `hello`."}; + } + + return results; +} +``` + +Полный пример: [hello в репозитории CDT](https://github.com/coopenomics/cdt/blob/main/examples/hello). + +!!! note "Где доступно возвращаемое значение" + Значение видно клиентам, вызывающим действие через **RPC API**. У **inline**-действий возврат недоступен в том же смысле, так как они не выполняются синхронно с ожиданием результата на стороне вызывающего контракта. + +--- + +## Куда смотреть дальше + +- [Таблицы состояния](tables.md) — обзор `multi_index` и singleton. +- [Действия и авторизация](actions.md) — таблица примитивов и паттерны. +- [ABI контракта](abi.md), [Обновление схемы данных](schema-upgrades.md), [Отладка и неполадки](debug-and-troubleshooting.md). diff --git a/docs/documentation/cdt/index.md b/docs/documentation/cdt/index.md new file mode 100644 index 000000000..0d05b97bd --- /dev/null +++ b/docs/documentation/cdt/index.md @@ -0,0 +1,44 @@ +# Инструменты разработчика (CDT) + +**CDT** (Contract Development Tools) — toolchain на базе C/C++ для компиляции смарт-контрактов в WebAssembly (WASM) и их сопровождения в сети **COOPOS**. + +Помимо трансляции в WASM, CDT вводит контрактные атрибуты, постпроходы и соглашения, согласованные с моделью исполнения цепочки. Компилятор строится на форке LLVM/Clang; целевой WASM-backend накладывает ограничения на часть оптимизаций и диалекта C++. + +**COOPOS** наследует архитектуру **EOSIO / Antelope**: аккаунты, permissions, модель действий, табличное хранение состояния и биллинг RAM/CPU/NET концептуально совпадают с экосистемой EOSIO. Отличия следует уточнять по конфигурации узла, системным контрактам и политике сети. + +!!! tip "Исходный код и сборка CDT" + Актуальные инструкции по сборке из исходников и установке бинарных пакетов — в README репозитория CDT вашей ветки. + +## Архитектура смарт-контракта + +**Развёртывание.** Контракт размещается на **аккаунте** цепочки в виде пары артефактов: **WASM-модуль** (исполняемый код) и **ABI** (описание действий и типов для сериализации на границе «клиент — узел»). Узел не интерпретирует ABI при исполнении WASM; корректность бинарной полезной нагрузки действий обеспечивается логикой контракта и согласованностью с клиентами. + +**Транзакции.** Единица атомарности — **транзакция**: упорядоченный набор **действий** (получатель — аккаунт, имя действия, закодированные аргументы). Либо исполняется вся транзакция, либо состояние цепочки к моменту её начала восстанавливается. + +**Взаимодействие.** Внешний вызов поступает через подписанную транзакцию (CLI, SDK, HTTP API узла). **Inline-действия** и обработчики **уведомлений** (`on_notify`) реализуют композицию контрактов в рамках исполнения транзакции узлом; отдельного сетевого round-trip при этом не возникает. + +**Состояние.** Персистентные данные размещаются в **таблицах** состояния (типичная оплата — **RAM**). Идентификация набора строк задаётся связкой **код контракта — scope — имя таблицы**; внутри таблицы — строки с первичным ключом и, при необходимости, вторичными индексами. + +**Авторизация.** Обработчик действия обязан явно согласовать требования к **аккаунту и permission** подписанта с доменной моделью; системные примитивы (`require_auth`, `has_auth` и т.д.) — инфраструктурный минимум, а не замена предметным проверкам. + +Ниже — предметные разделы по сборке, таблицам, действиям, ABI и эволюции схемы. **Исчерпывающий справочник по API CDT, intrinsic-функциям WASM и низкоуровневым привязкам** вынесен в **[документацию CDT (Doxygen)](/cdt)**. + +## Содержание раздела + +| Раздел | Содержание | +|--------|------------| +| [Установка](installation.md) | Требования к окружению и проверка toolchain | +| [Справочник команд компилятора](command-reference.md) | `cdt-cpp`, `cdt-cc`, `cdt-ld`, `cdt-init`, `cdt-abidiff`, `cdt-objdump` | +| [Сборка контрактов](building.md) | CLI и интеграция с CMake | +| [Таблицы состояния](tables.md) | `multi_index`, singleton, операции над строками | +| [Действия и авторизация](actions.md) | Проверки прав, `action_wrapper`, возврат значения действия | +| [ABI контракта](abi.md) | Структура JSON ABI, атрибуты CDT, Ricardian | +| [Обновление схемы данных](schema-upgrades.md) | `binary_extension`, `variant`, миграции без потери совместимости | +| [Рекомендации](best-practices.md) | Именование, ресурсы, коды ошибок | +| [Отладка и неполадки](debug-and-troubleshooting.md) | Консоль контрактов, типовые сбои | + +Расширенные темы (нативная сборка для тестов, WASM crypto extensions, отложенные транзакции в исторической модели EOSIO) освещаются в примерах репозитория CDT и в **[документации API](/cdt)**. + +## Лицензия + +Upstream CDT распространяется на условиях MIT (файл `LICENSE` в репозитории инструментов). diff --git a/docs/documentation/cdt/installation.md b/docs/documentation/cdt/installation.md new file mode 100644 index 000000000..3021a7b90 --- /dev/null +++ b/docs/documentation/cdt/installation.md @@ -0,0 +1,39 @@ +# Установка CDT + +Здесь — **что поставить и как убедиться, что CDT доступен из shell**, плюс пара замечаний про версии и CMake. Пошаговую установку под вашу ОС и список зависимостей берите из **README** репозитория CDT (ветка, которая идёт вместе с вашей сборкой COOPOS): они меняются от релиза к релизу. + +--- + +## Версия CDT и узла + +Собирайте контракт **той же линией CDT**, которую ожидает целевая сеть: сериализатор ABI и набор intrinsic-функций привязаны к поколению узла. Перед деплоем сверьте `cdt-cpp -version` с регламентом проекта или с образом CI. + +--- + +## Утилиты в `PATH` + +После установки из терминала должны вызываться: + +- **`cdt-cpp`** / **`cdt-cc`** — компиляция в WASM (или нативная сборка с `-fnative` для тестов) +- **`cdt-ld`** — линковка, если собираете из нескольких объектных файлов +- **`cdt-init`** — шаблон проекта +- по желанию: **`cdt-abidiff`**, **`cdt-objdump`** + +Проверка: + +```bash +cdt-cpp -version +``` + +--- + +## CMake + +Для сборки через CMake нужны **`find_package(cdt)`** и toolchain **`CDTWasmToolchain.cmake`** (идёт в поставке CDT). Конкретные команды `cmake` и макросы — в [Сборка контрактов](building.md). + +--- + +## Где что описано + +**README репозитория CDT** — установка пакетов, сборка из исходников, Docker и т.д. +**Этот раздел сайта** — как пользоваться CDT при написании контракта и как стыковать артефакты с узлом COOPOS; без дублирования инструкций по установке ОС. diff --git a/docs/documentation/cdt/schema-upgrades.md b/docs/documentation/cdt/schema-upgrades.md new file mode 100644 index 000000000..40d2aa51e --- /dev/null +++ b/docs/documentation/cdt/schema-upgrades.md @@ -0,0 +1,124 @@ +# Обновление схемы данных и миграции + +Раздел предназначен для планирования **релизов смарт-контракта**, в которых меняется формат хранимых данных или параметров действий. Он задаёт допустимые приёмы и типичные ошибки, чтобы выкатка нового WASM не привела к порче уже существующего состояния в сети. + +**В зоне внимания:** совместимость бинарного представления строк таблиц и аргументов действий с новой версией кода и ABI. +**Вне раздела:** резервное копирование узла, репликация SHIP, миграции внешних баз и прочая инфраструктура вокруг цепочки. + +--- + +## Предмет: какие данные подлежат согласованию с новой версией контракта + +Контракт в модели EOSIO/COOPOS накапливает **состояние** — данные, которые переживают отдельный вызов действия. Их обычно размещают в **таблицах**: в коде это контейнеры `eosio::multi_index` и при необходимости `eosio::singleton`. Узел сохраняет строки в **глобальном состоянии цепочки**; учёт ресурсов чаще всего ведёт через **RAM**, но для понимания миграций важен не биллинг сам по себе, а то, что запись **остаётся в хранилище состояния** до явного изменения или удаления. + +С точки зрения узла каждая строка таблицы — **последовательность байтов**, полученная при сериализации структуры с атрибутом `[[eosio::table]]` по правилам, согласованным с **ABI** контракта. При следующем действии WASM снова **десериализует** эти байты в поля C++. + +Публикация обновлённого контракта заменяет **исполняемый модуль** (WASM). **Содержимое таблиц автоматически не перекодируется:** в цепочке по-прежнему лежат байты, записанные предыдущими версиями. Новый код обязан либо читать их в прежнем формате, либо выполнить описанную в этом разделе **миграцию** (включая очистку или перенос), либо оформить расширение так, чтобы старые короткие записи оставались валидны (например, опциональный хвост в `binary_extension`). Иначе возможны ошибки разбора, некорректные значения или нестабильное поведение без явного assert. + +**Миграция схемы** в смысле данного документа — это проектное решение и набор шагов деплоя, обеспечивающие согласованность **уже лежащих в состоянии цепочки байтов** с **новой структурой строки в исходниках** и с **обновлённым ABI** для клиентов. + +--- + +## Базовое правило (без него всё ломается) + +Сериализация идёт **в порядке полей** в структуре. Старые строки в цепочке — это «снимок» этого порядка на момент записи. + +| Допустимо без специальных приёмов | Недопустимо без миграции или очистки таблицы | +|-----------------------------------|-----------------------------------------------| +| Удалить таблицу / все строки и задеплоить новую структуру | Поменять местами поля | +| Задеплоить новый контракт на **другой аккаунт** с пустыми таблицами | Вставить новое поле **между** существующими | +| Добавить **новое поле только в конец** и оформить его как `binary_extension` (см. ниже) | Изменить **тип или смысл** уже существующего поля «на том же месте» (было `uint32`, стало `name` и т.п.) | +| Расширять `std::variant` **только добавлением новых вариантов в конец** списка | Удалять или переставлять варианты в уже развёрнутом `variant` | + +Если сомневаетесь — считайте, что **любое изменение уже существующих полей** требует либо очистки данных, либо отдельной процедуры переноса (вторая таблица). + +--- + +## С чего начать при планировании релиза + +1. **Нужны ли старые строки?** Если нет — проще всего очистить таблицу или выкатить логику на новый аккаунт. +2. **Если нужны** — выберите стратегию: «хвост опционален» (`binary_extension`), «одно поле — несколько форматов во времени» (`variant`), или «копирование в новую таблицу». +3. **ABI** обновите вместе с кодом; имеет смысл сравнивать старый и новый ABI инструментом `cdt-abidiff`, чтобы не пропустить расхождение с клиентами. + +--- + +## Стратегия 1: можно обнулить или перенести данные + +Подходит для тестовых сетей, черновых контрактов или когда пользователи заранее согласны потерять содержимое таблицы. + +1. Удалить все строки проблемной таблицы **или** перенести контракт на новый аккаунт без старых данных. +2. Задеплоить WASM с новой структурой. + +**Не путать с «просто задеплоил новый wasm»:** если таблица не пуста, старые байты останутся. + +--- + +## Стратегия 2: сохранить строки — расширение в конец (`binary_extension`) + +**Идея:** старые записи короче новых. Среда при разборе знает: у опционального **хвоста** байтов может не быть — тогда поле считается отсутствующим, ошибки нет. + +**Когда использовать:** добавили **одно или несколько новых полей в конец** строки таблицы **или** добавили **новый аргумент в конец** списка параметров действия. + +**Как делать:** + +- Новое поле — последнее в `struct` (или новый параметр — последний в сигнатуре действия). +- Тип — `eosio::binary_extension` (не вставлять «в середину»). +- В ABI у такого поля тип помечается суффиксом **`$`** (например `"uint64$"`): клиентам это сигнал, что значение может отсутствовать в старых данных. + +**В коде** проверяйте наличие: `if (поле) { … поле.value() … }`. + +**Пример — новый параметр действия:** + +```cpp +// Было: +[[eosio::action]] void regpkey(eosio::name primary_key); + +// Стало: второй параметр только в конце и в binary_extension +[[eosio::action]] void regpkey( + eosio::name primary_key, + eosio::binary_extension secondary_key); +``` + +**Ограничения:** не усложняйте вложенность (массивы, наследование, `variant` внутри `variant` без понимания сериализации). Детали — в `binary_extension.hpp` вашей версии CDT. + +--- + +## Стратегия 3: одно поле — несколько форматов (`std::variant`) + +**Идея:** в одной ячейке строки со временем может лежать значение **разного типа**; номер активного варианта и полезная нагрузка кодируются по правилам ABI. + +**Новая таблица с нуля** — можно объявить поле как `std::variant<…>`. Позже **расширять только конец списка типов** (добавлять новые варианты в конец), не переставляя и не удаляя старые. + +**Таблица уже в проде** — новое «поле-вариант» обычно добавляют как **последнее** поле строки в виде `eosio::binary_extension>`, чтобы старые короткие строки по-прежнему читались. + +```cpp +eosio::binary_extension> payload; +``` + +**Не стоит** вкладывать `binary_extension` внутрь списка альтернатив `variant`, если нет жёсткой необходимости и глубокого разбора схемы — высокий риск рассинхрона ABI и фактических байтов. + +--- + +## Стратегия 4: вторая таблица и перенос строк + +Нужна, когда «просто дописать хвост» недостаточно: меняется первичный ключ, ломается порядок полей, нужна другая модель индексов и т.д. + +**Вариант без длительного простоя:** в коде одновременно объявляются старая и новая таблицы; при чтении или отдельными действиями строки **переписываются** из старой в новую, после чего старая запись удаляется. Пока перенос не завершён, логика должна учитывать оба хранилища. + +**Вариант с окном обслуживания:** выкатывается версия контракта, которая **только** гоняет миграцию (пакетами, с учётом лимита времени транзакции), затем финальный деплой без старой таблицы. + +Любая такая схема требует продуманного порядка деплоя и, при необходимости, коммуникации с пользователями API. + +--- + +## Связь с ABI и клиентами + +Строки таблиц и аргументы действий описаны в **ABI**. После изменения структур **пересоберите ABI** и проверьте клиенты (кошелёк, SDK, индексаторы). Иначе они будут слать JSON со старыми полями или читать таблицу по устаревшей схеме. + +Полезные материалы: + +- [Таблицы состояния](tables.md) — как объявлять и наполнять таблицы. +- [ABI контракта](abi.md) — секции `structs`, `tables`, генерация. +- [Рекомендации](best-practices.md) — имена и ресурсы. + +Пошаговые сценарии с `cleos set contract` и примерами исходников — в репозитории CDT; перед продакшеном воспроизведите миграцию на тестовой сети с тем же лимитом транзакций, что и в бою. diff --git a/docs/documentation/cdt/tables.md b/docs/documentation/cdt/tables.md new file mode 100644 index 000000000..c1a9352ad --- /dev/null +++ b/docs/documentation/cdt/tables.md @@ -0,0 +1,273 @@ +# Таблицы состояния: `multi_index` и singleton + +Табличное хранение — основной механизм персистентного состояния контракта в RAM узла. **`eosio::multi_index`** задаёт множество строк с первичным и до шестнадцати вторичных ключей; **`eosio::singleton`** — ровно одна строка на комбинацию кода, scope и имени таблицы. + +Операции низкого уровня (`db_*`, детали индексов) см. в [документации CDT (Doxygen)](/cdt); ниже — практические шаблоны на C++ API. + +!!! note "Справка по API в коде" + Класс `eosio::multi_index` и методы `find`, `emplace`, `modify`, `erase` описаны в заголовках CDT (``). Ниже — сценарии использования, а не полный справочник по каждому шаблонному параметру. + +--- + +## Подготовка: include и пространство имён + +```cpp +#include +using namespace eosio; +``` + +--- + +## Структура строки и первичный ключ + +Каждая строка таблицы — это `struct` с атрибутом `[[eosio::table]]`. Должен быть метод **`primary_key()`**, возвращающий **`uint64_t`**, уникальный для строки: + +```cpp +struct [[eosio::table]] test_table { + name test_primary; + uint64_t datum; + + uint64_t primary_key() const { return test_primary.value; } +}; +``` + +Вторичных индексов может быть до **16**; для них допускаются типы `uint64_t`, `uint128_t`, `uint256_t`, `double`, `long double`. Вторичный индекс **не обязан** быть уникальным. + +--- + +## Псевдоним типа и поле класса контракта + +Имя таблицы в цепочке — первый шаблонный аргумент `multi_index` (до 12 символов + опциональный 13-й по правилам имён): + +```cpp +typedef eosio::multi_index<"testtaba"_n, test_table> test_table_t; +test_table_t testtab; +``` + +--- + +## Инициализация в конструкторе контракта + +Параметры конструктора `multi_index`: **`code`** (обычно `receiver`) и **`scope`** (часто `receiver.value`): + +```cpp +multi_index_example( name receiver, name code, datastream ds ) : + contract(receiver, code, ds), + testtab(receiver, receiver.value) +{ } +``` + +Тройка **код + scope + имя таблицы** задаёт «раздел» RAM для строк. + +--- + +## Вторичный индекс + +1. Добавьте поле и метод-аксессор, возвращающий ключ индекса: + +```cpp +struct [[eosio::table]] test_table { + name test_primary; + name secondary; + uint64_t datum; + + uint64_t primary_key() const { return test_primary.value; } + uint64_t by_secondary() const { return secondary.value; } +}; +``` + +2. Расширьте объявление `multi_index` через `indexed_by` и `const_mem_fun`: + +```cpp +typedef eosio::multi_index< + "testtaba"_n, + test_table, + eosio::indexed_by<"secid"_n, eosio::const_mem_fun> +> test_table_t; +``` + +!!! warning "Не добавляйте вторичный индекс к уже заполненной таблице «на лету»" + Изменение набора индексов у существующей таблицы с данными ведёт к непредсказуемым эффектам. Планируйте схему заранее или используйте стратегии миграции из [Обновление схемы данных](schema-upgrades.md). + +--- + +## Вставка строки (`emplace`) + +Типичный шаблон: искать по первичному ключу, и если нет — создать строку. Первый аргумент `emplace` — **плательщик RAM** (`_self` или другой аккаунт по правилам вашей модели). + +```cpp +[[eosio::action]] void multi_index_example::set( name user ) { + auto itr = testtab.find(user.value); + + if ( itr == testtab.end() ) { + testtab.emplace( _self, [&]( auto& u ) { + u.test_primary = user; + u.secondary = "second"_n; + u.datum = 0; + }); + } +} +``` + +--- + +## Изменение строки (`modify`) + +```cpp +[[eosio::action]] void multi_index_example::mod( name user, uint32_t value ) { + auto itr = testtab.find(user.value); + check( itr != testtab.end(), "user does not exist in table" ); + + testtab.modify( itr, _self, [&]( auto& row ) { + row.datum = value; + }); +} +``` + +Удобно объявить **`using mod_action = action_wrapper<"mod"_n, &multi_index_example::mod>;`** для отправки inline-действий (см. [Действия и авторизация](actions.md)). + +--- + +## Удаление строки (`erase`) + +```cpp +[[eosio::action]] void multi_index_example::del( name user ) { + auto itr = testtab.find(user.value); + if ( itr == testtab.end() ) { + return; + } + testtab.erase( itr ); +} +``` + +--- + +## Поиск и чтение по первичному ключу + +```cpp +[[eosio::action]] void multi_index_example::print( name user ) { + auto itr = testtab.find(user.value); + check( itr != testtab.end(), "user does not exist in table" ); + eosio::print_f("Test Table : {%, %}\n", itr->test_primary, itr->datum); +} +``` + +--- + +## Обход по вторичному индексу + +```cpp +[[eosio::action]] void multi_index_example::bysec( name /*secid*/ ) { + auto idx = testtab.get_index<"secid"_n>(); + for ( auto itr = idx.begin(); itr != idx.end(); ++itr ) { + eosio::print_f("Test Table : {%, %, %}\n", itr->test_primary, itr->secondary, itr->datum); + } +} +``` + +Для выборки по конкретному значению вторичного ключа используйте `idx.find(secondary_value)` аналогично первичному индексу. + +--- + +## Полный минимальный пример (заголовок) + +```cpp +#include +using namespace eosio; + +class [[eosio::contract]] multi_index_example : public contract { +public: + using contract::contract; + + multi_index_example( name receiver, name code, datastream ds ) : + contract(receiver, code, ds), + testtab(receiver, receiver.value) + { } + + struct [[eosio::table]] test_table { + name test_primary; + name secondary; + uint64_t datum; + uint64_t primary_key() const { return test_primary.value; } + uint64_t by_secondary() const { return secondary.value; } + }; + + typedef eosio::multi_index< + "testtaba"_n, + test_table, + eosio::indexed_by<"secid"_n, eosio::const_mem_fun> + > test_table_t; + + test_table_t testtab; + + [[eosio::action]] void set( name user ); + [[eosio::action]] void print( name user ); + [[eosio::action]] void bysec( name secid ); + [[eosio::action]] void mod( name user, uint32_t value ); + [[eosio::action]] void del( name user ); + + using set_action = action_wrapper<"set"_n, &multi_index_example::set>; + using print_action = action_wrapper<"print"_n, &multi_index_example::print>; +}; +``` + +Рабочие примеры также есть в каталоге `examples/multi_index_example` репозитория CDT. + +--- + +## Singleton + +Singleton хранит **одну** строку на заданное имя таблицы — удобно для глобальных настроек. + +```cpp +#include +#include +using namespace eosio; + +class [[eosio::contract]] singleton_example : public contract { +public: + using contract::contract; + + singleton_example( name receiver, name code, datastream ds ) : + contract(receiver, code, ds), + singleton_instance(receiver, receiver.value) + {} + + struct [[eosio::table]] testtable { + name primary_value; + uint64_t secondary_value; + uint64_t primary_key() const { return primary_value.value; } + } testtablerow; + + using singleton_type = eosio::singleton<"testtable"_n, testtable>; + singleton_type singleton_instance; + + [[eosio::action]] void set( name user, uint64_t value ); + [[eosio::action]] void get(); +}; +``` + +Пример реализации: + +```cpp +[[eosio::action]] void singleton_example::set( name user, uint64_t value ) { + auto entry_stored = singleton_instance.get_or_create(user, testtablerow); + entry_stored.primary_value = user; + entry_stored.secondary_value = value; + singleton_instance.set(entry_stored, user); +} + +[[eosio::action]] void singleton_example::get() { + if (singleton_instance.exists()) + print( "Value: ", singleton_instance.get().secondary_value, "\n"); + else + print("Singleton is empty\n"); +} +``` + +--- + +## Дальше + +- [Обновление схемы данных](schema-upgrades.md) — безопасное добавление полей. +- [ABI контракта](abi.md) — как таблицы попадают в ABI. diff --git a/docs/index.md b/docs/index.md index 8ec0868bf..68a43b805 100644 --- a/docs/index.md +++ b/docs/index.md @@ -25,4 +25,4 @@ 2. **[Блокчейн](documentation/blockchain/intro.md)** — устройство цепи COOPOS, узлы, транзакции, программы узла. 3. **[Библиотека типов](https://docs.coopenomics.world/cooptypes)** и **[Кооперативные контракты](https://coopenomics.world/contracts)** — вне этого сайта; контракты задают экономику и прикладную логику на цепи. -**CDT** (Contract Development Toolkit) и прочие инструменты сборки контрактов **появятся отдельным разделом** в оглавлении, когда материалы будут готовы; сейчас см. кратко [Программы (инструменты COOPOS)](documentation/blockchain/programs.md) в разделе блокчейна. +**Инструменты разработчика (CDT)** — см. раздел **[Инструменты разработчика (CDT)](documentation/cdt/index.md)** в оглавлении; обзорный контекст узла и утилит — в [Программы (инструменты COOPOS)](documentation/blockchain/programs.md). diff --git a/mkdocs.yml b/mkdocs.yml index c7a493e25..9d86fbc9b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -223,8 +223,21 @@ nav: # - SDK: https://docs.coopenomics.world/sdk //не относится к coopenomics - - Кооперативные Контракты: https://coopenomics.world/contracts - - Библиотека типов: https://docs.coopenomics.world/cooptypes + - Инструменты разработчика (CDT): + - Введение: documentation/cdt/index.md + - Установка: documentation/cdt/installation.md + - Справочник команд компилятора: documentation/cdt/command-reference.md + - Сборка контрактов: documentation/cdt/building.md + - Таблицы состояния: documentation/cdt/tables.md + - Действия и авторизация: documentation/cdt/actions.md + - ABI контракта: documentation/cdt/abi.md + - Обновление схемы данных: documentation/cdt/schema-upgrades.md + - Рекомендации: documentation/cdt/best-practices.md + - Отладка и неполадки: documentation/cdt/debug-and-troubleshooting.md + - Практические руководства: documentation/cdt/how-to-guides.md + - Документация: /cdt + - Кооперативные Контракты: /contracts + - Библиотека типов: /cooptypes # - Введение: documentation/contracts/index.md # - Системные контракты: documentation/coopcontracts/system.md diff --git a/sync-cdt-docs.sh b/sync-cdt-docs.sh new file mode 100755 index 000000000..346328453 --- /dev/null +++ b/sync-cdt-docs.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# CDT заносим статично в docs временно. Т.е. надо сгенерировать отдельно и засинхронизировать. + +# Копируем SDK документацию (без typedoc.json) +mkdir -p docs/cdt +rsync -av "../../cdt/tmp/html/" docs/cdt/ +