95 lines
23 KiB
HTML
95 lines
23 KiB
HTML
<!DOCTYPE html>
|
|
<html class="paged">
|
|
<head>
|
|
<title>FixedNumber</title>
|
|
<link rel="stylesheet" type="text/css" href="/v5/static/style.css">
|
|
</head>
|
|
<body>
|
|
<div class="sidebar">
|
|
<div class="header">
|
|
<div class="logo"><a href="/v5/"><div class="image"></div><div class="name">ethers</div><div class="version">v5.0-beta</div></a></div>
|
|
</div>
|
|
<div class="toc"><div>
|
|
<div class="link title"><a href="/">Documentation</a></div><div class="base show link depth-1"><a href="/v5/getting-started/">Getting Started</a></div><div class="base show link depth-1"><a href="/v5/concepts/">Ethereum Basics</a></div><div class="hide link depth-2"><a href="/v5/concepts/events/">Events</a></div><div class="hide link depth-2"><a href="/v5/concepts/gas/">Gas</a></div><div class="hide link depth-2"><a href="/v5/concepts/security/">Security</a></div><div class="base ancestor show link depth-1"><a href="/v5/api/">Application Programming Interface</a></div><div class="show link depth-2"><a href="/v5/api/contract/">Contract Interaction</a></div><div class="hide link depth-3"><a href="/v5/api/contract/contract/">Contract</a></div><div class="hide link depth-3"><a href="/v5/api/contract/contract-factory/">ContractFactory</a></div><div class="hide link depth-3"><a href="/v5/api/contract/example/">Example: ERC-20 Contract</a></div><div class="show link depth-2"><a href="/v5/api/signer/">Signers</a></div><div class="show link depth-2"><a href="/v5/api/providers/">Providers</a></div><div class="hide link depth-3"><a href="/v5/api/providers/provider/">Provider</a></div><div class="hide link depth-3"><a href="/v5/api/providers/jsonrpc-provider/">JsonRpcProvider</a></div><div class="hide link depth-3"><a href="/v5/api/providers/api-providers/">API Providers</a></div><div class="hide link depth-3"><a href="/v5/api/providers/other/">Other Providers</a></div><div class="hide link depth-3"><a href="/v5/api/providers/types/">Types</a></div><div class="ancestor show link depth-2"><a href="/v5/api/utils/">Utilities</a></div><div class="show link depth-3"><a href="/v5/api/utils/abi/">Application Binary Interface</a></div><div class="hide link depth-4"><a href="/v5/api/utils/abi/interface/">Interface</a></div><div class="hide link depth-4"><a href="/v5/api/utils/abi/fragments/">Fragments</a></div><div class="show link depth-3"><a href="/v5/api/utils/address/">Addresses</a></div><div class="show link depth-3"><a href="/v5/api/utils/bignumber/">BigNumber</a></div><div class="show link depth-3"><a href="/v5/api/utils/bytes/">Byte Manipulation</a></div><div class="show link depth-3"><a href="/v5/api/utils/constants/">Constants</a></div><div class="show link depth-3"><a href="/v5/api/utils/display-logic/">Display Logic and Input</a></div><div class="show link depth-3"><a href="/v5/api/utils/encoding/">Encoding Utilities</a></div><div class="myself ancestor ancestor show link depth-3"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></div><div class="show link depth-3"><a href="/v5/api/utils/hashing/">Hashing Algorithms</a></div><div class="show link depth-3"><a href="/v5/api/utils/hdnode/">HD Wallet</a></div><div class="show link depth-3"><a href="/v5/api/utils/logger/">Logging</a></div><div class="show link depth-3"><a href="/v5/api/utils/properties/">Property Utilities</a></div><div class="show link depth-3"><a href="/v5/api/utils/signing-key/">Signing Key</a></div><div class="show link depth-3"><a href="/v5/api/utils/strings/">Strings</a></div><div class="show link depth-3"><a href="/v5/api/utils/transactions/">Transactions</a></div><div class="show link depth-3"><a href="/v5/api/utils/web/">Web Utilities</a></div><div class="show link depth-3"><a href="/v5/api/utils/wordlists/">Wordlists</a></div><div class="show link depth-2"><a href="/v5/api/other/">Other Libraries</a></div><div class="hide link depth-3"><a href="/v5/api/other/assembly/">Assembly</a></div><div class="hide link depth-4"><a href="/v5/api/other/assembly/dialect/">Ethers ASM Dialect</a></div><div class="hide link depth-4"><a href="/v5/api/other/assembly/api/">Utilities</a></div><div class="hide link depth-4"><a href="/v5/api/other/assembly/ast/">Abstract Syntax Tree</a></div><div class="hide link depth-3"><a href="/v5/api/other/hardware/">Hardware Wallets</a></div><div class="show link depth-2"><a href="/v5/api/experimental/">Experimental</a></div><div class="base show link depth-1"><a href="/v5/cli/">Command Line Interfaces</a></div><div class="hide link depth-2"><a href="/v5/cli/ethers/">Sandbox Utility</a></div><div class="hide link depth-2"><a href="/v5/cli/asm/">Assembler</a></div><div class="hide link depth-2"><a href="/v5/cli/ens/">Ethereum Naming Service</a></div><div class="hide link depth-2"><a href="/v5/cli/typescript/">TypeScript</a></div><div class="hide link depth-2"><a href="/v5/cli/plugin/">Making Your Own</a></div><div class="base show link depth-1"><a href="/v5/cookbook/">Cookbook</a></div><div class="base show link depth-1"><a href="/v5/migration/">Migration Guide</a></div><div class="hide link depth-2"><a href="/v5/migration/web3/">Migration: From Web3.js</a></div><div class="hide link depth-2"><a href="/v5/migration/ethers-v4/">Migration: From Ethers v4</a></div><div class="base show link depth-1"><a href="/v5/testing/">Testing</a></div><div class="base show link depth-1"><a href="/v5/contributing/">Contributing and Hacking</a></div><div class="base show link depth-1"><a href="/v5/documentation/">Flatworm Docs</a></div><div class="base show link depth-1"><a href="/v5/license/">License and Copyright</a></div>
|
|
</div></div>
|
|
</div>
|
|
<div class="content">
|
|
<div class="breadcrumbs"><a href="/v5/">Documentation</a> » <a href="/v5/api/">API</a> » <a href="/v5/api/utils/">Utilities</a> » <span class="current">FixedNumber</span></div>
|
|
|
|
<a name="FixedNumber"></a><a name="FixedNumber"></a><h1 class="show-anchors"><div>FixedNumber<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedNumber"></a></div></div></h1><p>A <b>FixedNumber</b> is a fixed-width (in bits) number with an internal base-10 divisor, which allows it to represent a decimal fractional component.</p>
|
|
|
|
<a name="FixedNumber--creating-instances"></a><h2 class="show-anchors"><div>Creating Instances<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedNumber--creating-instances"></a></div></div></h2><p>The FixedNumber constructor cannot be called directly. There are several static methods for creating a FixedNumber.</p>
|
|
|
|
<div class="property show-anchors"><div class="signature"><span class="path">FixedNumber</span><span class="symbol">.</span><span class="method">from</span><span class="symbol">(</span> <span class="param">value</span> <span class="symbol">[</span> <span class="symbol">,</span> <span class="param">format</span> = "<span class="param">fixed</span>" <span class="symbol">]</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L323">source</a></div></div><div class="body"><p>Returns an instance of a <b>FixedNumber</b> for <i>value</i> as a <i>format</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">FixedNumber</span><span class="symbol">.</span><span class="method">fromBytes</span><span class="symbol">(</span> <span class="param">aBytesLike</span> <span class="symbol">[</span> <span class="symbol">,</span> <span class="param">format</span> = "<span class="param">fixed</span>" <span class="symbol">]</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L305">source</a></div></div><div class="body"><p>Returns an instance of a <b>FixedNumber</b> for <i>value</i> as a <i>format</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">FixedNumber</span><span class="symbol">.</span><span class="method">fromString</span><span class="symbol">(</span> <span class="param">value</span> <span class="symbol">[</span> <span class="symbol">,</span> <span class="param">format</span> = "<span class="param">fixed</span>" <span class="symbol">]</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L281">source</a></div></div><div class="body"><p>Returns an instance of a <b>FixedNumber</b> for <i>value</i> as a <i>format</i>. The <i>value</i> must not contain more decimals than the <i>format</i> permits.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">FixedNumber</span><span class="symbol">.</span><span class="method">fromValue</span><span class="symbol">(</span> <span class="param">value</span> <span class="symbol">[</span> <span class="symbol">,</span> <span class="param">decimals</span> = <span class="param">0</span> <span class="symbol">[</span> <span class="symbol">,</span> <span class="param">format</span> = "<span class="param">fixed</span>" <span class="symbol">]</span> <span class="symbol">]</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L267">source</a></div></div><div class="body"><p>Returns an instance of a <b>FixedNumber</b> for <i>value</i> with <i>decimals</i> as a <i>format</i>.</p>
|
|
|
|
</div></div><a name="FixedNumber--properties"></a><h2 class="show-anchors"><div>Properties<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedNumber--properties"></a></div></div></h2>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">fixednumber</span><span class="symbol">.</span><span class="method">format</span><div class="anchors"></div></div><div class="body"><p>The <a href="/v5/api/utils/fixednumber/#FixedFormat">FixedFormat</a> of <i>fixednumber</i>.</p>
|
|
|
|
</div></div><a name="FixedNumber--methods"></a><h2 class="show-anchors"><div>Methods<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedNumber--methods"></a></div></div></h2>
|
|
<a name="FixedNumber--methods--math-operations"></a><h3 class="show-anchors"><div>Math Operations<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedNumber--methods--math-operations"></a></div></div></h3>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">fixednumber</span><span class="symbol">.</span><span class="method">addUnsafe</span><span class="symbol">(</span> <span class="param">otherValue</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L203">source</a></div></div><div class="body"><p>Returns a new FixedNumber with the value of <i>fixedvalue</i> <b>+</b> <i>otherValue</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">fixednumber</span><span class="symbol">.</span><span class="method">subUnsafe</span><span class="symbol">(</span> <span class="param">otherValue</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L210">source</a></div></div><div class="body"><p>Returns a new FixedNumber with the value of <i>fixedvalue</i> <b>-</b> <i>otherValue</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">fixednumber</span><span class="symbol">.</span><span class="method">mulUnsafe</span><span class="symbol">(</span> <span class="param">otherValue</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L217">source</a></div></div><div class="body"><p>Returns a new FixedNumber with the value of <i>fixedvalue</i> <b>×</b> <i>otherValue</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">fixednumber</span><span class="symbol">.</span><span class="method">divUnsafe</span><span class="symbol">(</span> <span class="param">otherValue</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L224">source</a></div></div><div class="body"><p>Returns a new FixedNumber with the value of <i>fixedvalue</i> <b>÷</b> <i>otherValue</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">fixednumber</span><span class="symbol">.</span><span class="method">round</span><span class="symbol">(</span> <span class="symbol">[</span> <span class="param">decimals</span> = <span class="param">0</span> <span class="symbol">]</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L232">source</a></div></div><div class="body"><p>Returns a new FixedNumber with the value of <i>fixedvalue</i> rounded to <i>decimals</i>.</p>
|
|
|
|
</div></div><a name="FixedNumber--methods--conversion"></a><h3 class="show-anchors"><div>Conversion<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedNumber--methods--conversion"></a></div></div></h3>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">fixednumber</span><span class="symbol">.</span><span class="method">toFormat</span><span class="symbol">(</span> <span class="param">format</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/">FixedNumber</a></span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L262">source</a></div></div><div class="body"><p>Returns a new FixedNumber with the value of <i>fixedvalue</i> with <i>format</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">fixednumber</span><span class="symbol">.</span><span class="method">toHexString</span><span class="symbol">(</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns">string</span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L253">source</a></div></div><div class="body"><p>Returns a <a href="/v5/api/utils/bytes/#HexString">HexString</a> representation of <i>fixednumber</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">fixednumber</span><span class="symbol">.</span><span class="method">toString</span><span class="symbol">(</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns">string</span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L251">source</a></div></div><div class="body"><p>Returns a string representation of <i>fixednumber</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">fixednumber</span><span class="symbol">.</span><span class="method">toUnsafeFloat</span><span class="symbol">(</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns">float</span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L260">source</a></div></div><div class="body"><p>Returns a floating-point JavaScript number value of <i>fixednumber</i>. Due to rounding in JavaScript numbers, the value is only approximate.</p>
|
|
|
|
</div></div><a name="FixedNumber--methods--inspection"></a><h3 class="show-anchors"><div>Inspection<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedNumber--methods--inspection"></a></div></div></h3>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">FixedNumber</span><span class="symbol">.</span><span class="method">isFixedNumber</span><span class="symbol">(</span> <span class="param">value</span> <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns">boolean</span><div class="anchors"><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L344">source</a></div></div><div class="body"><p>Returns true if and only if <i>value</i> is a <b>FixedNumber</b>.</p>
|
|
|
|
</div></div><a name="FixedFormat"></a><a name="FixedNumber--FixedFormat"></a><h2 class="show-anchors"><div>FixedFormat<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedFormat"></a></div></div></h2><p>A <b>FixedFormat</b> is a simple object which represents a decimal (base-10) Fixed-Point data representation. Usually using this class directly is uneccessary, as passing in a <a href="/v5/api/utils/fixednumber/#FixedFormat--strings">Format Strings</a> directly into the <a href="/v5/api/utils/fixednumber/">FixedNumber</a> will automatically create this.</p>
|
|
|
|
<a name="FixedFormat--strings"></a><a name="FixedNumber--FixedFormat--FixedFormat--strings"></a><h3 class="show-anchors"><div>Format Strings<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedFormat--strings"></a></div></div></h3><p>A format string is composed of three components, including signed-ness, bit-width and number of decimals.</p>
|
|
|
|
<p>A signed format string begins with <code class="inline">fixed</code>, which an unsigned format string begins with <code class="inline">ufixed</code>, followed by the width (in bits) and the number of decimals.</p>
|
|
|
|
<p>The width must be conguent to 0 mod 8 (i.e. <code class="inline">(width % 8) == 0</code>) and no larger than 256 bits and the number of decimals must be no larger than 80.</p>
|
|
|
|
<p>For example:</p>
|
|
|
|
<p><ul><li><b>fixed128x18</b> is signed, 128 bits wide and has 18 decimals; this is useful for most purposes </li><li><b>fixed32x0</b> is signed, 32 bits wide and has 0 decimals; this would be the same as a <code class="inline">int32_t</code> in C </li><li><b>ufixed32x0</b> is unsigned, 32 bits wide and has 0 decimals; this would be the same as a <code class="inline">uint32_t</code> in C </li><li><b>fixed</b> is shorthand for <code class="inline">fixed128x18</code> </li><li><b>ufixed</b> is shorthand for <code class="inline">ufixed128x18</code> </li></ul></p>
|
|
|
|
<a name="FixedNumber--FixedFormat--creating-instances"></a><h3 class="show-anchors"><div>Creating Instances<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedNumber--FixedFormat--creating-instances"></a></div></div></h3>
|
|
<a name="FixedNumber-from"></a><div class="property show-anchors"><div class="signature"><span class="path">FixedFormat</span><span class="symbol">.</span><span class="method">from</span><span class="symbol">(</span> <span class="param">value</span> = "<span class="param">fixed128x18</span>" <span class="symbol">)</span> <span class="arrow">⇒</span> <span class="returns"><a href="/v5/api/utils/fixednumber/#FixedFormat">FixedFormat</a></span><div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedNumber-from"></a><a class="source" href="https://github.com/ethers-io/ethers.js/blob/ethers-v5-beta/packages/bignumber/src.ts/fixednumber.ts#L134">source</a></div></div><div class="body"><p>Returns a new instance of a <b>FixedFormat</b> defined by <i>value</i>. Any valid <a href="/v5/api/utils/fixednumber/#FixedFormat--strings">Format Strings</a> may be passed in as well as any object which has any of <code class="inline">signed</code>, <code class="inline">width</code> and <code class="inline">decimals</code> defined, including a <a href="/v5/api/utils/fixednumber/#FixedFormat">FixedFormat</a> object.</p>
|
|
|
|
</div></div><a name="FixedNumber--FixedFormat--properties"></a><h3 class="show-anchors"><div>Properties<div class="anchors"><a class="self" href="/v5/api/utils/fixednumber/#FixedNumber--FixedFormat--properties"></a></div></div></h3>
|
|
<div class="property show-anchors"><div class="signature"><span class="path">fixedFormat</span><span class="symbol">.</span><span class="method">signed</span> <span class="arrow">⇒</span> <span class="returns">boolean</span><div class="anchors"></div></div><div class="body"><p>The signed-ness of <i>fixedFormat</i>, true if negative values are supported.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">fixedFormat</span><span class="symbol">.</span><span class="method">width</span> <span class="arrow">⇒</span> <span class="returns">number</span><div class="anchors"></div></div><div class="body"><p>The width (in bits) of <i>fixedFormat</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">fixedFormat</span><span class="symbol">.</span><span class="method">decimals</span> <span class="arrow">⇒</span> <span class="returns">number</span><div class="anchors"></div></div><div class="body"><p>The number of decimal points of <i>fixedFormat</i>.</p>
|
|
|
|
</div></div><div class="property show-anchors"><div class="signature"><span class="path">fixedFormat</span><span class="symbol">.</span><span class="method">name</span> <span class="arrow">⇒</span> <span class="returns">string</span><div class="anchors"></div></div><div class="body"><p>The name of the <i>fixedFormat</i>, which can be used to recreate the format and is the string that the Solidity language uses to represent this format.</p>
|
|
|
|
</div></div><div class="definition"><div class="term"><b><i>"fixed"</i></b></div><div class="body"><p>A shorthand for <code class="inline">fixed128x80</code>.</p>
|
|
|
|
</div></div>
|
|
|
|
<div class="footer">
|
|
<div class="nav previous"><a href="/v5/api/utils/encoding/"><span class="arrow">←</span>Encoding Utilities</a></div>
|
|
<div class="nav next"><a href="/v5/api/utils/hashing/">Hashing Algorithms<span class="arrow">→</span></a></div>
|
|
</div>
|
|
<div class="copyright">The content of this site is licensed under the <a href="https://choosealicense.com/licenses/cc-by-4.0/">Creative Commons License</a>. Generated on June 8, 2020, 10:6pm.</div>
|
|
</div>
|
|
<script src="/v5/static/script.js" type="text/javascript"></script>
|
|
</body>
|
|
</html>
|