{
 "address": "0x2c1fb497cd0858cf68c96af6e2a801d121d97e27",
 "name": "Dynamic",
 "language": "solidity",
 "compiler_version": "v0.8.21+commit.d9974bed",
 "optimization": false,
 "optimization_runs": 200,
 "evm_version": "shanghai",
 "verified_at": "2024-06-07T03:24:44.628386Z",
 "fully_verified": false,
 "proxy_type": null,
 "external_libraries": [],
 "sources": {
  "/": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC6093.sol)\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard ERC20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens.\n */\ninterface IERC20Errors {\n    /**\n     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     * @param balance Current balance for the interacting account.\n     * @param needed Minimum amount required to perform a transfer.\n     */\n    error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n    /**\n     * @dev Indicates a failure with the token `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     */\n    error ERC20InvalidSender(address sender);\n\n    /**\n     * @dev Indicates a failure with the token `receiver`. Used in transfers.\n     * @param receiver Address to which tokens are being transferred.\n     */\n    error ERC20InvalidReceiver(address receiver);\n\n    /**\n     * @dev Indicates a failure with the `spender`\u2019s `allowance`. Used in transfers.\n     * @param spender Address that may be allowed to operate on tokens without being their owner.\n     * @param allowance Amount of tokens a `spender` is allowed to operate with.\n     * @param needed Minimum amount required to perform a transfer.\n     */\n    error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n    /**\n     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n     * @param approver Address initiating an approval operation.\n     */\n    error ERC20InvalidApprover(address approver);\n\n    /**\n     * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n     * @param spender Address that may be allowed to operate on tokens without being their owner.\n     */\n    error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC721 tokens.\n */\ninterface IERC721Errors {\n    /**\n     * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20.\n     * Used in balance queries.\n     * @param owner Address of the current owner of a token.\n     */\n    error ERC721InvalidOwner(address owner);\n\n    /**\n     * @dev Indicates a `tokenId` whose `owner` is the zero address.\n     * @param tokenId Identifier number of a token.\n     */\n    error ERC721NonexistentToken(uint256 tokenId);\n\n    /**\n     * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     * @param tokenId Identifier number of a token.\n     * @param owner Address of the current owner of a token.\n     */\n    error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n    /**\n     * @dev Indicates a failure with the token `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     */\n    error ERC721InvalidSender(address sender);\n\n    /**\n     * @dev Indicates a failure with the token `receiver`. Used in transfers.\n     * @param receiver Address to which tokens are being transferred.\n     */\n    error ERC721InvalidReceiver(address receiver);\n\n    /**\n     * @dev Indicates a failure with the `operator`\u2019s approval. Used in transfers.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     * @param tokenId Identifier number of a token.\n     */\n    error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n    /**\n     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n     * @param approver Address initiating an approval operation.\n     */\n    error ERC721InvalidApprover(address approver);\n\n    /**\n     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     */\n    error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC1155 tokens.\n */\ninterface IERC1155Errors {\n    /**\n     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     * @param balance Current balance for the interacting account.\n     * @param needed Minimum amount required to perform a transfer.\n     * @param tokenId Identifier number of a token.\n     */\n    error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n    /**\n     * @dev Indicates a failure with the token `sender`. Used in transfers.\n     * @param sender Address whose tokens are being transferred.\n     */\n    error ERC1155InvalidSender(address sender);\n\n    /**\n     * @dev Indicates a failure with the token `receiver`. Used in transfers.\n     * @param receiver Address to which tokens are being transferred.\n     */\n    error ERC1155InvalidReceiver(address receiver);\n\n    /**\n     * @dev Indicates a failure with the `operator`\u2019s approval. Used in transfers.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     * @param owner Address of the current owner of a token.\n     */\n    error ERC1155MissingApprovalForAll(address operator, address owner);\n\n    /**\n     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n     * @param approver Address initiating an approval operation.\n     */\n    error ERC1155InvalidApprover(address approver);\n\n    /**\n     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n     * @param operator Address that may be allowed to operate on tokens without being their owner.\n     */\n    error ERC1155InvalidOperator(address operator);\n\n    /**\n     * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n     * Used in batch transfers.\n     * @param idsLength Length of the array of token identifiers\n     * @param valuesLength Length of the array of token amounts\n     */\n    error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n",
  "/ERC20.sol": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC20Metadata} from \"./extensions/IERC20Metadata.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC20Errors} from \"../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * The default value of {decimals} is 18. To change this, you should override\n * this function so it returns a different value.\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC20\n * applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n */\nabstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {\n    mapping(address account => uint256) private _balances;\n\n    mapping(address account => mapping(address spender => uint256)) private _allowances;\n\n    uint256 private _totalSupply;\n\n    string private _name;\n    string private _symbol;\n\n    /**\n     * @dev Sets the values for {name} and {symbol}.\n     *\n     * All two of these values are immutable: they can only be set once during\n     * construction.\n     */\n    constructor(string memory name_, string memory symbol_) {\n        _name = name_;\n        _symbol = symbol_;\n    }\n\n    /**\n     * @dev Returns the name of the token.\n     */\n    function name() public view virtual returns (string memory) {\n        return _name;\n    }\n\n    /**\n     * @dev Returns the symbol of the token, usually a shorter version of the\n     * name.\n     */\n    function symbol() public view virtual returns (string memory) {\n        return _symbol;\n    }\n\n    /**\n     * @dev Returns the number of decimals used to get its user representation.\n     * For example, if `decimals` equals `2`, a balance of `505` tokens should\n     * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n     *\n     * Tokens usually opt for a value of 18, imitating the relationship between\n     * Ether and Wei. This is the default value returned by this function, unless\n     * it's overridden.\n     *\n     * NOTE: This information is only used for _display_ purposes: it in\n     * no way affects any of the arithmetic of the contract, including\n     * {IERC20-balanceOf} and {IERC20-transfer}.\n     */\n    function decimals() public view virtual returns (uint8) {\n        return 18;\n    }\n\n    /**\n     * @dev See {IERC20-totalSupply}.\n     */\n    function totalSupply() public view virtual returns (uint256) {\n        return _totalSupply;\n    }\n\n    /**\n     * @dev See {IERC20-balanceOf}.\n     */\n    function balanceOf(address account) public view virtual returns (uint256) {\n        return _balances[account];\n    }\n\n    /**\n     * @dev See {IERC20-transfer}.\n     *\n     * Requirements:\n     *\n     * - `to` cannot be the zero address.\n     * - the caller must have a balance of at least `value`.\n     */\n    function transfer(address to, uint256 value) public virtual returns (bool) {\n        address owner = _msgSender();\n        _transfer(owner, to, value);\n        return true;\n    }\n\n    /**\n     * @dev See {IERC20-allowance}.\n     */\n    function allowance(address owner, address spender) public view virtual returns (uint256) {\n        return _allowances[owner][spender];\n    }\n\n    /**\n     * @dev See {IERC20-approve}.\n     *\n     * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n     * `transferFrom`. This is semantically equivalent to an infinite approval.\n     *\n     * Requirements:\n     *\n     * - `spender` cannot be the zero address.\n     */\n    function approve(address spender, uint256 value) public virtual returns (bool) {\n        address owner = _msgSender();\n        _approve(owner, spender, value);\n        return true;\n    }\n\n    /**\n     * @dev See {IERC20-transferFrom}.\n     *\n     * Emits an {Approval} event indicating the updated allowance. This is not\n     * required by the EIP. See the note at the beginning of {ERC20}.\n     *\n     * NOTE: Does not update the allowance if the current allowance\n     * is the maximum `uint256`.\n     *\n     * Requirements:\n     *\n     * - `from` and `to` cannot be the zero address.\n     * - `from` must have a balance of at least `value`.\n     * - the caller must have allowance for ``from``'s tokens of at least\n     * `value`.\n     */\n    function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {\n        address spender = _msgSender();\n        _spendAllowance(from, spender, value);\n        _transfer(from, to, value);\n        return true;\n    }\n\n    /**\n     * @dev Moves a `value` amount of tokens from `from` to `to`.\n     *\n     * This internal function is equivalent to {transfer}, and can be used to\n     * e.g. implement automatic token fees, slashing mechanisms, etc.\n     *\n     * Emits a {Transfer} event.\n     *\n     * NOTE: This function is not virtual, {_update} should be overridden instead.\n     */\n    function _transfer(address from, address to, uint256 value) internal {\n        if (from == address(0)) {\n            revert ERC20InvalidSender(address(0));\n        }\n        if (to == address(0)) {\n            revert ERC20InvalidReceiver(address(0));\n        }\n        _update(from, to, value);\n    }\n\n    /**\n     * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n     * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n     * this function.\n     *\n     * Emits a {Transfer} event.\n     */\n    function _update(address from, address to, uint256 value) internal virtual {\n        if (from == address(0)) {\n            // Overflow check required: The rest of the code assumes that totalSupply never overflows\n            _totalSupply += value;\n        } else {\n            uint256 fromBalance = _balances[from];\n            if (fromBalance < value) {\n                revert ERC20InsufficientBalance(from, fromBalance, value);\n            }\n            unchecked {\n                // Overflow not possible: value <= fromBalance <= totalSupply.\n                _balances[from] = fromBalance - value;\n            }\n        }\n\n        if (to == address(0)) {\n            unchecked {\n                // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.\n                _totalSupply -= value;\n            }\n        } else {\n            unchecked {\n                // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.\n                _balances[to] += value;\n            }\n        }\n\n        emit Transfer(from, to, value);\n    }\n\n    /**\n     * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n     * Relies on the `_update` mechanism\n     *\n     * Emits a {Transfer} event with `from` set to the zero address.\n     *\n     * NOTE: This function is not virtual, {_update} should be overridden instead.\n     */\n    function _mint(address account, uint256 value) internal {\n        if (account == address(0)) {\n            revert ERC20InvalidReceiver(address(0));\n        }\n        _update(address(0), account, value);\n    }\n\n    /**\n     * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n     * Relies on the `_update` mechanism.\n     *\n     * Emits a {Transfer} event with `to` set to the zero address.\n     *\n     * NOTE: This function is not virtual, {_update} should be overridden instead\n     */\n    function _burn(address account, uint256 value) internal {\n        if (account == address(0)) {\n            revert ERC20InvalidSender(address(0));\n        }\n        _update(account, address(0), value);\n    }\n\n    /**\n     * @dev Sets `value` as the allowance of `spender` over the `owner` s tokens.\n     *\n     * This internal function is equivalent to `approve`, and can be used to\n     * e.g. set automatic allowances for certain subsystems, etc.\n     *\n     * Emits an {Approval} event.\n     *\n     * Requirements:\n     *\n     * - `owner` cannot be the zero address.\n     * - `spender` cannot be the zero address.\n     *\n     * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n     */\n    function _approve(address owner, address spender, uint256 value) internal {\n        _approve(owner, spender, value, true);\n    }\n\n    /**\n     * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n     *\n     * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n     * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n     * `Approval` event during `transferFrom` operations.\n     *\n     * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n     * true using the following override:\n     * ```\n     * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n     *     super._approve(owner, spender, value, true);\n     * }\n     * ```\n     *\n     * Requirements are the same as {_approve}.\n     */\n    function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {\n        if (owner == address(0)) {\n            revert ERC20InvalidApprover(address(0));\n        }\n        if (spender == address(0)) {\n            revert ERC20InvalidSpender(address(0));\n        }\n        _allowances[owner][spender] = value;\n        if (emitEvent) {\n            emit Approval(owner, spender, value);\n        }\n    }\n\n    /**\n     * @dev Updates `owner` s allowance for `spender` based on spent `value`.\n     *\n     * Does not update the allowance value in case of infinite allowance.\n     * Revert if not enough allowance is available.\n     *\n     * Does not emit an {Approval} event.\n     */\n    function _spendAllowance(address owner, address spender, uint256 value) internal virtual {\n        uint256 currentAllowance = allowance(owner, spender);\n        if (currentAllowance != type(uint256).max) {\n            if (currentAllowance < value) {\n                revert ERC20InsufficientAllowance(spender, currentAllowance, value);\n            }\n            unchecked {\n                _approve(owner, spender, currentAllowance - value, false);\n            }\n        }\n    }\n}\n",
  "/IERC20.sol": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n    /**\n     * @dev Emitted when `value` tokens are moved from one account (`from`) to\n     * another (`to`).\n     *\n     * Note that `value` may be zero.\n     */\n    event Transfer(address indexed from, address indexed to, uint256 value);\n\n    /**\n     * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n     * a call to {approve}. `value` is the new allowance.\n     */\n    event Approval(address indexed owner, address indexed spender, uint256 value);\n\n    /**\n     * @dev Returns the value of tokens in existence.\n     */\n    function totalSupply() external view returns (uint256);\n\n    /**\n     * @dev Returns the value of tokens owned by `account`.\n     */\n    function balanceOf(address account) external view returns (uint256);\n\n    /**\n     * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transfer(address to, uint256 value) external returns (bool);\n\n    /**\n     * @dev Returns the remaining number of tokens that `spender` will be\n     * allowed to spend on behalf of `owner` through {transferFrom}. This is\n     * zero by default.\n     *\n     * This value changes when {approve} or {transferFrom} are called.\n     */\n    function allowance(address owner, address spender) external view returns (uint256);\n\n    /**\n     * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n     * caller's tokens.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * IMPORTANT: Beware that changing an allowance with this method brings the risk\n     * that someone may use both the old and the new allowance by unfortunate\n     * transaction ordering. One possible solution to mitigate this race\n     * condition is to first reduce the spender's allowance to 0 and set the\n     * desired value afterwards:\n     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n     *\n     * Emits an {Approval} event.\n     */\n    function approve(address spender, uint256 value) external returns (bool);\n\n    /**\n     * @dev Moves a `value` amount of tokens from `from` to `to` using the\n     * allowance mechanism. `value` is then deducted from the caller's\n     * allowance.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n",
  "/_1": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)\n\npragma solidity ^0.8.20;\n\nimport {Context} from \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * The initial owner is set to the address provided by the deployer. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n    address private _owner;\n\n    /**\n     * @dev The caller account is not authorized to perform an operation.\n     */\n    error OwnableUnauthorizedAccount(address account);\n\n    /**\n     * @dev The owner is not a valid owner account. (eg. `address(0)`)\n     */\n    error OwnableInvalidOwner(address owner);\n\n    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n    /**\n     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n     */\n    constructor(address initialOwner) {\n        if (initialOwner == address(0)) {\n            revert OwnableInvalidOwner(address(0));\n        }\n        _transferOwnership(initialOwner);\n    }\n\n    /**\n     * @dev Throws if called by any account other than the owner.\n     */\n    modifier onlyOwner() {\n        _checkOwner();\n        _;\n    }\n\n    /**\n     * @dev Returns the address of the current owner.\n     */\n    function owner() public view virtual returns (address) {\n        return _owner;\n    }\n\n    /**\n     * @dev Throws if the sender is not the owner.\n     */\n    function _checkOwner() internal view virtual {\n        if (owner() != _msgSender()) {\n            revert OwnableUnauthorizedAccount(_msgSender());\n        }\n    }\n\n    /**\n     * @dev Leaves the contract without owner. It will not be possible to call\n     * `onlyOwner` functions. Can only be called by the current owner.\n     *\n     * NOTE: Renouncing ownership will leave the contract without an owner,\n     * thereby disabling any functionality that is only available to the owner.\n     */\n    function renounceOwnership() public virtual onlyOwner {\n        _transferOwnership(address(0));\n    }\n\n    /**\n     * @dev Transfers ownership of the contract to a new account (`newOwner`).\n     * Can only be called by the current owner.\n     */\n    function transferOwnership(address newOwner) public virtual onlyOwner {\n        if (newOwner == address(0)) {\n            revert OwnableInvalidOwner(address(0));\n        }\n        _transferOwnership(newOwner);\n    }\n\n    /**\n     * @dev Transfers ownership of the contract to a new account (`newOwner`).\n     * Internal function without access restriction.\n     */\n    function _transferOwnership(address newOwner) internal virtual {\n        address oldOwner = _owner;\n        _owner = newOwner;\n        emit OwnershipTransferred(oldOwner, newOwner);\n    }\n}\n",
  "/_2": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n    function _msgSender() internal view virtual returns (address) {\n        return msg.sender;\n    }\n\n    function _msgData() internal view virtual returns (bytes calldata) {\n        return msg.data;\n    }\n\n    function _contextSuffixLength() internal view virtual returns (uint256) {\n        return 0;\n    }\n}\n",
  "/_3": "// SPDX-License-Identifier: Sharia\npragma solidity ^0.8.21;\n\naddress constant dead = address(0x000000000000000000000000000000000000dEaD);\naddress constant atropa = address(0x7a20189B297343CF26d8548764b04891f37F3414);\naddress constant trebizond = address(0x903030f7e2d6489F38B0f4F96F9b371ec7960F78);\n\naddress constant dai = address(0x6B175474E89094C44Da98b954EedeAC495271d0F);\naddress constant usdc = address(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48);\naddress constant usdt = address(0xdAC17F958D2ee523a2206206994597C13D831ec7);\n\naddress constant AtropaContract = address(0xCc78A0acDF847A2C1714D2A925bB4477df5d48a6);\naddress constant EasternLightningContract = address(0xCD6159D0a1aaE415E0c1504E90A5d741A28afc98);\naddress constant FinalContract = address(0x50E72874dCd7C198d370ac27c7B3cce9f9a0defd);\naddress constant KaContract = address(0x83a918056aB9316837Dc48a216119D679D561d91);\naddress constant BuckinghamContract = address(0xe5d3A6e88590fc2A8037D9CCbd816C05B1ff5f11);\naddress constant WheelContract = address(0xb9A44De20f26a027e467CB6c2F98766F01904189);\naddress constant LibertyContract = address(0xFE9b99eCC43cb423408b975cc5ff439e5ABaCb61);\naddress constant CherokeeContract = address(0xb4C1248812dAbF72cb2e82175b4c0aCffE4D2b10);\naddress constant DreidelContract = address(0x8A03b032c5494219B212e5a74A49e2aa7F9d206F);\naddress constant MantissaContract = address(0x0EB4EE7d5Ff28cbF68565A174f7E5e186c36B4b3);\naddress constant NeptuneContract = address(0x9A3796Cf41B7CbA6921fd50c3f5204ED6506C3e7);\naddress constant HarContract = address(0x557F7e30aA6D909Cfe8a229A4CB178ab186EC622);         // \u0281 \naddress constant ThetaContract = address(0xCd19062a6d3019b02A676D72e51D8de7A398dE25);       // \u04e8\naddress constant CROWSContract = address(0x203e366A1821570b2f84Ff5ae8B3BdeB48Dc4fa1);\naddress constant MonatsContract = address(0xf8AB3393b1f5CD6184Fb6800A1fC802043C4063e);\naddress constant LegalContract = address(0x0b1307dc5D90a0B60Be18D2634843343eBc098AF);\naddress constant ScissorsContract = address(0x1b8F9E19360D1dc94295D984b7Ca7eA9b810D9ee);\naddress constant ReadingContract = address(0xf69e9f943674027Cedf05564A8D5A01041d07c62);     // \u09aa\u0981\u09a6\u09be\u09c7\u09bc\u09a8\u09c1\u09bf\u0982\naddress constant DiContract = address(0x347BC40503E0CE23fE0F5587F232Cd2D07D4Eb89);          // \u7b2c\u4f5c\naddress constant dOWNContract = address(0x2556F7f8d82EbcdD7b821b0981C38D9dA9439CdD);\naddress constant STAYContract = address(0x7674516ad438dd67A057fBc1119168d9A7d2a9B1);\naddress constant INDEPENDENCEContract = address(0x8B090509eAe0fEB4A0B934de1b4345161fA9a62d);\naddress constant LOLContract = address(0xA63F8061A67ecdbf147Cd1B60f91Cf95464E868D);         // \u078d\naddress constant Bullion5Contract = address(0x77Bed67181CeF592472bcb7F97736c560340E006);\naddress constant Bullion8Contract = address(0x2959221675bdF0e59D0cC3dE834a998FA5fFb9F4);    // \u2467\naddress constant TreasuryBillContract = address(0x463413c579D29c26D59a65312657DFCe30D545A1);\naddress constant TeddyBearContract = address(0xd6c31bA0754C4383A41c0e9DF042C62b5e918f6d);\naddress constant PoppyContract = address(0xdE65090088Df0b2d80A5eC6A7B56ECE36ee83ce8);\naddress constant OjeonContract = address(0xFa4d9C6E012d946853386113ACbF166deC5465Bb);\naddress constant YuContract = address(0x52a4682880E990ebed5309764C7BD29c4aE22deB);          // \uc720\naddress constant YingContract = address(0x271197EFe41073681577CdbBFD6Ee1DA259BAa3c);        // \u7c6f\naddress constant MetisContract = address(0x36d4Ac3DF7Bf8aa3843Ad40C8b3eB67e3d18b4e1);       // \u0e44\u0e21\u0e34\u0e15\u0e34\u0e0b\u0e2a\u0e4c\naddress constant GaiContract = address(0xd6077A029Fb5BEF33b02391D7f0349c345F6DDb1);\naddress constant DiscoContract = address(0xb6936B8e82626405f6E601D54a8292881D86b47D);\naddress constant HOSTContract = address(0x1162104a7b8766784153Dd2D6aC0eCEAecD28117);\naddress constant DampfContract = address(0x08Fe5c72173044314A74705089d014a4416Ed71D);\naddress constant DEIContract = address(0xF77c946C18A77B5DdA5e839dA9818C4D1f087393);\naddress constant TlingitContract = address(0x54D88F0c4a738247DadF160923E1b1C5dc4F510f);\naddress constant AbUrbeConditaContract = address(0x7FB09EE1a2c0E8b6D1c4E19C0248B3CbC0113af6);\naddress constant SIMContract = address(0xBb341FD5C855c206f5538cc649f90d84Df19b65a);\naddress constant BinContract = address(0xf520404CF4fa5B633626333775b05F5dF94E1a9C);\naddress constant PhDContract = address(0x6236073377AC7e0aB694957dA5d7d4241e72EBc6);\naddress constant LilliesContract = address(0xE949a217809d1Fab4018E22d6810500399951dAE);\naddress constant KremlinContract = address(0x7F51FdB20246D7a673036f11C743E99A4AF01de0);\naddress constant TwoContract = address(0xDf6A16689A893095C721542e5d3CE55bBcc23aC6);         // \u3263\naddress constant TseContract = address(0x3d67511733d976800467119264C3d4Cd9FA23041);\naddress constant FrockContract = address(0x8B8b26bB6C5fD4867339ab2f0acf3aE5129BD2F0);\naddress constant QingDaoContract = address(0xE63191967735C52f5de78CE2471759a9963Ce118);\naddress constant TSFiContract = address(0x4243568Fa2bbad327ee36e06c16824cAd8B37819);\naddress constant GreenlandContract = address(0xdE4Ef7Ea464c7771803b9838AeA07cE41089b054);\naddress constant BuddhaghosaContract = address(0x840CBD20A70774BECAc4e932Fff6fb1f5417997F);\naddress constant ZuoContract = address(0x583d1C1427308f7f96BFd3E0d7A3F9674D8BF8ec);\naddress constant HegelBetContract = address(0x51C36aA04ffC2139F6d34436d0EDC7f5ffc6D6Fb);\naddress constant HahnarchContract = address(0x4a458D04909a42F79d31805762B2abc38ab9407d);\naddress constant RabContract = address(0x89E8cD6306AbbAB8e39eeD0D53566d8dC2E02c01);\naddress constant LoanContract = address(0xeE67825eF27588FAeE39cfefb465eB0A242A740c);\naddress constant FreebiesContract = address(0x48F628c079353ECC4DB75F0d05de9299e083f3C2);\n\naddress constant WMContract = address(0xA1BEe1daE9Af77dAC73aA0459eD63b4D93fC6d29);\naddress constant IRCContract = address(0xD64f26Bcf78df919D587b6743fcFf5b155815bd6);\naddress constant NoContract = address(0x1942Ba1EA7c21a070D70C4eFe64B21694283F23e);\naddress constant CallContract = address(0xD4FD96BA83d3E6FF1A0Baa44c32Def94e641D97c);        // \ud800\udf0e\n\naddress constant TeddyBear9Contract = address(0x1f737F7994811fE994Fe72957C374e5cD5D5418A);\n\naddress constant BondContract = address(0x25d53961a27791B9D8b2d74FB3e937c8EAEadc38);\naddress constant BailContract = address(0x8B16115fF716b4c52706122cb4e974f7a72E5Af1);\naddress constant WritingContract = address(0x26D5906c4Cdf8C9F09CBd94049f99deaa874fB0b);\naddress constant SukukContract = address(0x72f96a39AC9408b5458E5597BBC22060552dedF4);\n\n// address constant FAContract = address(0xF2be09EB43c1eD2791d0324BaA0649e62CdA4BBF);\naddress constant hhFaContract = address(0xa28e8aA4d6257157de64a547c90B38C3c540eF72);\naddress constant NoNukesContract = address(0x174A0ad99c60c20D9B3D94c3095BC1fb9ddEFd62);\naddress constant WenTiContract = address(0xA537d6F4c1c8F8C41f1004cc34C00e7Db40179Cc);\naddress constant TwoCentClubContract = address(0x6293373BF0DAE2050641973D49b7b2f71adC91a1);\naddress constant BFFContract = address(0xE35A842eb1EDca4C710B6c1B1565cE7df13f5996);\naddress constant SECURITYContract = address(0x2234da59c2D5EDB197594C95dbbA7a99Bcd91230);\n//\naddress constant TRSIContract = address(0x51A7aaBcCa69B3c0F82b3b9ce5104FDe3efAecE6);\naddress constant BELContract = address(0x4C1518286E1b8D5669Fe965EF174B8B4Ae2f017B);\naddress constant KLANContract = address(0xC196247AA267Db0DF216d5385bCD23e5cf25EA6A);\naddress constant SMGContract = address(0xa8e8412d9B4341239269cBA38ad949fE4870be34);\naddress constant iCEContract = address(0x2fA079d2dAA29Ec8925484F9E9021e9191fE4aE4);\naddress constant PWAContract = address(0x5d4cb28eA61125a1fD3c927162C6F1969DD26788);\naddress constant LITContract = address(0xf5E3Cc8d22B10d967bE49FE103e496F449C8604E);\naddress constant RZRContract = address(0x50e40e8555AaB6b9c6CFF691E14070b6F38142Cb);\naddress constant FLTContract = address(0x86F0985Cd6Ab3196ea8DceBa87B92a2e22124633);\naddress constant GokuldhamContract = address(0x920401FDce49Fc70A2D4cD70DB0dD90212a97f98);\naddress constant KPOPContract = address(0x982B52a54916B899c60031772cc85b041613510E);\naddress constant CiAContract = address(0x2e5898b2e107a3cAf4f0597aCFE5D2e6d73F2196);\naddress constant ACiDContract = address(0xf8b6e89b851e03c724aad1F5170230A60490b819);\naddress constant MaltaContract = address(0xee62EE9A354E55dF7C39209B4304161369333fF7);\naddress constant ZzkContract = address(0xe2e1a5d691cCB9E88b84e23A1166B4e6Bd6904Dc);\naddress constant ACABContract = address(0x241DA2613b0A01C2f60acB636b21A8E082E2f2F0);\n\n//\naddress constant BillBurrContract = address(0xF7ebb9bc80fb6395373c6BbDF690fcFfb217a691);\n\n//\naddress constant BonusContract = address(0xB8FaCE58CB05C55BBBA9c564A550cc2402A40b5b);\n\n///\naddress constant LEPROSYContract = address(0x7759A6D283192ef2BA082923d28Bec6eBfAf9D68);\n\n// royalty tokens\n/*\n0xC6F085DE4f388a48ce2942857455147A37870086\n0x80C105217885707BA0003ffAe7Ab01466E5E8488\n0xF2563864C22022deb03ce929c26C54033a69E9d5\n0xA78feD26D175b4B2c83F69Ca3eA195123ca30381\n0xdF606c14351fd52bF502d5F60D105320CF5D99D5\n0xa9353a16cA53a2009fEBF62029F8555216588Fea\n0x7ec9043c321A8759Ee5F917Da943979EC70Cf8e3\n*/\n\n//\naddress constant PIContract = address(0xA2262D7728C689526693aE893D0fD8a352C7073C);\naddress constant G5Contract = address(0x2fc636E7fDF9f3E8d61033103052079781a6e7D2);\n\n//\naddress constant libAtropaMathContract = address(0xB680F0cc810317933F234f67EB6A9E923407f05D);\naddress constant libConjectureContract = address(0x36946E462e80F85fc573129D9485D0B01E1f5af4);\naddress constant libDynamicContract = address(0x2c1fb497Cd0858CF68c96af6e2a801D121D97E27);",
  "/_4": "// SPDX-License-Identifier: Sharia\npragma solidity ^0.8.21;\nimport \"addresses.sol\";\nimport \"fa.sol\";\n\nlibConjecture constant libConjectureToken = libConjecture(libConjectureContract);\n\nstruct Faung {\n    Fa Rod;\n    Fa Cone;\n\n    uint64 Phi;\n    uint64 Eta;\n    uint64 Mu;\n    uint64 Xi;\n    uint64 Sigma;\n    uint64 Rho;\n    uint64 Upsilon;\n    uint64 Ohm;\n    uint64 Pi;\n    uint64 Omicron;\n    uint64 Omega;\n\n    uint8 Chi;\n}\n\ninterface libConjecture {\n    function BuyWithG5(uint256 amount) external; \n    function BuyWithPI(uint256 amount) external; \n    function BuyWithMATH(uint256 amount) external; \n    function New() external returns(Fa memory);\n    function Initialize(Fa memory ee) external pure;\n    function Seed(Fa memory ee) external; \n    function Tune(Fa memory ee) external; \n    function Fuse(Fa memory ee, uint64 _rho, uint64 Upsilon, uint64 Ohm) external pure;\n    function Avail(Fa memory ee, uint64 Xi) external; \n    function Form(Fa memory ee, uint64 Chi) external; \n    function Polarize(Fa memory ee) external; \n    function Conjugate(Fa memory ee, uint64 Chi) external; \n    function Conify(Fa memory ee, uint64 _Beta) external; \n    function Saturate(Fa memory ee, uint64 _Beta, uint64 Epsilon, uint64 Theta) external returns(uint64 r);\n    function Bond(Fa memory ee) external; \n    function Adduct(Fa memory ee, uint64 _Phi) external; \n    function Open(Fa memory ee) external; \n    function ManifoldCompare(Fa memory ee, Fa memory R) external pure returns(bool);\n    function Charge(Fa memory ee, uint64 Psi) external; \n    function Induce(Fa memory ee, uint64 Sigma) external; \n    function Torque(Fa memory ee, uint64 Sigma) external;\n    function Amplify(Fa memory ee, uint64 Upsilon) external;\n    function Sustain(Fa memory ee, uint64 Ohm) external;\n    function React(Fa memory ee, uint64 Pi, uint64 Theta) external;\n}\n",
  "/_5": "// SPDX-License-Identifier: Sharia\npragma solidity ^0.8.21;\n\nstruct Fa {\n        uint64 Base;\n        uint64 Secret;\n        uint64 Signal;\n        uint64 Channel;\n        uint64 Pole;\n        uint64 Identity;\n        uint64 Foundation;\n        uint64 Element;\n        uint64 Dynamo;\n        uint64 Manifold;\n        uint64 Ring;\n        uint64 Barn;\n        uint64 Coordinate;\n\n        uint64 Tau;\n        uint64 Eta;\n        uint64 Kappa;\n//        uint64 Rho;\n//        uint64 Beta;\n//        uint64 Phi;\n        uint64 Alpha;\n\n        uint8 Nu;        \n}\n",
  "/extensions/ERC20Burnable.sol": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Burnable.sol)\n\npragma solidity ^0.8.20;\n\nimport {ERC20} from \"../ERC20.sol\";\nimport {Context} from \"../../../utils/Context.sol\";\n\n/**\n * @dev Extension of {ERC20} that allows token holders to destroy both their own\n * tokens and those that they have an allowance for, in a way that can be\n * recognized off-chain (via event analysis).\n */\nabstract contract ERC20Burnable is Context, ERC20 {\n    /**\n     * @dev Destroys a `value` amount of tokens from the caller.\n     *\n     * See {ERC20-_burn}.\n     */\n    function burn(uint256 value) public virtual {\n        _burn(_msgSender(), value);\n    }\n\n    /**\n     * @dev Destroys a `value` amount of tokens from `account`, deducting from\n     * the caller's allowance.\n     *\n     * See {ERC20-_burn} and {ERC20-allowance}.\n     *\n     * Requirements:\n     *\n     * - the caller must have allowance for ``accounts``'s tokens of at least\n     * `value`.\n     */\n    function burnFrom(address account, uint256 value) public virtual {\n        _spendAllowance(account, _msgSender(), value);\n        _burn(account, value);\n    }\n}\n",
  "/extensions/IERC20Metadata.sol": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n */\ninterface IERC20Metadata is IERC20 {\n    /**\n     * @dev Returns the name of the token.\n     */\n    function name() external view returns (string memory);\n\n    /**\n     * @dev Returns the symbol of the token.\n     */\n    function symbol() external view returns (string memory);\n\n    /**\n     * @dev Returns the decimals places of the token.\n     */\n    function decimals() external view returns (uint8);\n}\n",
  "dynamic.sol": "// SPDX-License-Identifier: Sharia\npragma solidity ^0.8.21;\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"addresses.sol\";\nimport \"faung.sol\";\n\ncontract Dynamic is ERC20, ERC20Burnable, Ownable {\n    ERC20 private G5Token;\n    ERC20 private PIToken;\n\n    constructor() ERC20(/*name short=*/ unicode\"libDynamic v1.0\", /*symbol long=*/ unicode\"Faung\") Ownable(msg.sender) {\n        G5Token = ERC20(G5Contract);\n        PIToken = ERC20(PIContract);\n        _mint(address(this), 1 * 10 ** decimals());\n    }\n\n    function _mintToCap() private {\n        if(totalSupply() <= (1111111111 * 10 ** decimals()))\n            _mint(address(this), 1 * 10 ** decimals());\n    }\n\n    function BuyWithG5(uint256 amount) public {\n        bool success1 = G5Token.transferFrom(msg.sender, address(this), amount);\n        require(success1, unicode\"Need Approved Gimme5\");\n        ERC20(address(this)).transfer(msg.sender, amount);\n    }\n\n    function BuyWithPI(uint256 amount) public {\n        bool success1 = PIToken.transferFrom(msg.sender, address(this), (amount / 313));\n        require(success1, unicode\"Need Approved pINDEPENDENCE\");\n        ERC20(address(this)).transfer(msg.sender, amount);\n    }\n\n    function BuyWithMATH(uint256 amount) public {\n        bool success1 = ERC20(libAtropaMathContract).transferFrom(msg.sender, address(this), amount);\n        require(success1, unicode\"Need Approved MATH\");\n        ERC20(address(this)).transfer(msg.sender, amount);\n    }\n\n    function BuyWithFa(uint256 amount) public {\n        bool success1 = ERC20(libConjectureContract).transferFrom(msg.sender, address(this), amount * 2);\n        require(success1, unicode\"Need Approved Fa\");\n        ERC20(address(this)).transfer(msg.sender, amount);\n    }\n\n    function New(Fa memory Rod, Fa memory Cone, uint64 Xi, uint64 Alpha, uint64 Beta) public returns(Faung memory) {\n        Faung memory I;\n        I.Rod = Rod;\n        I.Cone = Cone;\n        OpenManifolds(I, Xi, Alpha, Beta);\n        I.Xi = Xi;\n        I.Chi = 0;\n        return I;\n    }\n\n    function OpenManifolds(Faung memory I, uint64 Xi, uint64 Alpha, uint64 Beta) public {\n        ConductorGenerate(I.Rod, I.Cone, Xi);\n\n        libConjectureToken.Conjugate(I.Rod, I.Cone.Pole);\n        libConjectureToken.Conjugate(I.Cone, I.Rod.Pole);\n\n        assert(I.Rod.Coordinate == I.Cone.Coordinate);\n        libConjectureToken.Conify(I.Cone, Alpha);\n\n        I.Eta = libConjectureToken.Saturate(I.Rod, Alpha, I.Cone.Foundation, I.Cone.Channel);\n        I.Mu = libConjectureToken.Saturate(I.Cone, Beta, I.Rod.Foundation, I.Rod.Channel);\n\n        assert(I.Rod.Element == I.Cone.Element);\n        Ratchet(I.Rod, I.Cone);\n\n        libConjectureToken.Adduct(I.Rod, I.Cone.Dynamo);\n        libConjectureToken.Adduct(I.Cone, I.Rod.Dynamo);\n\n        libConjectureToken.Open(I.Rod);\n        libConjectureToken.Open(I.Cone);\n\n        assert(libConjectureToken.ManifoldCompare(I.Rod, I.Cone));\n        _mintToCap();\n    }\n\n    function ConductorGenerate(Fa memory Rod, Fa memory Cone, uint64 Xi) public {\n        libConjectureToken.Avail(Rod, Xi);\n        libConjectureToken.Avail(Cone, Xi);\n        Cone.Tau = Cone.Alpha;\n\n        libConjectureToken.Form(Rod, Cone.Tau);\n        libConjectureToken.Form(Cone, Rod.Alpha);\n\n        libConjectureToken.Polarize(Rod);\n        libConjectureToken.Polarize(Cone);\n    }\n\n    function Ratchet(Fa memory Rod, Fa memory Cone) public {\n        libConjectureToken.Bond(Rod);\n        libConjectureToken.Bond(Cone);\n    }\n\n    function Charge(Faung memory I, uint64 Signal) public {\n        assert(Signal != 0);\n        libConjectureToken.Charge(I.Cone, Signal);\n        I.Sigma = I.Cone.Alpha;\n    }\n\n    function Induce(Faung memory I) public {\n        libConjectureToken.Induce(I.Rod, I.Sigma);\n        I.Rho = I.Rod.Alpha;\n    }\n\n    function Torque(Faung memory I) public {\n        libConjectureToken.Torque(I.Cone, I.Rho);\n        I.Upsilon = I.Cone.Alpha;\n    }\n\n    function Amplify(Faung memory I) public {\n        libConjectureToken.Amplify(I.Cone, I.Upsilon);\n        I.Ohm = I.Cone.Alpha;\n    }\n\n    function Sustain(Faung memory I) public {\n        libConjectureToken.Sustain(I.Cone, I.Ohm);\n        I.Pi = I.Cone.Alpha;\n    }\n\n    function React(Faung memory I) public {\n        libConjectureToken.React(I.Rod, I.Pi, I.Cone.Channel);\n        libConjectureToken.React(I.Cone, I.Pi, I.Rod.Channel);\n        I.Omicron = I.Cone.Kappa;\n        I.Omega = I.Rod.Kappa;\n        _mintToCap();\n    }\n\n}"
 },
 "source_sha256": {
  "/": "4aea87243e6de38804bf8737bf86f750443d3b5e63dd0fd0b7ad92f77cdbd3e3",
  "/ERC20.sol": "2d874da1c1478ed22a2d30dcf1a6ec0d09a13f897ca680d55fb49fbcc0e0c5b1",
  "/IERC20.sol": "6f2faae462e286e24e091d7718575179644dc60e79936ef0c92e2d1ab3ca3cee",
  "/_1": "38578bd71c0a909840e67202db527cc6b4e6b437e0f39f0c909da32c1e30cb81",
  "/_2": "847fda5460fee70f56f4200f59b82ae622bb03c79c77e67af010e31b7e2cc5b6",
  "/_3": "653c2623232035447edf6e6051e2971d4ecb889e5cfd754077a009b904768276",
  "/_4": "76338fdd61dbe1b5b0dbc7e005c028d18cf20dc0b58ac77aea43c95faa208e85",
  "/_5": "cdf7690418d9e28c66c669377e513c226d1dd94b7f01965f975f6c4a69290c8f",
  "/extensions/ERC20Burnable.sol": "2e6108a11184dd0caab3f3ef31bd15fed1bc7e4c781a55bc867ccedd8474565c",
  "/extensions/IERC20Metadata.sol": "1d079c20a192a135308e99fa5515c27acfbb071e6cdb0913b13634e630865939",
  "dynamic.sol": "f98db79addf43a3d72874d4c81d7f0679700f70fd30646f5faa90b4d5f06185d"
 },
 "abi": [
  {
   "inputs": [],
   "stateMutability": "nonpayable",
   "type": "constructor"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "spender",
     "type": "address"
    },
    {
     "internalType": "uint256",
     "name": "allowance",
     "type": "uint256"
    },
    {
     "internalType": "uint256",
     "name": "needed",
     "type": "uint256"
    }
   ],
   "name": "ERC20InsufficientAllowance",
   "type": "error"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "sender",
     "type": "address"
    },
    {
     "internalType": "uint256",
     "name": "balance",
     "type": "uint256"
    },
    {
     "internalType": "uint256",
     "name": "needed",
     "type": "uint256"
    }
   ],
   "name": "ERC20InsufficientBalance",
   "type": "error"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "approver",
     "type": "address"
    }
   ],
   "name": "ERC20InvalidApprover",
   "type": "error"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "receiver",
     "type": "address"
    }
   ],
   "name": "ERC20InvalidReceiver",
   "type": "error"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "sender",
     "type": "address"
    }
   ],
   "name": "ERC20InvalidSender",
   "type": "error"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "spender",
     "type": "address"
    }
   ],
   "name": "ERC20InvalidSpender",
   "type": "error"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "owner",
     "type": "address"
    }
   ],
   "name": "OwnableInvalidOwner",
   "type": "error"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "account",
     "type": "address"
    }
   ],
   "name": "OwnableUnauthorizedAccount",
   "type": "error"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": true,
     "internalType": "address",
     "name": "owner",
     "type": "address"
    },
    {
     "indexed": true,
     "internalType": "address",
     "name": "spender",
     "type": "address"
    },
    {
     "indexed": false,
     "internalType": "uint256",
     "name": "value",
     "type": "uint256"
    }
   ],
   "name": "Approval",
   "type": "event"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": true,
     "internalType": "address",
     "name": "previousOwner",
     "type": "address"
    },
    {
     "indexed": true,
     "internalType": "address",
     "name": "newOwner",
     "type": "address"
    }
   ],
   "name": "OwnershipTransferred",
   "type": "event"
  },
  {
   "anonymous": false,
   "inputs": [
    {
     "indexed": true,
     "internalType": "address",
     "name": "from",
     "type": "address"
    },
    {
     "indexed": true,
     "internalType": "address",
     "name": "to",
     "type": "address"
    },
    {
     "indexed": false,
     "internalType": "uint256",
     "name": "value",
     "type": "uint256"
    }
   ],
   "name": "Transfer",
   "type": "event"
  },
  {
   "inputs": [
    {
     "components": [
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Rod",
       "type": "tuple"
      },
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Cone",
       "type": "tuple"
      },
      {
       "internalType": "uint64",
       "name": "Phi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Mu",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Xi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Sigma",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Rho",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Upsilon",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ohm",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omicron",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omega",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Chi",
       "type": "uint8"
      }
     ],
     "internalType": "struct Faung",
     "name": "I",
     "type": "tuple"
    }
   ],
   "name": "Amplify",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "uint256",
     "name": "amount",
     "type": "uint256"
    }
   ],
   "name": "BuyWithFa",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "uint256",
     "name": "amount",
     "type": "uint256"
    }
   ],
   "name": "BuyWithG5",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "uint256",
     "name": "amount",
     "type": "uint256"
    }
   ],
   "name": "BuyWithMATH",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "uint256",
     "name": "amount",
     "type": "uint256"
    }
   ],
   "name": "BuyWithPI",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "components": [
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Rod",
       "type": "tuple"
      },
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Cone",
       "type": "tuple"
      },
      {
       "internalType": "uint64",
       "name": "Phi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Mu",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Xi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Sigma",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Rho",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Upsilon",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ohm",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omicron",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omega",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Chi",
       "type": "uint8"
      }
     ],
     "internalType": "struct Faung",
     "name": "I",
     "type": "tuple"
    },
    {
     "internalType": "uint64",
     "name": "Signal",
     "type": "uint64"
    }
   ],
   "name": "Charge",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "components": [
      {
       "internalType": "uint64",
       "name": "Base",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Secret",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Signal",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Channel",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pole",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Identity",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Foundation",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Element",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Dynamo",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Manifold",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ring",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Barn",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Coordinate",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Tau",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Kappa",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Alpha",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Nu",
       "type": "uint8"
      }
     ],
     "internalType": "struct Fa",
     "name": "Rod",
     "type": "tuple"
    },
    {
     "components": [
      {
       "internalType": "uint64",
       "name": "Base",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Secret",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Signal",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Channel",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pole",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Identity",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Foundation",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Element",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Dynamo",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Manifold",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ring",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Barn",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Coordinate",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Tau",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Kappa",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Alpha",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Nu",
       "type": "uint8"
      }
     ],
     "internalType": "struct Fa",
     "name": "Cone",
     "type": "tuple"
    },
    {
     "internalType": "uint64",
     "name": "Xi",
     "type": "uint64"
    }
   ],
   "name": "ConductorGenerate",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "components": [
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Rod",
       "type": "tuple"
      },
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Cone",
       "type": "tuple"
      },
      {
       "internalType": "uint64",
       "name": "Phi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Mu",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Xi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Sigma",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Rho",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Upsilon",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ohm",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omicron",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omega",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Chi",
       "type": "uint8"
      }
     ],
     "internalType": "struct Faung",
     "name": "I",
     "type": "tuple"
    }
   ],
   "name": "Induce",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "components": [
      {
       "internalType": "uint64",
       "name": "Base",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Secret",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Signal",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Channel",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pole",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Identity",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Foundation",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Element",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Dynamo",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Manifold",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ring",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Barn",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Coordinate",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Tau",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Kappa",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Alpha",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Nu",
       "type": "uint8"
      }
     ],
     "internalType": "struct Fa",
     "name": "Rod",
     "type": "tuple"
    },
    {
     "components": [
      {
       "internalType": "uint64",
       "name": "Base",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Secret",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Signal",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Channel",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pole",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Identity",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Foundation",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Element",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Dynamo",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Manifold",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ring",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Barn",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Coordinate",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Tau",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Kappa",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Alpha",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Nu",
       "type": "uint8"
      }
     ],
     "internalType": "struct Fa",
     "name": "Cone",
     "type": "tuple"
    },
    {
     "internalType": "uint64",
     "name": "Xi",
     "type": "uint64"
    },
    {
     "internalType": "uint64",
     "name": "Alpha",
     "type": "uint64"
    },
    {
     "internalType": "uint64",
     "name": "Beta",
     "type": "uint64"
    }
   ],
   "name": "New",
   "outputs": [
    {
     "components": [
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Rod",
       "type": "tuple"
      },
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Cone",
       "type": "tuple"
      },
      {
       "internalType": "uint64",
       "name": "Phi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Mu",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Xi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Sigma",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Rho",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Upsilon",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ohm",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omicron",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omega",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Chi",
       "type": "uint8"
      }
     ],
     "internalType": "struct Faung",
     "name": "",
     "type": "tuple"
    }
   ],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "components": [
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Rod",
       "type": "tuple"
      },
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Cone",
       "type": "tuple"
      },
      {
       "internalType": "uint64",
       "name": "Phi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Mu",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Xi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Sigma",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Rho",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Upsilon",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ohm",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omicron",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omega",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Chi",
       "type": "uint8"
      }
     ],
     "internalType": "struct Faung",
     "name": "I",
     "type": "tuple"
    },
    {
     "internalType": "uint64",
     "name": "Xi",
     "type": "uint64"
    },
    {
     "internalType": "uint64",
     "name": "Alpha",
     "type": "uint64"
    },
    {
     "internalType": "uint64",
     "name": "Beta",
     "type": "uint64"
    }
   ],
   "name": "OpenManifolds",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "components": [
      {
       "internalType": "uint64",
       "name": "Base",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Secret",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Signal",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Channel",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pole",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Identity",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Foundation",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Element",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Dynamo",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Manifold",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ring",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Barn",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Coordinate",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Tau",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Kappa",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Alpha",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Nu",
       "type": "uint8"
      }
     ],
     "internalType": "struct Fa",
     "name": "Rod",
     "type": "tuple"
    },
    {
     "components": [
      {
       "internalType": "uint64",
       "name": "Base",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Secret",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Signal",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Channel",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pole",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Identity",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Foundation",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Element",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Dynamo",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Manifold",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ring",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Barn",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Coordinate",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Tau",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Kappa",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Alpha",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Nu",
       "type": "uint8"
      }
     ],
     "internalType": "struct Fa",
     "name": "Cone",
     "type": "tuple"
    }
   ],
   "name": "Ratchet",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "components": [
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Rod",
       "type": "tuple"
      },
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Cone",
       "type": "tuple"
      },
      {
       "internalType": "uint64",
       "name": "Phi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Mu",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Xi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Sigma",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Rho",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Upsilon",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ohm",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omicron",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omega",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Chi",
       "type": "uint8"
      }
     ],
     "internalType": "struct Faung",
     "name": "I",
     "type": "tuple"
    }
   ],
   "name": "React",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "components": [
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Rod",
       "type": "tuple"
      },
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Cone",
       "type": "tuple"
      },
      {
       "internalType": "uint64",
       "name": "Phi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Mu",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Xi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Sigma",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Rho",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Upsilon",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ohm",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omicron",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omega",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Chi",
       "type": "uint8"
      }
     ],
     "internalType": "struct Faung",
     "name": "I",
     "type": "tuple"
    }
   ],
   "name": "Sustain",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "components": [
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Rod",
       "type": "tuple"
      },
      {
       "components": [
        {
         "internalType": "uint64",
         "name": "Base",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Secret",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Signal",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Channel",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Pole",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Identity",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Foundation",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Element",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Dynamo",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Manifold",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Ring",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Barn",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Coordinate",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Tau",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Eta",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Kappa",
         "type": "uint64"
        },
        {
         "internalType": "uint64",
         "name": "Alpha",
         "type": "uint64"
        },
        {
         "internalType": "uint8",
         "name": "Nu",
         "type": "uint8"
        }
       ],
       "internalType": "struct Fa",
       "name": "Cone",
       "type": "tuple"
      },
      {
       "internalType": "uint64",
       "name": "Phi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Eta",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Mu",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Xi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Sigma",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Rho",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Upsilon",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Ohm",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Pi",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omicron",
       "type": "uint64"
      },
      {
       "internalType": "uint64",
       "name": "Omega",
       "type": "uint64"
      },
      {
       "internalType": "uint8",
       "name": "Chi",
       "type": "uint8"
      }
     ],
     "internalType": "struct Faung",
     "name": "I",
     "type": "tuple"
    }
   ],
   "name": "Torque",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "owner",
     "type": "address"
    },
    {
     "internalType": "address",
     "name": "spender",
     "type": "address"
    }
   ],
   "name": "allowance",
   "outputs": [
    {
     "internalType": "uint256",
     "name": "",
     "type": "uint256"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "spender",
     "type": "address"
    },
    {
     "internalType": "uint256",
     "name": "value",
     "type": "uint256"
    }
   ],
   "name": "approve",
   "outputs": [
    {
     "internalType": "bool",
     "name": "",
     "type": "bool"
    }
   ],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "account",
     "type": "address"
    }
   ],
   "name": "balanceOf",
   "outputs": [
    {
     "internalType": "uint256",
     "name": "",
     "type": "uint256"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "uint256",
     "name": "value",
     "type": "uint256"
    }
   ],
   "name": "burn",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "account",
     "type": "address"
    },
    {
     "internalType": "uint256",
     "name": "value",
     "type": "uint256"
    }
   ],
   "name": "burnFrom",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [],
   "name": "decimals",
   "outputs": [
    {
     "internalType": "uint8",
     "name": "",
     "type": "uint8"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [],
   "name": "name",
   "outputs": [
    {
     "internalType": "string",
     "name": "",
     "type": "string"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [],
   "name": "owner",
   "outputs": [
    {
     "internalType": "address",
     "name": "",
     "type": "address"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [],
   "name": "renounceOwnership",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [],
   "name": "symbol",
   "outputs": [
    {
     "internalType": "string",
     "name": "",
     "type": "string"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [],
   "name": "totalSupply",
   "outputs": [
    {
     "internalType": "uint256",
     "name": "",
     "type": "uint256"
    }
   ],
   "stateMutability": "view",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "to",
     "type": "address"
    },
    {
     "internalType": "uint256",
     "name": "value",
     "type": "uint256"
    }
   ],
   "name": "transfer",
   "outputs": [
    {
     "internalType": "bool",
     "name": "",
     "type": "bool"
    }
   ],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "from",
     "type": "address"
    },
    {
     "internalType": "address",
     "name": "to",
     "type": "address"
    },
    {
     "internalType": "uint256",
     "name": "value",
     "type": "uint256"
    }
   ],
   "name": "transferFrom",
   "outputs": [
    {
     "internalType": "bool",
     "name": "",
     "type": "bool"
    }
   ],
   "stateMutability": "nonpayable",
   "type": "function"
  },
  {
   "inputs": [
    {
     "internalType": "address",
     "name": "newOwner",
     "type": "address"
    }
   ],
   "name": "transferOwnership",
   "outputs": [],
   "stateMutability": "nonpayable",
   "type": "function"
  }
 ],
 "provenance": "[ext-api] blockscout-verified source + ABI (api/v2 smart-contracts) as published by the deployer community; captured by the registry sweep"
}